Servlet简单使用

说明

使用 Servlet ,有两个步骤:

  1. 实现Servlet类
  2. 配置Servlet生效

配置方式

配置 Servlet 生效有两种方式:

  • 传统方式,配置到 web.xml 中
  • 注解方式。好处: 使用更简单方便

方式一:传统方式

public class HelloServlet extends HttpServlet {
    public HelloServlet(){
        System.out.println("构造方法");
    }

    @Override
    public void init(ServletConfig config) throws ServletException {
        System.out.println("init()");
    }
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html; charset=UTF-8");
        PrintWriter pw=resp.getWriter();
        pw.write("get请求");
    }
}

配置 web.xml

<!-- 配置Servlet -->
<servlet>
    <!-- 起别名 -->
    <servlet-name>HelloServlet</servlet-name>
    <!-- Servlet全路径 -->
    <servlet-class>top.malaoshi.HelloServlet</servlet-class>
</servlet>
<!-- 配置Servlet映射 -->
<servlet-mapping>
    <!-- 上面定义的别名 -->
    <servlet-name>HelloServlet</servlet-name>
    <!-- 映射url,访问 http://ip:port/contextpath/hello,tomcat将请求转交给该Servlet -->
    <url-pattern>/hello</url-pattern>
</servlet-mapping>

映射多个url

<url-pattern>/hello</url-pattern>
<url-pattern>/test</url-pattern>

方式二:注解方式

@WebServlet(urlPatterns = "/hello2")
public class HelloServlet2 extends HttpServlet {
    public HelloServlet2(){
        System.out.println("构造方法");
    }

    @Override
    public void init(ServletConfig config) throws ServletException {
        System.out.println("init()");
    }
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html; charset=UTF-8");
        PrintWriter pw=resp.getWriter();
        pw.println("get请求");
    }
}

映射多个url

@WebServlet(urlPatterns = {"/hello2","/test"})

常见错误

多个Servlet的url-pattern 不能重复,否则报错


原文出处:/show_1IXrrX1q3pH.html