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("湘爷你好");
HttpServletRequest request方法详解的更多相关文章
- session的使用方法详解
session的使用方法详解 Session是什么呢?简单来说就是服务器给客户端的一个编号.当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站.当每个用户首次与这台WWW服务器 ...
- HTTP请求方法详解
HTTP请求方法详解 请求方法:指定了客户端想对指定的资源/服务器作何种操作 下面我们介绍HTTP/1.1中可用的请求方法: [GET:获取资源] GET方法用来请求已被URI识别的资源.指定 ...
- request.getcontextPath() 详解
request.getcontextPath() 详解 文章分类:Java编程 <%=request.getContextPath()%>是为了解决相对路径的问题,可返回站点的根路径. 但 ...
- django中request对象详解(转载)
django中的request对象详解 Request 我们知道当URLconf文件匹配到用户输入的路径后,会调用对应的view函数,并将 HttpRequest对象 作为第一个参数传入该函数. ...
- Yii::app()方法详解
Yii::app()方法详解 1.Yii::app()返回的是一个当前框架应用程序的对象 2.Yii::app()是framework/web/CWebApplication.php类实例化的对象,所 ...
- Android Service生命周期 Service里面的onStartCommand()方法详解
在Demo上,Start一个Service之后,执行顺序:onCreate - > onStartCommand 然后关闭应用,会重新执行上面两步. 但是把代码拷贝到游戏工程发现,关闭游戏后,只 ...
- Nginx服务器中配置非80端口的端口转发方法详解
这篇文章主要介绍了Nginx服务器中配置非80端口的端口转发方法详解,文中使用到了Nginx中的proxy_pass配置项,需要的朋友可以参考下 nginx可以很方便的配置成反向代理服务器: 1 2 ...
- $.ajax()方法详解 ajax之async属性 【原创】详细案例解剖——浅谈Redis缓存的常用5种方式(String,Hash,List,set,SetSorted )
$.ajax()方法详解 jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为Str ...
- 3、lvs调度方法详解
3.lvs类型和调度方法详解 http://www.178linux.com/13570 集群:将多台主机组织起来满足某一特定需求: 集群类型: LB:Load Balancing, 负载均衡集 ...
随机推荐
- ORM之基础操作进阶
一.外键自关联(一对多) 1.建表 # 评论表 class Comment(models.Model): id = models.AutoField(primary_key=True) content ...
- mxGraph画图区域使用鼠标滚轮实现放大/缩小
// 重写鼠标滚轮事件 mxEvent.addMouseWheelListener = function (funct) { } // 添加初次载入事件 window.onload = functio ...
- J.U.C Atomic(一)CAS原理
CAS概念 CAS:Compare And Swap,比较并交换.java.util.concurrent包完全是建立于CAS机制之上的. CAS原理 Java CAS是通过调用Unsafe的nati ...
- CanvasRenderingContext2D.imageSmoothingEnabled
https://developer.mozilla.org/zh-CN/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled 这是一个 ...
- Oracle扩容表空间
1.程序报错,无法进行修改操作,通过日志,看到如下错误 2.通过google查询,问题是表空间文件不够了 "表空间大小(M)",(a.bytes "已使用空间(M)&qu ...
- 记录:python读取excel文件
由于最近老是用到python读取excel文件,所以特意记录一下python读取excel文件的大体框架. 库:xlrd(读),直接pip安装即可.想要写excel文件的话,安装xlwd库即可,也是直 ...
- Android Studio Tips
1. 可以通过ctrl+shift+a,然后输入reformat,就能看到对应的快捷键. 如果记不得快捷键了,都可以通过ctrl+shift+a来查找. 2. [Androidstudio]的坑之[@ ...
- php处理restful请求的路由(转载 http://www.jb51.net/article/47333.htm)
<?php class Router { // 路由表 private $routers = array( array("nam ...
- SQLSERVER2016 无域控AlwaysOn 实施步骤
SQLSERVER2016 无域控AlwaysOn 实施步骤 步骤: 一.安装3个windows server 2016系统 1)在3台机器建立具有administrators权限的相同账号密码,本例 ...
- HDU - 4871 Shortest-path tree (最短路径树+ 树分治)
题意:给你一张带权无向图,先求出这张图从点1出发的最短路树,再求在树上经过k个节点最长的路径值,以及个数. 分析:首先求最短路树,跑一遍最短路之后dfs一遍即可建出最短路树. 第二个问题,树分治解决. ...