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, 负载均衡集 ...
随机推荐
- SVM支持向量机总结
一.拉格朗日乘子法 一般,在有等式约束时使用拉格朗日乘子法,在有不等约束时使用KKT条件.这里我们先介绍拉格朗日乘子法,后面再介绍KKT条件. 比如考虑下面的组合优化的问题, 这是一个带等式约束的优化 ...
- Jmeter(三)断言和关联
Jmeter断言 断言是什么呢,它是用来检查返回结果对不对的.用来验证结果是否正确,如果正确的话,就代表这个请求的返回是正确的,如果没有的话就代表这个请求的结果和我们预期的不一致,这样我们就可以通过断 ...
- 如何确定LDA的主题个数
本文参考自:https://www.zhihu.com/question/32286630 LDA中topic个数的确定是一个困难的问题. 当各个topic之间的相似度的最小的时候,就可以算是找到了合 ...
- 字典的fromkeys的用法
fromkeys方法语法 dict.fromkeys(iterable[,value=None]) iterable 用于创建新的字典的键的可迭代对象(字符串,列表,元组,字典) value 可选参数 ...
- 微信小程序组件action-sheet
操作反馈action-sheet:官方文档 Demo Code: Page({ data: { actionSheetHidden: true, actionSheetItems: ['item1', ...
- [C语言](*p)++ 与 *p++ 与 ++*p 拨开一团迷雾
环境:win7 IDE:DEV-C++ 编译器:GCC 1.先说++i和i++的基础 代码如下: #include <stdio.h> //just change simple void ...
- ASP.NET Core EF 查询获取导航属性值,使用Include封装
// 引用 using Microsoft.EntityFrameworkCore; // 摘要: // Specifies related entities to include in the qu ...
- sublime 安装插件报错
sublime 安装插件报错,大部分原因是本地防火墙开启了,关闭本地防火墙
- iOS开发之XMPPFramework环境搭建和配置
1.mysql数据库安装和配置 官方下载地址:http://www.mysql.com/downloads/ 百度云盘地址: 安装软件参考:http://www.cnblogs.com/macro-c ...
- js小工具---本地图片转换为base64编码数据
今天用jmeter对图片对比进行性能测试,post请求为json请求,图片为Base64编码后的图片数据.所以需要将一张本地图片生成base64编码,找到一个js小工具,记录在这儿便于以后复用. 效果 ...