Servlet笔记
Servlet简介
Servlet是什么?
Servlet是Java Servlet的简称,Servlet即Server Applet,Java服务程序。
Java Servlet是运行在Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。
简单点说,Servlet的作用就是负责接收和响应客户端的请求。
Servlet可以使用javax.servlet和javax.servlet.http包创建。
创建Servlet
Servlet接口是Servlet的基类,其中的service()方法负责接收和响应客户端发来的请求。
GenericServlet类实现了Servlet接口,并将Servlet接口中的方法做了空实现,只将service()方法作为抽象方法。可以继承GenericServlet类,并重写service()方法,从而创建一个Servlet。
HttpServlet类继承了GenericServlet类,其中service()方法处理了doGet()和doPost()等方法。所以继承HttpServlet类时,只需要重写doGet()和doPost()方法。
实现HttpServlet类,重写doGet()和doPost()方法。
package com.zyz.servlet;
import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
继承HttpServlet类后,还需要在web.xml文件中配置该Servlet处理那些请求。
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.zyz.servlet.MyServlet</servlet-class>
<init-param>
<param-name>key</param-name>
<param-value>value</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
配置说明如下:
标签 | 描述 |
---|---|
<servlet> | 注册一个servlet |
<servlet-name> | 该servlet的名称 |
<servlet-class> | 该servlet对应的类 |
<init-param> | 初始化参数,key-value形式 |
<load-on-startup> | 加载优先级 |
<servlet-mapping> | 该servlet映射的路径 |
<url-pattern> | 访问路径,必须以/开头 |
除了在web.xml中配置以外,还可以使用@WebServlet注解配置Servlet。
@WebServlet(name = "servlet名称",
description = "该servlet的描述",
urlPatterns = {
"/映射地址1", "/映射地址2"},
loadOnStartup = 1,
initParams = {
@WebInitParam(name = "键"