基础面试题(三)

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框架的程序,结构更清晰,代码易读。

猜你喜欢

转载自www.cnblogs.com/fzzzjjj/p/11277761.html