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");
        }
    }
  • 相关阅读:
    Atitit.播放系统规划新版本 v4 q18 and 最近版本回顾
    Atitit.播放系统规划新版本 v4 q18 and 最近版本回顾
    atitit.极光消息推送服务器端开发实现推送  jpush v3. 总结o7p
    atitit.极光消息推送服务器端开发实现推送  jpush v3. 总结o7p
    Atitit.文件搜索工具 attilax 总结
    Atitit.文件搜索工具 attilax 总结
    Atitit.软件命名空间  包的命名统计 及命名表(2000个名称) 方案java package
    Atitit.软件命名空间  包的命名统计 及命名表(2000个名称) 方案java package
    Atitit..状态机与词法分析  通用分词器 分词引擎的设计与实现 attilax总结
    Atitit..状态机与词法分析  通用分词器 分词引擎的设计与实现 attilax总结
  • 原文地址:https://www.cnblogs.com/ZXF6/p/10686629.html
Copyright © 2011-2022 走看看