实例详解JSP内置对象request对象.docx
- 文档编号:2844707
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:19
- 大小:18.24KB
实例详解JSP内置对象request对象.docx
《实例详解JSP内置对象request对象.docx》由会员分享,可在线阅读,更多相关《实例详解JSP内置对象request对象.docx(19页珍藏版)》请在冰点文库上搜索。
实例详解JSP内置对象request对象
接收表单
index.jsp:
<%@pagecontentType="text/html;charset=gb2312"%>
请输入:
common.jsp:
<%@pagecontentType="text/html;charset=gb2312"%>
<%
request.setCharacterEncoding("gb2312");
Stringname=request.getParameter("name");
%>
您输入的是:
文本框和密码框都是将控件里的数据作为字符串传入服务器,某些时候需要转换其类型,例如:
index.jsp:
<%@pagecontentType="text/html;charset=gb2312"%>
计算两数之和
数1:
数2:
common.jsp:
<%@pagecontentType="text/html;charset=gb2312"%>
<%
request.setCharacterEncoding("gb2312");
Stringnum1=request.getParameter("num1");
Stringnum2=request.getParameter("num2");
inti=0;
intj=0;
try
{
i=Integer.parseInt(num1);
j=Integer.parseInt(num2);
%>
两数之和是:
<%
}
catch(Exceptione)
{
%>
InputError!
!
!
<%
}
%>
如果传递的参数有中文字符,则需要用request.setCharacterEncoding("gb2312");用以消除中文显示乱码隐患。
我们再看看表单中其它比较复杂的控件。
index.jsp:
<%@pagecontentType="text/html;charset=gb2312"%>
请选择
common.jsp:
<%@pagecontentType="text/html;charset=gb2312"%>
<%
request.setCharacterEncoding("gb2312");
Stringlike[]=request.getParameterValues("like");
%>
兴趣为:
<%
if(like!
=null){
for(inti=0;i { %> <%=like[i]%>、 <% } } %> 上例给出了接收复选框数据的方法,但是要注意当一个都不选时的空指针异常的出现。 request.getParameter()方法还可以接收隐藏表单和URL后面传过来的参数,看下面的例子: index.jsp: <%@pagecontentType="text/html;charset=gb2312"%>
密码:
password=111&name=aaa">提交 common.jsp: <%@pagecontentType="text/html;charset=gb2312"%>
<%
request.setCharacterEncoding("gb2312");
Stringpassword=request.getParameter("password");
Stringname=request.getParameter("name");
%>
内容为:
<%=password%>
内容为:
<%=name%>
最后,我们看一个下拉列表的例子:
index.jsp:
<%@pagecontentType="text/html;charset=gb2312"%>
common.jsp:
<%@pagecontentType="text/html;charset=gb2312"%>
<%
request.setCharacterEncoding("gb2312");
Stringcity=request.getParameter("city");
%>
城市:
<%=city%>
保存及获取属性
index.jsp:
<%@pagecontentType="text/html;charset=gb2312"%>
<%
request.setAttribute("name","aaa");
request.setAttribute("password","111");
%>
forwardpage="common.jsp"/> common.jsp: <%@pagecontentType="text/html;charset=gb2312"%>
这里是common.jsp
<%
Stringname=(String)request.getAttribute("name");
Stringpassword=(String)request.getAttribute("password");
%>
name:
<%=name%>
password:
<%=password%>
这个例子会成功的取得保存在request对象里的属性值。
如果我们将 forwardpage="common.jsp"/>去掉,改由response.sendRedirect("common.jsp");来跳转,或者由 登录范例 index.jsp: <%@pagecontentType="text/html;charset=gb2312"%>
帐号:
密码:
login.jsp:
<%@pagecontentType="text/html;charset=gb2312"%>
<%
request.setCharacterEncoding("gb2312");
Stringname=request.getParameter("name");
Stringpassword=request.getParameter("password");
if("aaa".equals(name)&&"111".equals(password))
{
%>
forwardpage="success.jsp"/> <% } else { %> forwardpage="failure.jsp"/> <% } %> success.jsp: <%@pagecontentType="text/html;charset=gb2312"%>
欢迎<%=request.getParameter("name")%>登录
failure.jsp:
<%@pagecontentType="text/html;charset=gb2312"%>
登录失败
获得客户端IP
<%@pagecontentType="text/html;charset=gb2312"%>
您的IP地址:
JSP中request对象的变量列表
<%
out.println("Protocol:
"+request.getProtocol()+"
");
out.println("ServerInfo:
"+getServletConfig().getServletContext().getServerInfo()+"
");
out.println("RemoteAddr:
"+request.getRemoteAddr()+"
");
out.println("RemoteHost:
"+request.getRemoteHost()+"
");
out.println("CharacterEncoding:
"+request.getCharacterEncoding()+"
");
out.println("ContentLength:
"+request.getContentLength()+"
");
out.println("ContentType:
"+request.getContentType()+"
");
out.println("AuthType:
"+request.getAuthType()+"
");
out.println("HTTPMethod:
"+request.getMethod()+"
");
out.println("PathInfo:
"+request.getPathInfo()+"
");
out.println("PathTrans:
"+request.getPathTranslated()+"
");
out.println("QueryString:
"+request.getQueryString()+"
");
out.println("RemoteUser:
"+request.getRemoteUser()+"
");
out.println("SessionId:
"+request.getRequestedSessionId()+"
");
out.println("RequestURI:
"+request.getRequestURI()+"
");
out.println("ServletPath:
"+request.getServletPath()+"
");
out.println("Accept:
"+request.getHeader("Accept")+"
");
out.println("Host:
"+request.getHeader("Host")+"
");
out.println("Referer:
"+request.getHeader("Referer")+"
");
out.println("Accept-Language:
"+request.getHeader("Accept-Language")+"
");
out.println("Accept-Encoding:
"+request.getHeader("Accept-Encoding")+"
");
out.println("User-Agent:
"+request.getHeader("User-Agent")+"
");
out.println("Connection:
"+request.getHeader("Connection")+"
");
out.println("Cookie:
"+request.getHeader("Cookie")+"
");
out.println("Created:
"+session.getCreationTime()+"
");
out.println("LastAccessed:
"+session.getLastAccessedTime()+"
");
out.println("Scheme:
"+request.getScheme()+"
");
out.println("ServerName:
"+request.getServerName()+"
");
out.println("ServerPort:
"+request.getServerPort()+"
");
out.println("Protocol:
"+request.getProtocol()+"
");
%>
运行结果:
Protocol:
HTTP/1.1
ServerInfo:
JavaServerWebDevKit/1.0EA(JSP1.0;Servlet2.1;Java1.2;WindowsNT5.0x86;java.vendor=SunMicrosystemsInc.)
RemoteAddr:
192.168.0.106
RemoteHost:
abc
CharacterEncoding:
null
ContentLength:
-1
ContentType:
null
AuthType:
null
HTTPMethod:
GET
PathInfo:
null
PathTrans:
null
QueryString:
null
RemoteUser:
null
SessionId:
To1010mC466113890241879At
RequestURI:
/c.jsp
ServletPath:
/c.jsp
Accept:
*/*
Host:
192.168.0.1:
8080
Referer:
n
Scheme:
http
ServerName:
192.168.0.1
ServerPort:
8080
Protocol:
HTTP/1.1
publicjava.lang.ObjectgetAttribute()
返回name制定的属性值,若name不存在返回null
publicjava.util.EnumerationgetAttributeNames()
返回request对象所有属性的名字集合
publicvoidsetAttribute(Stringname,Objectvalue)
返回该请求中的一个属性(属性的名字,属性的取值)
能够取得参数的方法
StringgetParameter(Stringname) 取得name的参数值
EnumerationgetParameterNames() 取得所有的参数名字
String[]getParameterValues(*STringname)取得所有name的参数值
MapgetParameterMap() 取得一个要求参数的map
能够取得请求http标头的方法
StringgetHeader(Stringname) 取得name的标头
EnumerationgetHeaderNames() 取得所有的标头名称
EnumerationgetHeaders(Stringname) 取得所有name的标头
intgetIntHeader(Stringname) 取得整数类型name的标头
longgetDateHeader(Stringname) 取得日期类型的name的标头
Cookie[]getCookies() 取得与请求有关的cookies
其他方法
StringgetContextPath() 取得Context路径(即后台名称)
StringgetMethod() 取得http的方法
StringgetProtocol() 取得使用的协议
StringgetQueryString() 取得请求的参数字符串必须为(get)
StringgetRequestedSessionId() 取得客户端SessionID
StringgetRequestURI() 取得请求URL,不包括请求参数字符串
StringgetRemoteAddr() 取得用户ip地址
Stringget
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实例 详解 JSP 内置 对象 request