zoukankan      html  css  js  c++  java
  • Java EE基础request对象中方法含义

    web.xml配置:

    <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>com.nubb.servlet.TestServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/servlet/TestServlet.do</url-pattern>
    </servlet-mapping>

    浏览器首次发送请求后经过Http协议在服务器端Servlet执行顺序:构造方法->init方法->service方法->doGet方法(若是Post请求则先经过doPost方法,这是传下来的习惯)->destory方法(此方法是在服务器关闭时才会调用)

    在此请求时只是经过service、doGet方法。

    访问url:localhost:8080/qq/servlet/TestServlet.do?flag=true&tag=qq

    TestServlet源码:

    package com.nubb.servlet;
    
    import java.io.IOException;
    import java.util.Enumeration;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class TestServlet extends HttpServlet {
    
    private static final Logger log = LoggerFactory.getLogger(TestServlet.class);
    /**
    * 
    */
    private static final long serialVersionUID = 3995193730201556140L;
    
    /**
    * Constructor of the object.
    */
    public TestServlet() {
    super();
    log.info("TestServlet");
    System.out.println("TestServlet");
    }
    
    /**
    * Destruction of the servlet. <br>
    */
    public void destroy() {
    super.destroy(); // Just puts "destroy" string in log
    log.info("destory");
    System.out.println("destroy");
    }
    
    /**
    * The doGet method of the servlet. <br>
    *
    * This method is called when a form has its tag value method equals to get.
    * 
    * @param request the request send by the client to the server
    * @param response the response send by the server to the client
    * @throws ServletException if an error occurred
    * @throws IOException if an error occurred
    */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    log.info("doGet");
    System.out.println("doGet");
    request.setCharacterEncoding("UTF-8");
    System.out.println("getContextPath: "+request.getContextPath());     //应用名称     /qq
    System.out.println("getAuthType: "+request.getAuthType());     //认证类型     null
    System.out.println("getCharacterEncoding: "+request.getCharacterEncoding());    //得到HTTP请求字符编码,若没指定返回null    UTF-8
    System.out.println("getContentType: "+request.getContentType());     //HTTP请求类型     application/x-www-form-urlencoded
    Enumeration enume = request.getHeaderNames();
    //遍历
    System.out.println("HeaderNames");
    while(enume.hasMoreElements()){
    System.out.print(enume.nextElement().toString()+":");     //host:connection:content-length:cache-control:accept:origin:user-agent:content-type:referer:accept-encoding:accept-language:accept-charset:cookie
    }
    System.out.println("getHeaders(Referer): "+request.getHeader("Referer"));     //getHeaders(Referer): http://localhost:8080/qq/
    System.out.println("getPathInfo: "+request.getPathInfo());     //servlet映射之后的路径     null
    System.out.println("getLocalPort: "+request.getLocalPort());     //访问端口     8080
    System.out.println("getMethod: "+request.getMethod());     //获取请求方式。doPost     POST
    System.out.println("getPathTranslated: "+request.getPathTranslated());     //暂不明了。。。     null
    System.out.println("getQueryString: "+request.getQueryString());     //url所带参数     flag=login&tag=qq
    System.out.println("getRemoteUser: "+request.getRemoteUser());     //单点登录验证用户是否登录 null
    System.out.println("getRequestedSessionId: "+request.getRequestedSessionId());    //请求被记录在Session     A267E0ACCC3A85F76AF6ECEC0A8EAE4D
    System.out.println("getRequestURI: "+request.getRequestURI());     //应用请求路径     /qq/servlet/TestServlet.do(注意斜杠“/”)
    System.out.println("getRequestURL: "+request.getRequestURL().toString());     //完整路径 http://localhost:8080/qq/servlet/TestServlet.do
    System.out.println("getServletPath: "+request.getServletPath());     //servlet请求路径     /servlet/TestServlet.do
    System.out.println("getSession: "+request.getSession());     //获取Session如果没有则创建一个新的Session org.apache.catalina.session.StandardSessionFacade@6b3fc7
    System.out.println("getSession(boolean): "+request.getSession(true));     //获取Session如果没有若参数为true则创建新的Sesion org.apache.catalina.session.StandardSessionFacade@6b3fc7
    System.out.println("getSession(boolean): "+request.getSession(false));     //获取Session如果没有若参数为true则创建新的Sesion org.apache.catalina.session.StandardSessionFacade@6b3fc7
    System.out.println("getUserPrincipal: "+request.getUserPrincipal());     //得到认证用户     null    
    System.out.println("isUserInRole: "+request.isUserInRole("maomao"));     //判断role用户是否存在     false
    
    
    
    }
    
    /**
    * The doPost method of the servlet. <br>
    *
    * This method is called when a form has its tag value method equals to post.
    * 
    * @param request the request send by the client to the server
    * @param response the response send by the server to the client
    * @throws ServletException if an error occurred
    * @throws IOException if an error occurred
    */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    log.info("doPost");
    System.out.println("doPost");
    this.doGet(request, response);
    }
    
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
    System.out.println("service");
    super.service(req, resp);
    }
    
    /**
    * Initialization of the servlet. <br>
    *
    * @throws ServletException if an error occurs
    */
    public void init() throws ServletException {
    // Put your code here
    log.info("init");
    System.out.println("init");
    }
    
    }
  • 相关阅读:
    Django 支付宝付款接口的使用
    Django 处理跨域的配置、前台处理ajax
    pip安装源
    Django 缓存机制
    Django 配置使用日志
    Celery框架的基本使用方法
    python 虚拟环境的搭建
    Django 后台管理xadmin
    Python学习之路_day_16(模块搜索路径,开发规范)
    Python学习之路_day_15(模块)
  • 原文地址:https://www.cnblogs.com/xmaomao/p/2995215.html
Copyright © 2011-2022 走看看