• JavaWeb基础学习Servlet


    一、流程实现

    /**
    * 实现Servlet
    *  1. 创建普通Java类
    *  2. 实现Servlet的规范,继承HttpServlet类
    *  3. 重写service方法,用来处理请求
    *  4. 设置注解,指定访问的路径
    */
    
    //@WebServlet(name = "Servlet01",value = "/ser01")
    //@WebServlet(name = "Servlet01",value = {"/ser01","/ser001"})
    //@WebServlet(name = "Servlet01",urlPatterns = "/ser01")
    //@WebServlet(name = "Servlet01",urlPatterns = {"/ser01","/ser001"})
    @WebServlet("/ser01") // 路径中的"/"不要忘记写!
        public class Servlet01 extends HttpServlet {
       
            @Override
            protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       
                // 打印内容在控制台
                System.out.println("Hello Servlet!");
                // 通过流输出数据到浏览器
                resp.getWriter().write("Hello Servlet!");
            }
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    二、三种方式

    1、继承GenericServlet类

    /**
     * 继承GenericServlet类
     */
    @WebServlet("/ser02")
    public class Servlet02 extends GenericServlet {
       
        @Override
        public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
       
            System.out.println("继承GenericServlet类...");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2、实现Servlet接口

    /**
     * 实现Servlet接口
     */
    @WebServlet("/ser03")
    public class Servlet03 implements Servlet {
       
        @Override
        public void init(ServletConfig servletConfig) throws ServletException {
       
    
        }
    
        @Override
        public ServletConfig getServletConfig() {
       
            return null;
        }
    
        @Override
        public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
       
            System.out.println("实现Servlet接口...");
        }
    
        @Override
        public String getServletInfo() {
       
            return null;
        }
    
        @Override
        public void destroy() {
       
    
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    3、重写get、post方法

    @WebServlet("/ser04")
    public class Servlet04 extends HttpServlet {
       
        /*@Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("service...");
        }*/
    
        /**
         * Get请求调用的方法
         * @param req
         * @param resp
         * @throws ServletException
         * @throws IOException
         */
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       
            System.out.println("Get请求...");
            // 代码
        }
    
        /**
         * Post请求调用的方法
         * @param req
         * @param resp
         * @throws ServletException
         * @throws IOException
         */
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException 
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
  • 相关阅读:
    go语言基本操作---三
    UE4 C++设计模式:命令模式(Command Pattern)
    重学C++重构你的C++知识体系 升级版 学习笔记
    Redis的主从复制
    ts视频文件转为mp4(FFmpeg)
    Windows原理深入学习系列-强制完整性检查
    C语言进阶C++知识点补充(二)
    leetCode 718.最长重复子数组 动态规划 + 优化(滚动数组)
    Pandas统计列NaN值,这4步轻松搞定!
    6 Flink同步
  • 原文地址:https://blog.csdn.net/qq_52992141/article/details/127756655