简述Servlet的基本概念
Posted xj619
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简述Servlet的基本概念相关的知识,希望对你有一定的参考价值。
Servlet的基本概念
Servlet的概念
http协议作用于客户端-服务端。由客户端发送请求(Request),服务器端接收到数据之后,向客户端发送响应(Response),这就是请求-响应模式。但是请求响应必须要有一个中介来处理,这个中介就是服务器端小程序叫做servlet。
Servlet的开发使用
创建servlet必须使用一个抽象类HttpServlet,而抽象类HttpServlet没有抽象方法,是一个模板设计模式的类,模板方法是service()。使用该类必须要导入Tomcat服务器提供的包(我使用的是Tomcat8 导入的包是mysql-connector-java-5.1.25),具体的导入方式
导入了就可以正常写servlet。
不过这里只是能正常写servlet的代码而已,当然代码作用时,需要有请求响应的数据交流,所以这里还必须设置好处理路径,处理路径配置在web.xml文件中进行,该文件在“webContent/WEB-INF”目录下,具体配置:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 3 <display-name>MvcPro</display-name> 4 <welcome-file-list> 5 <welcome-file>index.html</welcome-file> 6 <welcome-file>index.htm</welcome-file> 7 <welcome-file>index.jsp</welcome-file> 8 <welcome-file>default.html</welcome-file> 9 <welcome-file>default.htm</welcome-file> 10 <welcome-file>default.jsp</welcome-file> 11 </welcome-file-list> 12 <!-- 在容器中配置出路径对应的servlet --> 13 <servlet> 14 <!-- 配置名称--> 15 <servlet-name>empServlet</servlet-name> 16 <!-- 配置指定的路径,对应的servlet实现类的文件所在位置 --> 17 <servlet-class>com.testmvc.pro.empServlet.EmpServlet</servlet-class> 18 </servlet> 19 <!-- 定义empServlet的映射路径 --> 20 <servlet-mapping> 21 <!-- 要定义的路径的配置名称,必须一致 --> 22 <servlet-name>empServlet</servlet-name> 23 <!-- 映射路径的名称编码的时候就使用emp代替 com.testmvc.pro.empServlet.EmpServlet--> 24 <url-pattern>/emp/*</url-pattern> 25 </servlet-mapping> 26 </web-app>
Servlet的生命周期
servlet的生命周期有5个阶段:加载-->实例化-->初始化-->请求处理-->销毁,其中加载阶段不可见,初始化的时候会调用init方法,服务阶段调用service方法,销毁阶段调用destroy方法。
Servlet的运行机制
因为servlet继承了没有抽象方法的HttpServlet类(没有抽象方法,但是有很多其他方法),可以通过调用对应的service()模板方法来判断客户端的请求,从而调用对应的方法(doget、dopost、dodelete...等方法)。当然我们也可自己重写父类的方法,这里必须注意,重写了父类的方法之后,将不会调用父类模板里面的方法。所以在没有特殊需求的情况之后一般不要去重写。当然如果你想添加一点小的判定可以重写的时候通过super调用父类的同名方法。
以上是关于简述Servlet的基本概念的主要内容,如果未能解决你的问题,请参考以下文章