JSP内置对象requset学习
2013-08-07 09:23
225 查看
Jsp的内置对象
request:服务器端接受客户端以HTTP方式传送给它的数据
以便处理客户端的请求实现客户端/服务器端的交互!
重要方法:Methods inherited from interface javax.servlet.ServletRequest
getParameter , getParameterNames , getParameterValues
接受的数据中如何处理乱码问题:再编码
demo:request01.jsp 发送请求, request02.jsp接受请求
request01.jsp
request02.jsp
request02.jsp输出结果
英文名:terry -->英文不需要处理
中文名:?????? -->没有再编码处理:输出乱码
中文名:李艺辉 -->再编码处理:正常输出中文
当然也可以在request.getParameter之前
通过request.setCharacterEncoding("gb2312")处理中文编码问题
此种设置方法会设置整个页面统一的页面请求编码
对于复选框及多个下拉列表框时,接受值因为是返回多个值
所以使用java.lang.String[] getParameterValues(java.lang.String name),然后遍历数组输出结果!
隐藏域和地址重写的应用:request03.jsp发送请求,request04.jsp处理请求
request03.jsp
request04.jsp
总结:只要是客户端的信息,服务器端都可以通过request对象取得,但是需要注意字符编码的问题!
更多关于request内置对象的方法应用请参阅J2EE的手册
javax.servlet.http
All Superinterfaces:ServletRequest
内置对象 | 类型 | 属性范围 |
request | javax.servlet.http.HttpServletRequest | request |
response | javax.servlet.http.HttpServletResponse | page |
session | javax.servlet.http.HttpSession | session |
application | javax.servlet.ServletContext | application |
config | javax.servlet.ServletConfig | page |
pageContext | javax.servlet.jsp.PageContext | page |
out | javax.servlet.jsp.JspWriter | page |
page | java.lang.Object | page |
exception | java.lang.Throwable | page |
以便处理客户端的请求实现客户端/服务器端的交互!
重要方法:Methods inherited from interface javax.servlet.ServletRequest
getParameter , getParameterNames , getParameterValues
接受的数据中如何处理乱码问题:再编码
demo:request01.jsp 发送请求, request02.jsp接受请求
request01.jsp
<%@ page contentType="text/html;charset=gb2312" %> <html> <body> <form action="request02.jsp" method="post"> 英文名:<input type="text" name="en_name"></br> 中文名:<input type="text" name="cn_name"></br> <input type="submit" value="提交"> </form> </body> </html>
request02.jsp
<%@ page contentType="text/html;charset=gb2312" %> <html> <body> 英文名:<%=request.getParameter("en_name")%></br> 中文名:<%=request.getParameter("cn_name")%></br> <!-- 不处理编码 --> 中文名:<%=new String(request.getParameter("cn_name").getBytes("ISO-8859-1"))%></br> <!-- 进行再次编码 --> </body> </html>
request02.jsp输出结果
英文名:terry -->英文不需要处理
中文名:?????? -->没有再编码处理:输出乱码
中文名:李艺辉 -->再编码处理:正常输出中文
当然也可以在request.getParameter之前
通过request.setCharacterEncoding("gb2312")处理中文编码问题
此种设置方法会设置整个页面统一的页面请求编码
对于复选框及多个下拉列表框时,接受值因为是返回多个值
所以使用java.lang.String[] getParameterValues(java.lang.String name),然后遍历数组输出结果!
隐藏域和地址重写的应用:request03.jsp发送请求,request04.jsp处理请求
request03.jsp
<%@ page contentType="text/html;charset=gb2312" %> <html> <body> <form action="request04.jsp" method="post"> 英文名:<input type="text" name="en_name"></br> 中文名:<input type="text" name="cn_name"></br> 诗人: <input type="checkbox" name="*poet" value="李白">李白 <!--多值用*区别,处理数组--> <input type="checkbox" name="*poet" value="杜甫">杜甫 <input type="checkbox" name="*poet" value="疯子">疯子 <input type="hidden" name="hiddenvalue" value="hello hiddenman"></br> <input type="submit" value="提交"> </form> <a href="request04.jsp?redirect=come from herf&action=fuck you">连接重定向</a> </body> </html>
request04.jsp
<%@ page contentType="text/html;charset=gb2312" %> <%@ page import="java.util.*" %> <html> <body> 你的IP为:<%=request.getRemoteAddr()%></br> <% request.setCharacterEncoding("gb2312"); Enumeration enu = request.getParameterNames(); %> <% while(enu.hasMoreElements()){ String name = (String)enu.nextElement(); %> <%=name%>: <% if(name.startsWith("*")){ String tempValue[] = request.getParameterValues(name); for(int i=0;i<tempValue.length;i++){ %> <%=tempValue[i]%>、 <% } %> </br> <% }else{ %> <%=request.getParameter(name)%></br> <% } } %> </body> </html>result:
总结:只要是客户端的信息,服务器端都可以通过request对象取得,但是需要注意字符编码的问题!
更多关于request内置对象的方法应用请参阅J2EE的手册
javax.servlet.http
Interface HttpServletRequest
All Superinterfaces:ServletRequest
相关文章推荐
- JSP内置对象学习案例:在线考试系统
- JSP学习笔记(二):JSP内置对象
- JSP学习笔记(二)之JSP的内置对象
- Jsp学习1-页面组成 指令 内置对象
- JSP学习01-9个内置对象
- 【学习摘记】马士兵Servlet&JSP_课时29_servlet_forward——JSP内置对象以及与servlet之间的跳转
- Java EE学习之(七)JSP的九个内置对象
- 学习笔记之javaweb基础:jsp基本语法,内置对象,对JavaBean的操作语法
- JSP内置对象学习(4)-out输出对象
- 学习笔记-轻量级Java EE:jsp的指令、动作、内置对象
- 学习jsp的内置对象
- Java学习--jsp内置对象
- jsp基础学习(二)----jsp内置对象
- JSP学习笔记(JSP的三个编译指令,七个动作指令和常用的内置对象)
- jsp学习笔记--内置对象--request对象
- java web学习心得与总结(二)——jsp内置对象
- JSP学习笔记二之JSP的语法和9大内置对象(上)
- 重温JSP学习笔记--三大指令九大内置对象
- JavaWeb学习之JSP九大内置对象
- JSP内置对象学习(3)-response对象