• 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");
        }
    }
  • 相关阅读:
    Java集合之ArrayList
    深入理解Java中的String
    Spring系列之AOP实现的两种方式
    设计模式之代理模式
    使用 Composer 为 ThinkPHP(3.2.3)框架添加和管理组件
    滚动页面, 顶部导航栏固定效果
    nginx同一iP多域名配置方法
    nginx 服务器重启命令,关闭
    CentOS Linux服务器安全设置
    CentOS7安装iptables防火墙
  • 原文地址:https://www.cnblogs.com/ZXF6/p/10686629.html
Copyright © 2020-2023  润新知