• 基础面试题(三)


    1. http 中get 和 post请求的区别:

      get请求提交的数据会在地址栏显示出来,post请求不会在地址栏显示出来。get提交请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,多个参数用&连接;post提交的数据是放置在HTTP包的包体中。

      get请求由于浏览器对地址栏的长度的限制而导致对传输的数据有限制。而post请求不会因为地址长度限制而导致传输数据限制。

      post的安全性要比get的安全性高。由于数据是会在地址中呈现,所以可以通过历史记录找到密码等关键信息。

    2.Session 和 Cookie 的区别:

      session 和 cookie 都是会话跟踪技术。cookie通过在客户端记录信息确定用户身份,session通过在服务器端记录信息确定用户身份。但是session 的实现依赖于cookie,sessionId(session的唯一标识需要存放在客户端)。

      “Cookie不安全,Session占内存”cookie数据存放在客户的浏览器上,session数据放在服务器上。cookie不是很安全,别人可以分析存在本地的cookie并进行cookie欺骗。session会在一定时间内保存在服务器上,当访问增多,会比较占用服务器的性能。单个cookie保存的数据不能超过4k,很多浏览器都限制一个站点最多保持20个cookie。

      所以,总结来说。将登陆信息等重要信息存放为session,其他信息如果需要保留,可以存放在cookie中。

    3.Servlet的理解

      java Servlet ,使用java编写的服务端的程序。而这些 Servlet 都要实现这些接口,主要功能在于交互式地浏览和修改数据,生成动态web内容。

      HttpServlet 重写doGet 和 doPost 方法或者重写service方法完成对get 和 post请求。

    4.Servlet 的生命周期

      

    5.Servlet API 中forward() 和 redirect() 的区别

      forward()是服务器端的转向而redirect()是客户端的跳转。

      使用forward()浏览器的地址不会发生改变,而redirect()会发生改变。

      forward()是一次请求中完成,而redirect()是重新发起请求。

      forward()是在服务器端完成的,而不用客户端重新发起请求,效率较高。

    6.MVC 各个部分都有哪些技术来实现

      M(model)模型   例如:javabean

      V(view)视图   例如:html 、jsp

      C(control)控制器   例如: servlet

        总的来说,MVC架构中,数据存储在model中,数据的显示依靠View控制,数据的变化使用Controller控制。三者各思其职。使用MVC模式的程序的结构相比未使用MVC框架的程序,结构更清晰,代码易读。

  • 相关阅读:
    zookeeper
    消息中间件介绍
    Java实现动态代理的两种方式
    深入理解Java内存模型
    消息中间件(一)MQ详解及四大MQ比较
    synchronized关键字详解及分析锁升级过程
    JDK1.6的Synchronized底层优化(偏向锁、轻量级锁)
    分布式通信-tcp/ip socket
    技术点
    大众点评 cat
  • 原文地址:https://www.cnblogs.com/fzzzjjj/p/11277761.html
Copyright © 2020-2023  润新知