• HttpServletRequest request方法详解


    //1、获取请求参数
            //获取参数的单个值,如有多个则只返回第一个
            String parameter1 = request.getParameter("demo");
            //获取参数数组,
            String[] parameter2 = request.getParameterValues("demo");
            //获取所有参数名值对的java.util.Map<String,String[]>
            Map<String, String[]> parameterMap = request.getParameterMap();
            //获取所有可用参数的名字的枚举
            Enumeration<String> parameterNames = request.getParameterNames();
            
    //        java.lang.NullPointerException
    //        第一次调用请求对象的getParameter、getParameterValues、getParameterMap、getParameterNames方法时
    //        Web容器将判断该请求是否包含post变量,如果包含它将读取请求的InputStream并解析这些变量,InputStream只能被读取一次
    //        如果在调用了一个含有post请求的getInputStream或getReader之后,再次尝试获取请求参数时则会触发一个java.lang.NullPointerException
    //        反之如果在获取了一个含有post变量的请求参数之后再调用getInputStream或getReader也会触发java.lang.NullPointerException
    //        任何时候在使用含有post变量的请求时,最好使用参数方法,不要使用getInputStream或getReader
            
            
            
            //2、确定与请求内容相关的信息
            //获取请求的MIME(多用途互联网邮件扩展)内容类型
            String contentType = request.getContentType();
            //获取请求正文的长度
            int contentLength = request.getContentLength();
            long contentLengthLong = request.getContentLengthLong();//内容长度的超过2GB的请求
            //获取请求内容的字符编码
            String characterEncoding = request.getCharacterEncoding();
            
            //3、读取请求内容,不要在同一个请求上同时使用下面两种方法,会触发java.lang.NullPointerException
            //适用于请求参数时二进制格式的
            ServletInputStream inputStream = request.getInputStream();
            //适用于请求参数是字符编码的
            //BufferedReader reader = request.getReader();
            
            
            //4、获取请求特有信息
            //返回客户端完整的URL   http://localhost:8080/dyf-pms/helloServlet.action
            StringBuffer requestURL = request.getRequestURL();
            
            //返回服务器路径部分           /dyf-pms/helloServlet.action
            String requestURI = request.getRequestURI();
            
            //返回用于匹配Servlet映射的URL部分     /helloServlet.action
            String servletPath = request.getServletPath();
            
            //返回指定名字的请求头数据
            String header = request.getHeader("host");
            
            //返回请求中所有头数据的名字的枚举,遍历所有可用头数据的好方式
            Enumeration<String> headerNames = request.getHeaderNames();
            
            //如果指定的一个 头数据不能转化为整数,则抛出异常NumbereFormatException
            int intHeader = request.getIntHeader("");
            //返回一个Unix时间戳(毫秒),如果头数据不能转化为日期,则抛出异常IllegalArgumentException
            long dateHeader = request.getDateHeader("");
            
            //设置中文字符编码
            response.setHeader("Content-type", "text/html;charset=UTF-8");
            response.setCharacterEncoding("utf-8");
            response.getWriter().write("湘爷你好");
  • 相关阅读:
    BT协议分析(1)—1.0协议
    Qt线程(2) QThread中使用WorkObject
    新浪微博的开放平台官方文档太粗略,记:仿大平台来实现
    58同城 骗子太多
    代码实现业务经验(程序员的核心能力)
    gitbash 本地文件提交为一个新的项目 到 gitlab
    Spring 核心容器 IOC
    spring AOP 理解
    java不返回某些字段,包括 null
    CentOS7安装 Redis5 单实例
  • 原文地址:https://www.cnblogs.com/dyfbk/p/7847031.html
Copyright © 2020-2023  润新知