什么是Servlet?
servlet是基于java语言的web服务器端编程技术,servlet是运行在servlet容器中的java类,他能处理web客户的HTTP请求,并产生HTTP响应。
servlet对于请求的处理和响应过程分为一下几个步骤:
1.接收HTTP请求;
2.取得请求信息,包括请求头和请求参数数据;
3.调用其他Java类方法,完成具体的业务功能;
4.实现到其他web组件的跳转(包括重定向或请求转发);
5.生产HTTP响应(包括HTML或非HTML相应);
创建servlet的过程:
1.创建Java web项目;
2.创建servlet
3.实现doPost()或doGet()方法;
4.声明配置servlet;
5.部署运行servlet;
servlet的生命周期:初始化方法init() 处理请求的方法 servlet() destory()
servlet是多线程单例模式:什么时候创建,默认第一次访问servlet的创建,调用init();servlet()每次请求都会调用;destory() 服务器关闭的时候调用。
请求转发与重定向的区别:
1.请求转发只能将请求转发给同一个Web应用中的组件;而重定向不仅可以重定向到当前应用程序中的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,或者重定向到其他站点的资源;
2.重定向的访问过程结束后,浏览器地址栏中显示的URL会发生改变,由初始的URL地址变成重定向的目标URL;而请求转发过程结束后,浏览器地址栏保持初始的URL地址不变;
3.请求转发调用者与被调用者之间共享相同的request对象和response对象,它们属于同一个访问请求和响应过程;而重定向调用者与被调用者使用各自的request对象和response对象,它们属于两个独立的访问请求和响应过程。