1.HashMap和HashTable的区别?
- HashMap线程不安全,HashTable是线程安全的,被sychoronized修饰。
- 效率:HashMap没有被sychoronized修饰,效率会高一些。HashTable在代码中已经淘汰不怎么使用。
2.Post请求和Get请求的区别?
- Get请求没有Post请求安全,在url中用?字段和value进行相关的传输,Post会把数据封装到请求体发给服务端。
- Post请求的重点向服务器发送资源,get向服务器获取资源。
- Post适用于传输大文件,Get长度有限适用于小文件。
- get请求只支持Ascall码字符,向服务器传中文可能会乱码,Post支持标准字符集,可以传递中文。
3.Cookie和Session的区别?
- Cookie是web服务器发送给浏览器的一块信息,是客户端的,客户端可以进行禁用。
- Session是存储在web服务器端的一块信息,session对象存储特定用户会话。
区别: - 无论客户端做怎样的设置,session都能正常工作,当客户端用禁用cookie,就无法使用。
- 在存储数据方面:session可以存储任意的java对象, cookie只能存储String类型的对象.
4.Filter 的生命周期?
- 用init方法进行初始化实例
- 调用doFilter()进行处理,回调
- destory()方法进行销毁实例。
5.拦截器(Interceptor)和Filter(过滤器的区别)?
- Interceptor只对Action请求起作用,Filter对所有的请求起作用。
- Interceptor可以多次调用,Filter只可以调用一次。
- 在Action生命周期中,**Filter依赖于servlet,**拦截器没有
- Filter是回调函数实现的,Interceptor是基于反射实现的。
6.Filter的应用?
- 细粒度的访问控制
- 统计每个ip地址的访问次数
- 实现全站的统一编码
- 实现页面静态化
7.Servlet和jsp的区别?
- jsp本质上是一个Servlet,它们都是一个java文件
2.根据MVC设计思想: servlet侧重于控制层,jsp是html文件中内嵌java代码。侧重于显示,视图层。
8.Servlet执行流程?
当服务器启动时候,通过init()方法初始化servlet,然后在通过doGet或者doPost方法进行相关的请求服务,最后通过destory()方法进行销毁
jsp四大作用域,九大内置对象,三大指令?
- PageContext page域当前页面有效
- Application context域
- Request域 一次请求有效
- session域 一次会话中有效