zoukankan      html  css  js  c++  java
  • Java第四十二天,Servlet系列(五),Servlet 体系

    一、Servlet 体系

    Servlet

    GenericServlet ===> 实现 Servlet 接口的抽象类

    HttpServlet ===> 继承 GenericServlet 抽象类的子抽象类

    二、GenericServlet

    GenericServlet 实现了 Servlet 接口,而且将除了 service 方法外的其他方法都进行了空实现,即我们的自定义 Servlet 如果继承该抽象类,仅需实现 service 方法即可

    package web.servlet;
    
    import javax.servlet.*;
    import javax.servlet.annotation.WebServlet;
    import java.io.IOException;
    
    @WebServlet(urlPatterns = {"/first"})
    public class FirstServlet extends GenericServlet {
        
        @Override
        public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
            System.out.println("this is my first servlet!");
        }
    }
    

    三、HttpServlet (推荐)

    默认实现了判断 get 和 post 的逻辑,如果是 get,则执行 doGet();如果是 post,则执行 doPost();因此我们继承该类时需要复写 doPost() 方法

    package web.servlet;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    @WebServlet(urlPatterns = {"/first"})
    public class FirstServlet extends HttpServlet {
    
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("doGet......");
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("doPost......");
        }
    }
    

    四、urlPatterns 命名规则

    • /xxx
    • /xxx/xxx
    • 结合通配符( /* ,*.[后缀])
    package web.servlet;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    @WebServlet(urlPatterns = {"/first", "/first/one", "*.info", "/*"})
    public class FirstServlet extends HttpServlet {
    
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("doGet......");
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("doPost......");
        }
    }
    
    作者:蓝月

    -------------------------------------------

    个性签名:能我之人何其多,戒骄戒躁,脚踏实地地走好每一步

  • 相关阅读:
    css 的包含块 、负外边距,字体,文本行高
    从Excel中读取数据(python-xlrd)
    准确率(Precision),召回率(Recall)以及综合评价指标(F1-Measure)
    K-means算法-聚类
    用线性回归寻找到最佳拟合直线
    python多线程--优先级队列(Queue)
    python多线程--线程同步
    python多线程
    元组操作
    input()和raw_input()
  • 原文地址:https://www.cnblogs.com/viplanyue/p/13573682.html
Copyright © 2011-2022 走看看