zoukankan      html  css  js  c++  java
  • Servlet创建的三种方式

    关于servlet的创建,我们有三种方式。

    • 实现Servlet接口

    • 继承GenericServlet

    • 继承HttpServlet

    1 实现Servlet接口

    实现五个抽象方法

    package com.zjw;
    
    import javax.servlet.*;
    import java.io.IOException;
    
    public class MyServlet implements Servlet {
    
        public MyServlet() {
            System.out.println("MyServlet构造方法....");
        }
    
        @Override
        public void init(ServletConfig config) throws ServletException {
            System.out.println("init....");
        }
    
        @Override
        public ServletConfig getServletConfig() {
            System.out.println("getServletConfig....");
            return null;
        }
    
        @Override
        public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
            System.out.println("service....");
        }
    
        @Override
        public String getServletInfo() {
            System.out.println("getServletInfo....");
            return null;
        }
    
        @Override
        public void destroy() {
            System.out.println("destroy....");
        }
    }
    

    2 继承GenericServlet

    实现service抽象方法

    package com.zjw;
    
    import javax.servlet.GenericServlet;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import java.io.IOException;
    
    public class GenServlet extends GenericServlet {
        @Override
        public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
            System.out.println("哈哈哈");
        }
    }
    
    

    3 继承HttpServlet

    需要重写doGet、doPost方法,否则请求不被允许。

    package com.zjw;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    public class HttpsServlet extends HttpServlet {
    
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("这个是get请求");
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("这个是post请求");
        }
    }
    
    

    4 web.xml配置

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
        <servlet>
            <servlet-name>my</servlet-name>
            <servlet-class>com.zjw.MyServlet</servlet-class>
        </servlet>
        <servlet>
            <servlet-name>gs</servlet-name>
            <servlet-class>com.zjw.GenServlet</servlet-class>
        </servlet>
        <servlet>
            <servlet-name>hs</servlet-name>
            <servlet-class>com.zjw.HttpsServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>my</servlet-name>
            <url-pattern>/myservlet</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>gs</servlet-name>
            <url-pattern>/gs</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>hs</servlet-name>
            <url-pattern>/hs</url-pattern>
        </servlet-mapping>
    </web-app>
    
    --------------- 我每一次回头,都感觉自己不够努力,所以我不再回头。 ---------------
  • 相关阅读:
    Can you answer these queries?(HDU4027+势能线段树)
    Tunnel Warfare(HDU1540+线段树+区间合并)
    Computer(HDU2196+树形dp+树的直径)
    Anniversary party(树上dp+HDU1520)
    2018 Multi-University Training Contest 1-1002 -Balanced Sequence(括号匹配+贪心)
    暑假集训——cf热身赛部分题有感加其题解
    Educational Codeforces Round 47 (Rated for Div. 2) 题解
    计蒜客 Goldbach Miller_Rabin判别法(大素数判别法)
    多种方法过Codeforces Round #270的A题(奇偶法、打表法和Miller_Rabin(这个方法才是重点))
    Codeforces Round #494 (Div. 3)
  • 原文地址:https://www.cnblogs.com/zjw-blog/p/13890534.html
Copyright © 2011-2022 走看看