request初步和获取表单数据

来源:互联网 发布:vue.js权威指南 微盘 编辑:程序博客网 时间:2024/05/21 18:33

HttpServletRequest

HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息

一些获得信息的方法

getMethod()客户机请求方式GET/POST
getRequestURI()做权限拦截/统计访问次数
getRequestURL()
URI:/news/1.html 标识所有资源 统一资源标识符
URL:http://www.sina.com/news/1.html 标识互联网资源 统一资源定位器

getQueryString()获得请求行的参数部分
getRemoteAddr()获得发出请求的客户机的IP地址
getRemoteHost()发出请求的客户机的完整主机名 DNS注册后才有 没注册就是IP地址
getRemotePort()客户机使用的网络端口号
getLocalAddr()WEB服务器的IP地址
getLocalName()WEB服务器的主机名

获取头相关的方法

getHeader()获取请求头k-v对应
getHeaders()获取k对应的所有值
Enumeration e = request.getHeaders("Accept-Encoding");
while(e.hasMoreElements()){
Stirng value = (String)e.nextElement();
System.out.printIn(value);
}
getDateHeader()
getHeaderNames()所有请求头的名称 k值

获取带给服务器数据

2种方式,<a>标签和<form>表单 地址?key=xxx带数据过去

getParameter()根据名称k值获得数据
getParameterNames()所有提交数据的名称
getParameterValues()同名k值对应所有数据的值
获得请求数据一般要先检查后使用
value!=null && !value.trim().equals(" ")
getParameterMap()做框架常用 将名称和数据做成map方便存到java对象中
Map map = request.getParameterMap();
User user = new User();
BeanUtils.populate(user,map);可以3行代码把所有数据都存到对象中 简化编程
BeanUtils.copyProperties(user,formbean);copy的属性String和基本数据类型 其他要自己写转换器
Map<String,String[]>value值是String array 照顾同名数据的全部获取
getInputStream()用于文件上传 流获取数据 其他不用
InputStream in = request.getInputStream();
int len = 0;
byte buffer[] = new byte[1024];
while((len=in.read(buffer)) > 0){
System.out.printIn(new String(buffer,0,len));
}
通过表单收集客户机数据

<a>标签中的url后面跟了中文数据,要编码后再提交

<form action="/test/test.do" method="post">用户名:<input type="text" name="username"><br/>密码:<input type="password" name="password"><br/>性别:<input type="radio" name="gender" value="male">男<input type="radio" name="gender" value="female">女<br/>所在地:<select name="city"><option value="beijing">北京</option><option value="shanghai">上海</option><option value="guangzhou">广州</option></select><br/>爱好:<input type="checkbox" name="likes" value="sing">唱歌<input type="checkbox" name="likes" value="dance">跳舞<input type="checkbox" name="likes" value="basketball">篮球<input type="checkbox" name="likes" value="football">足球<br/>备注:<textarea rows="6" cols="60" name="description"></textarea><br/>大头照:<input type="file" name="image"><br/><input type="hidden" name="type" value="member"><input type="submit" value="提交"></form><form action="/test/test.do" method="post">用户名:<input type="text" name="username"><br/>密码:<input type="password" name="password"><br/>性别:<input type="radio" name="gender" value="male">男<input type="radio" name="gender" value="female">女<br/>所在地:<select name="city"><option value="beijing">北京</option><option value="shanghai">上海</option><option value="guangzhou">广州</option></select><br/>爱好:<input type="checkbox" name="likes" value="sing">唱歌<input type="checkbox" name="likes" value="dance">跳舞<input type="checkbox" name="likes" value="basketball">篮球<input type="checkbox" name="likes" value="football">足球<br/>备注:<textarea rows="6" cols="60" name="description"></textarea><br/>大头照:<input type="file" name="image"><br/><input type="hidden" name="type" value="member"><input type="submit" value="提交"></form>protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println(request.getParameter("username"));System.out.println(request.getParameter("password"));System.out.println(request.getParameter("gender"));System.out.println(request.getParameter("city"));String likes[] = request.getParameterValues("likes");for(int i=0;likes!=null && i<likes.length;i++){System.out.println(likes[i]);}System.out.println(request.getParameter("description"));System.out.println(request.getParameter("type"));}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request,response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println(request.getParameter("username"));System.out.println(request.getParameter("password"));System.out.println(request.getParameter("gender"));System.out.println(request.getParameter("city"));String likes[] = request.getParameterValues("likes");for(int i=0;likes!=null && i<likes.length;i++){System.out.println(likes[i]);}System.out.println(request.getParameter("description"));System.out.println(request.getParameter("type"));}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request,response);}




原创粉丝点击