Servlet是一个用于扩展服务器端功能的服务器端组件技术
1、定义类实现Servlet接口
- public class HelloServlet implements Servlet {
- //在Servlet类实例化后自动执行的方法,这个方法在servlet对象的整个生命周期中运行且只运
- 行一次。主要用于实现Servlet的初始化操作,例如读取配置文件中当前Servlet的初始化配置信息。
- 当服务器调用该方法时会将当前servlet的初始化配置存储在cnfig对象中
- public void init(ServletConfig config) throws ServletException {
- this.config=config; //缓存config对象
- }
- //用于供其它位置获取config对象时进行调用
- private ServletConfig config;
- public ServletConfig getServletConfig() {
- return config;
- }
- //在init方法执行后,服务器调用service方法用于生成针对客户端的响应信息。服务器采用多
- 线程的方式运行service方法,一个客户端请求对应一个线程。服务器调用service方法时会传入2个参
- 数对象,req用于封装客户端的请求信息,resp用于封装服务器的响应信息。Servlet默认采用单实例
- 多线程的方式对客户端浏览器请求提供服务,service执行完成后不会自动销毁,而是常驻内存
- public void service(ServletRequest req, ServletResponse resp) throws
- ServletException, IOException {
- }
- //一般供获取当前servlet对象的说明信息
- public String getServletInfo() {
- return "当前servlet对象的说明信息";
- }
- //在servlet对象销毁之前执行,用于进行资源回收。一个servlet对象在整个生命周期运行且只
- 运行一次。servlet对象默认是常驻内存,只有在服务器关闭或者内存严重不足而当前Servlet对象被
- GC机制选中时才会被销毁
- public void destroy() {
- }
- }
2、在web.xml中针对servlet类进行配置,将servlet和一个或者多个地址建立对应关系
- "1.0" encoding="UTF-8"?>
- <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
- http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
- id="WebApp_ID" version="4.0"> xml文件头用于说明当前xml文件的语法规则
- <servlet> 将servlet类和一个名称建立对应关系
- <servlet-name>helloservlet-name>
- <servlet-class>com.yan.action.HelloServletservlet-class>
- servlet>
- <servlet-mapping> 将一个servlet名称和请求地址建立对应关系
- <servlet-name>helloservlet-name>
- <url-pattern>/hello.dourl-pattern>
- servlet-mapping>
- web-app>