1. cookie与session之间的区别是什么?
session表示的是会话,session在一定时间内会保存在服务器端。cookie是保存在客户端浏览器上的,从安全性上来讲session要更为安全,从性能的角度来分析使用cookie性能会更好,因为session会占用服务器端内存。
2. Web应用程序的四大作用域是什么?
- page对象代表的事一个页面相关的对象和属性,一个页面由一个编译好的JavaServlet类表示,它既包含servlet又包含被编译成servlet的jsp页面。
- request对象代表了与Web客户端发出的一个请求相关联的对象和属性。
- session是代表与用于某个Web客户机一个与用户体验有关的对象和属性。
- application代表了整个应用程序相关联的对象和属性。
3. Web应用程序中的会话跟踪技术是什么?
由于HTTP事务是无状态的,因此必须采取特殊措施使得服务器在系列事务期间能够继续记住和确定特定的用户,这就是会话跟踪技术的概念。会话跟踪技术共有四种:
- 隐藏表单域:这种方式特别适合不需要存储大量数据的会话应用。
- url重写:url重写就是将参数附加到url后边,如果客户端禁用了cookie那么久可以使用url重写的技术实现cookie传递。
- cookie技术:cookie可以保存session的id,并且每次请求都会带上cookie。
- session技术,通过使用sessionId用来标识一个客户端的请求。
4. session传递的方式有哪些?
一种是通过cookie保存,服务器会将sessionid保存到cookie中,然后发送给浏览器保存,第二种方式是通过url重写的方式传递session,这种方式非常适合禁用了cookie的场景。
5. MVC设计模式是什么?它有什么优缺点?
MVC设计模式是一种架构风格,它就是指在进行程序设计的时候我们可以分为Model、View、Controller这三个模块,Model表示的是模型,它实质上是一个JavaBean,View是一个视图,它提供了可交互的用户界面,并它实质上是jsp或是html,Controller用于处理用于请求,它实质上就是一个servlet。
MVC设计模式的优点:
- 可以保证各个组件各司其职,达到互不干扰的效果。
- 有利于开发中的分工。
- 使用MVC构建的引用可重用度高。
MVC设计模式的缺点:
- 系统结构和实现比较复杂。
- 视图与控制器之间过于紧密。
- 不适用于小型甚至中型应用程序。