zoukankan      html  css  js  c++  java
  • Servlet的 GenericServlet 和 HttpServlet

    一、GenericServlet?

    servlet 是一个接口  下面有两个抽象类  GenericServlet 和 HttpServlet  需要被 继承并重写其中的方法。
    package javaweb;
    
    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("/zxh")  //注解配置  不需要xml配置
    public class GenericServletDemo  extends GenericServlet {
        @Override
        public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
            System.out.println("servlet 的儿子  generic servlet  是一个抽象类  子类继承时 需要重写他的一个抽象方法! ");
        }
    }

    二、HttpServlet?

    package javaweb;
    
    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;
    /*
    
    一  HttpServlet?
        HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,
        HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户的这些信息。
    
    二 HttpServletRequest常用方法?
        getRequestURL方法返回客户端发出请求时的完整URL
        getRequestURI方法返回请求行中的资源名部分
        getQueryString方法返回请求行中的参数部分(参数名+值)
        getRemoteAddr方法返回发出请求的客户机的IP地址
        getRemoteHost方法返回发出请求的客户机的完整主机名
        getRemotePort方法返回web服务器所使用的网络端口号
        getLocalPort方法返回web服务器所使用的网络端口号
        getLocalAddr方法返回web服务器的IP地址
        getLocalName方法返回web服务器的主机名
    
    三  request?和 response?
            1.原理?
                 由服务器创建 可以使用它
                 request 对象获取请求消息  response对象是响应
    
            3.request继承关系
                 request------- servletrequest--------httpservletrequest(由Tomcat创建)
    
            4.方法?【获取请求行的数据】
                 1  获取请求的方式   getMethod();
                 2 目录的路径     getContextPath();    *****
                 3 获取servlet路径 getServletPath();
                 4 获得get请求参数   getQueryString();
                 5获取请求的url    getRequestURI();
                                   getRequestURL();     *****
                 6 获得协议版本   getProtocol();
                 7  获取客户的ip   getRemoteAddr();
    
            5.其他方法?【获取请求参数的通用方式】 get post 都可以
                   1 getParameter(String name);
                   2 根据参数的名称获得参数的数组   getParameterValues(String name)
                   3 getParameterNames()  获得所有的请求参数的名称
                   4 getParameterMap()  获得所有参数的集合  map
     */
    @WebServlet("/text.html")
    public class HttpServletDemo extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            System.out.println("提交方式为Post");
    //        1  获取请求的方式   getMethod();
            String method = request.getMethod();
            System.out.println(method);
    //        2 目录的路径     getContextPath();    *****
            String contextPath = request.getContextPath();
            System.out.println(contextPath);
    //        3 获取servlet路径 getServletPath();
            String servletPath = request.getServletPath();
            System.out.println(servletPath);
    //        4 获得get请求参数   getQueryString();
            String s = request.getQueryString();
            System.out.println(s);
    //        5获取请求的url    getRequestURI();
            String re = request.getRequestURI();
    //        getRequestURL();     *****
            System.out.println(re);
    //        6 获得协议版本   getProtocol();
            String protocol = request.getProtocol();
            System.out.println(protocol);
    //        7  获取客户的ip   getRemoteAddr();
            String remoteAddr = request.getRemoteAddr();
            System.out.println(remoteAddr);
    
    
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            System.out.println("提交方式为get");
        }
    }
  • 相关阅读:
    C++多态深入分析!
    字符编码总结
    算法:并查集
    树的非递归遍历:一种很好的算法
    算法:快速排序
    算法:堆排序
    字符串匹配:KMP算法, Boyer-Moore算法理解与总结
    shodan搜索
    google hacking 语法
    FOFA的搜索语句
  • 原文地址:https://www.cnblogs.com/ZXF6/p/10686629.html
Copyright © 2011-2022 走看看