一、Servlet概述
1.Java Servlet是基于Java的一种技术和标准,是独立于平台和协议,服务器端的java应用程序。与Applet相比。Applet运行在客户端,而Servlet运行在服务器端。
2.Java Servlet 是由web服务器进行加载的,Servlet 是通过Web服务器接收来自客户端的请求,执行某种功能,返回给客户端。(response和request)
3.servlet的基本流程:
(1)客户端向web服务器发起一个HTTP请求
(2)web服务器接收请求,交给Servlet容器。Servlet容器可以在主机的同一个进程,不同的进程或者其他的web服务主机的进程中启动来处理这个请求。
(3)servlet容器根据servlet的配置文档确定需要调动的servlet,并且把request,response对象传给他。
(4)servlet通过request对象获取客户的请求信息和其他信息,处理请求生成送回客户端的数据。servlet处理完请求之后把要返回的信息放在response对象。
(5)servlet完成请求处理后,servlet引擎会不断的刷新response,把控制权返回送给web服务器。
4. Servlet 也是JSP的基础。
5.Servlet的生命周期
Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:
①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
②装载并创建该Servlet的一个实例对象。
③调用Servlet实例对象的init()方法。
④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
6.创建Servlet
(1).继承HttpServlet抽象类
(2)重写适当的方法,重写doGet()、doPost()方法。
7.web.xml配置方法
如果正常直接创建Servlet,可以正常生成web.xml配置文件。但是如果改名的话要注意配置信息是否已经更改了。
(1)名称、类其他选项配置
<servlet>
<servlet-name>ServletDemo1</servlet-name>
<servlet-class>gacl.servlet.study.ServletDemo1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletDemo1</servlet-name>
<url-pattern>/servlet/ServletDemo1</url-pattern> // Servlet 的地址信息
</servlet-mapping>
(2)启动优先权 就是运行了之后加载的顺序。
a、欢迎页 也就是启动服务器进入的第一个页面
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
b、
<servlet>
<servlet-name>my</servlet-name>
<servlet-class>is.servelrt.liu.my</servlet-class>
<load-on-startup>5</load-on-startup> //第五个加载
</servlet>
(3)servlet的映射,使不同的方法访问这个Servlet
<servlet-mapping>
<servlet-name>my</servlet-name>
<url-pattern>/Test/*</url-pattern> //如果请求的路径中包含/Test/a 或者/Test/b 等都可以访问
</servlet-mapping>