1、 简述servlet的生命周期
1.加载类,通过调用构造方法进行实例化,构造方法必须为无参构造方法,只在第一次请求时创建实例。
2. 实例创建完毕后立马通过调用 init () 方法进行初始化。
3. 调用 service() 方法来处理客户端的请求。
4. 通过调用 destroy()方法终止(销毁)。
2、 简述Filter的作用?
filter用于拦截用户请求,能够对Servlet容器的请求和响应对象进行检查和修改,它在Servlet被调用之前检查Request对象, 修改Request Header和Request内容;在Servlet被调用之后检查Response对象,修改Response Header和Response内容。
3、 forward与redirect 的区别?
1.从地址栏显示来说:forward是服务器内部重定向,服务器直接访问目标地址的 url网址,把里面的东西读取出来,但是客户端并不知道,因此用forward的话,客户端浏览器的网址是不会发生变化的;redirect是服务器根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,所以地址栏显示的是新的地址。
2.数据共享:在定向过程中forward使用的是同一个request,可以共享;redirect不可以。
3. 请求转发:服务器内部跳转,特点:浏览器的地址栏不会发生变化,速度快
重定向:服务器外部跳转,特点:浏览器地址栏会改变,速度慢
5.本质上说:forward转发是服务器上的行为,而redirect是客户端行为
6.跳转次数:forward只有一次,redirect有两次
4、 servlet和jsp的区别?
1.jsp经编译后就变成了Servlet,jsp的代码在服务器端被编译成Servlet,并由java虚拟机JVM解释执行
2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.
3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.
4.Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的