servlet request
request.getRequestURI();
request.getRequestURL();
getQueryString();//返回查询信息
getRemoteAddr();//得到来访者地址。
getRemoteHost();//返回发送请求的客户端的完整主机名。(必须DNS上注册过)
getRemotePort();//获得来访者使用的端口
getLocalAddr();//返回服务器的IP
getLocalName
getMethod();//得到客户机的请求方式
getHader("Accept-Encoding");获取某个请求头
Enumeration e = request.getHaders();获取某个头对应的所有
while(e.hasMoreElements()){
String str = (String)e.nextElement();
}
getHeaderNames()得到每个名称 返回的也是Enumeration
--------------------------------------------------------
String value = getParameter("username");//获取页面上的name属性为username的数据
---------------------------------------------------------
Enumeration e = request.getParameterNames();//获取页面上所有name属性的值组成集合
while(e.hasMoreElements()){
Sring name = (String)e.nextElement();
String vlaue = request.getParameter(name);
}
--------------------------------------------------------------
String[] values = request.getParameterValues("username");//获取页面上所有name属性值为username的元素的value
-----------------------------------------------------------------
Map<String,String[]> map = request.getParameterMap();
User user = new User();//这是一个描述页面元素name和value的Bean的实例,
BeanUtils.populate(user,map);//将页面信息装到user对象中,比如username,页面上有两个元素,都name="username",User类中有一个字段private String[] usename; populate
方法的做法就是:先获取所有的username的value,然后反射User类,将获取的username的value赋值给user对象中的username[]。
BeanUtils还有一个方法在这提一下:
BeanUtils.copyProperties(user,formbean);这个方法可以把一个bean的内容拷贝给另一个,但是只支持基本数据类型,如果有复杂数据类型要自己写一个转换器。
关于BeanUtils,参考http://www.cnblogs.com/flying607/p/3444459.html
------------------------------------------------------------------
下面这个取数据的方法只针对发送方式是post。
InputStream in = request.getInputStream();
int len = 0 ;
byte buffer[] = new byte[1024];
while((len=in.read(buffer))>0){
String str = new String(buffer,0,len);
}
------------------------------------------------------------
request.setCharacterEncoding("UTF-8");//关于编码 request.setCharacterEncoding("UTF-8");这样设置客户机发来数据文字格式只对post方式有效
String line = request.getParameter("username");
System.out.println(line);
-------------------------------------------------------------
String line = request.getParameter("username");
line=(new String(line.getBytes("iso8859-1"),"UTF-8"));//对于get方式,只能这样了。
//超链接中的?username="中国"也是如此,并且如果是超链接的话,把request.getParameter("username")换成request.getQueryString("username")也可以。
//但是get方式输入中文跳转时地址栏出现的username=%E4%B8%AD%E5%9B%BD,那么如果用getQueryString,这么处理是没用的。
//那应该怎么处理??http://www.cnblogs.com/flying607/p/3451835.html
System.out.println(line);
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-type","text/html;charset=UTF-8");
//response.setContentType("text/html;charset=UTF-8"); 和上边两句一样
PrintWriter out = response.getWriter();
out.println(line);
-------------------------------------------------------------------------------------------------
request实现转发
除了servletContext可以实现转发,request也能做到。
Strin data = "abdsagge";
request.setAttribute("data",data);//转发带上数据的方式。
request.getRequestDispatcher("/message.jsp").forward(request,response);
附ServletContext的转发:
RequestDispatcher rd = this.getServletContext().getRequestDispatcher("1.jsp");
rd.forward(request,response);//页面将转至1.jsp页面,与重定向不同,这样仅请求了一次服务器,而重定向是两次。
servlet request的更多相关文章
- Could not parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed.
org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nes ...
- org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.1428942566812653608
一.异常信息 org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet reque ...
- Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location
spring-boot项目,生产环境运行一段时间后,上传图片报错,如下: threw exception [Request processing failed; nested exception is ...
- jsp当做第二个servlet request的生命周期 请求 响应 不管中间经历多少个servlet 只要最后一个serlvt执行后 则生命周期结束 request的域消失
jsp当做第二个servlet request的生命周期 请求 响应 不管中间经历多少个servlet 只要最后一个serlvt执行后 则生命周期结束 request的域消失
- Springboot 上传报错: Failed to parse multipart servlet request; nested exception is java.lang.IllegalStateException: The multi-part request contained parameter data (excluding uploaded files) that exceede
Failed to parse multipart servlet request; nested exception is java.lang.IllegalStateException: The ...
- SpringBoot 上传文件突然报错 Failed to parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.1428942566812653608
异常信息 org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request ...
- Servlet Request的 getInputStream() getReader() getParameter()
如果你知道了这三者的区别,请忽略 最近碰到了servlet对入参获取方式的处理问题,因为二方库处理不当,导致了获取不到入参的情况,之前也知道这三个方法不兼容,现简单介绍下 1.这三个获取入参的方法,是 ...
- Servlet Request 请求转发
request.getRequestDispatcher("logined.jsp").forward(request, response); //登录用户在登录页面验证通过 ...
- Spring MVC请求参数绑定 自定义类型转化 和获取原声带额servlet request response信息
首先还在我们的框架的基础上建立文件 在domian下建立Account实体类 import org.springframework.stereotype.Controller; import org. ...
- Servlet - request对象相关
request对象中封装了当前请求的所有请求信息, request对象由Tomcat服务器创建, 并作为实参传递给处理请求的Servlet的service()方法 1. 获取请求头数据 // 获取请求 ...
随机推荐
- python使用UnboundMethodType修改类方法
from types import UnboundMethodType class class1(object): def fun1(self): print 'fun1' oldfun1 = cla ...
- Boost汉字匹配 -- 宽字符
原文链接:http://blog.csdn.net/sptoor/article/details/4930069 思路:汉字匹配,把字符都转换成宽字符,然后再匹配. 需要用到以下和宽字符有关的类: ...
- 普及向 ZKW线段树!
啊,是否疲倦了现在的线段树 太弱,还递归! 那我们就欢乐的学习另外一种神奇的线段树吧!(雾 他叫做zkw线段树 这个数据结构灰常好写(虽然线段树本身也特别好写……) 速度快(貌似只在单点更新方面比 ...
- visual stuidio2010 在iis中调试。
1 你的电脑装好IIS. 这是必须的. 2.更改.NET Framework 版本为你的项目所用的版本. 应用程序池对应的.NET Framework 版本也都要对应. 3将你电脑的默认网站目录定位到 ...
- ES6系列汇总
汇 总 第一节:什么是ES6?新手该如何理解 第二节:ES6新增了let关键字,干嘛用的? 第三节:ES6中另一个不得不说的关键字const 第四节:教你如何快速让浏览器兼容ES6特性 第五节:一个令 ...
- PHP中var_dump
var_dump() 能打印出类型 print_r() 只能打出值echo() 是正常输出... 需要精确调试的时候用 var_dump();一般查看的时候用 print_r() 另外 , echo不 ...
- 关于心理的二十五种倾向(查理·芒格)-5
17)压力影响倾向人在遇到突然的压力.比方遭遇危急时.会导致人体内部的肾上腺素激增,推动更快,更极端的反应. A)人在压力的情况下会使得社会认同倾向更加强大.B)人在压力的情况下会使得避免怀疑倾向更加 ...
- 学习mfc书籍
Visual C++ and MFC Programming http://www.math.hcmuns.edu.vn/~tatuana/C%20For%20Win/MFC/Tai%20Lieu%2 ...
- 菜鸟学Java(二十)——你知道long和Long有什么差别吗?
Java中数据类型分两种: 1.基本类型:long,int,byte,float,double2.对象类型:Long,Integer,Byte,Float,Double其他一切java提供的,或者你自 ...
- 离线下载安装flash player
针对IE: 一般flash player的安装方法都是在线安装的方式.由于网络的问题经常容易失败,可以通过离线方法进行下载: 访问 http://helpx.adobe.com/flash-playe ...