zoukankan      html  css  js  c++  java
  • servlet和http请求协议

    Servlet的体系结构

    HttpServlet --抽象类

            |  继承

    GenericServlet --抽象类

            |  实现

    Servlet --接口

    GenericServlet :将Servlet接口中的其他方法变成了默认空实现,只有将service()方法作为抽象

      如果将来定义servlet类时不用实现Servlet接口而是去继承GenericServlet类时,不用重写其他的方法,只用重写service()方法即可

      ServletDemo2(继承GenericServlet类) :

    package wtf.servlet;
    
    import javax.servlet.GenericServlet;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.annotation.WebServlet;
    import java.io.IOException;
    
    @WebServlet("/demo2")
    public class ServletDemo2 extends GenericServlet {
        @Override
        public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
            System.out.println("GenericServlet");
        }
    }

    HttpServlet:对http协议的一种封装,简化操作

      如果将来定义servlet类时不用实现Servlet接口而是去继承HttpServlet类时,不用重写其他的方法,而只需根据请求类型来重写doGet或者是doPost方法即可

      HttpServlet图解:

       ServletDemo3(继承HttpServlet类) :

    package wtf.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("/demo3")
    public class ServletDemo3 extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("use get");
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("use post");
        }
    }

      login.html(分别使用doGet和doPost方法):

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>登录</title>
    </head>
    <body>
    <!--这里method如果是get,控制台会输出的是use get,method如果是post,控制台会输出的是use post-->
        <form action="/demo3" method="post">
            <input name="username">
            <input type="submit" value="提交">
        </form>
    </body>
    </html>

  • 相关阅读:
    RegExp正则表达式心得 1 -分解MIME格式
    转载:ASP.Net性能优化(作者:刘鉴平)
    asp.Net中的多文件上传[载]
    我做的程序
    C#代码执行者1.0
    wordwrap,wordbreak,whitespace,textoverflow的区别和用法[转]
    SQL里面Case的用法
    richTextBox中插入图片的方法
    关于CodeDom的测试
    关系数据库的索引技术
  • 原文地址:https://www.cnblogs.com/KeepCalmAndNeverSayNever/p/12827438.html
Copyright © 2011-2022 走看看