Servlet是一个基于Java技术的Web组件,用于处理Web请求,生成动态内容,运行于服务器端,由Servlet容器创建并调用
创建Servler
-
继承HttpServler对象
-
重写doPost()或者doGet()方法
部署servlet
1.配置web.xml
<servlet>
<servlet-name>servletTest</servlet-name>
<servlet-class>servlet.ServletTest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletTest</servlet-name>
<url-pattern>/servletTest.html</url-pattern>
</servlet-mapping>
2.WebServlet注解
package Servlet;
import javax.servlet.*;
import java.io.IOException;
@WebServlet("/FirstServlet") //注解表示servlet默认路径可以省略上面servlet部署
public class FirstServlet implements Servlet {
//用于初始化,service第一次被访问时执行一次
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("执行了init");
}
servlet接口常用方法
servlet接口定义了所有servlet主键必须实现的方法
目录 | 说明 |
---|---|
void init(ServletConfig config) | Servlet对象的初始化方法 由Servlet容器调用 |
void service( ServletRequest req, ServletResponse res) | 处理客户端的请求 由Servlet容器调用 |
void destroy() | 释放Servlet对象所使用的资源 由Servlet容器调用 |
ServletConfig getServletConfig() | 返回传递给init()方法的ServletConfig对象,该对象包含此Servlet的初始化和启动参数 |
String getServletInfo() | 返回字符串文本形式的Servlet相关信息 |
GenericServlet抽象类
抽象类GenerivServlet定义了通用的不依赖于协议的servlet
目录 | 说明 |
---|---|
public void init(ServletConfig config) | 实现Servlet接口中init(ServletConfig config)方法将ServletConfig实例进行保存以备用 |
public void init() | 用于在子类中重写,以实现用户订制的初始化工作 |
public String getInitParameter(String name) | 返回web.xml中名称为name的初始化参数的值 |
public ServletContext getServletContext() | 返回ServletContext对象的引用 |
HttpServlet抽象类
抽象类HttpServlet继承自GenerivServlet类,除了具有GenerivServlet类相似的方法,还针对http提供了相关的技术支持,能够对http的post、get等请求进行差异化处理
目录 | 说明 |
---|---|
public void service( ServletRequest req, ServletResponse res) | 实现GenericServlet抽象类中的service()方法,根据请求方法的类型调用相应的doGet()或doPost方法 |