简述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调用父类的同名方法。
上一篇: electron培训 ppt
下一篇: 我没看见
推荐阅读
-
简述seo服务运用什么技术(学seo需要懂网站的技术)
-
node项目如何部署(简述vue和javascript的关系)
-
面向对象设计思想的特点(简述面向对象的程序设计思想)
-
hadoop编程的介绍(简述hadoop搭建步骤)
-
java 面向对象的理解(简述java面向对象的三个基本特征)
-
ThinkPHP3.2.2的插件控制器功能简述
-
SpringBoot 源码解析 (六)----- Spring Boot的核心能力 - 内置Servlet容器源码分析(Tomcat)
-
Servlet | Request 对象获取请求参数的通用方式
-
jsp和servlet操作mysql中文乱码问题的解决办法
-
解决cannot be cast to javax.servlet.Filter 报错的问题