实例详解JSP内置对象request对象Word文档格式.docx
《实例详解JSP内置对象request对象Word文档格式.docx》由会员分享,可在线阅读,更多相关《实例详解JSP内置对象request对象Word文档格式.docx(19页珍藏版)》请在冰点文库上搜索。
common.jsp:
%
request.setCharacterEncoding("
gb2312"
);
Stringname=request.getParameter("
%>
您输入的是:
FONTCOLOR="
RED"
%=name%>
/FONT>
文本框和密码框都是将控件里的数据作为字符串传入服务器,某些时候需要转换其类型,例如:
H3>
计算两数之和<
/H3>
数1:
num1"
BR>
数2:
num2"
加法"
common.jsp:
Stringnum1=request.getParameter("
Stringnum2=request.getParameter("
inti=0;
intj=0;
try
{
i=Integer.parseInt(num1);
j=Integer.parseInt(num2);
两数之和是:
%=(i+j)%>
}
catch(Exceptione)
InputError!
!
如果传递的参数有中文字符,则需要用request.setCharacterEncoding("
用以消除中文显示乱码隐患。
我们再看看表单中其它比较复杂的控件。
请选择<
checkbox"
like"
篮球"
篮球
足球"
足球
游泳"
游泳
击剑"
击剑
摔跤"
摔跤<
);
Stringlike[]=request.getParameterValues("
H2>
兴趣为:
/H2>
if(like!
=null){
for(inti=0;
i<
like.length;
i++)
%=like[i]%>
、
上例给出了接收复选框数据的方法,但是要注意当一个都不选时的空指针异常的出现。
request.getParameter()方法还可以接收隐藏表单和URL后面传过来的参数,看下面的例子:
密码:
password"
hidden"
aaa"
AHREF="
common.jsp?
password=111&
name=aaa"
提交<
/A>
Stringpassword=request.getParameter("
h1>
内容为:
%=password%>
/h1>
最后,我们看一个下拉列表的例子:
SELECTNAME="
city"
OPTIONVALUE="
武汉"
武汉<
/OPTION>
上海"
上海<
北京"
北京<
天津"
天津<
重庆"
重庆<
/SELECT>
Stringcity=request.getParameter("
城市:
%=city%>
保存及获取属性
request.setAttribute("
"
111"
jsp:
forwardpage="
/>
这里是common.jsp<
Stringname=(String)request.getAttribute("
Stringpassword=(String)request.getAttribute("
name:
password:
这个例子会成功的取得保存在request对象里的属性值。
如果我们将<
去掉,改由response.sendRedirect("
来跳转,或者由<
转向<
这个超链接来转向,都是无法取得request对象中的属性值的。
登录范例
登录范例<
login.jsp"
帐号:
登录"
login.jsp:
if("
.equals(name)&
&
"
.equals(password))
success.jsp"
else
failure.jsp"
success.jsp:
登录成功<
欢迎<
%=request.getParameter("
)%>
登录<
failure.jsp:
登录失败<
获得客户端IP
您的IP地址:
%=request.getRemoteAddr()%>
JSP中request对象的变量列表
out.println("
Protocol:
"
+request.getProtocol()+"
br>
ServerInfo:
+getServletConfig().getServletContext().getServerInfo()+"
RemoteAddr:
+request.getRemoteAddr()+"
RemoteHost:
+request.getRemoteHost()+"
CharacterEncoding:
+request.getCharacterEncoding()+"
ContentLength:
+request.getContentLength()+"
ContentType:
+request.getContentType()+"
AuthType:
+request.getAuthType()+"
HTTPMethod:
+request.getMethod()+"
PathInfo:
+request.getPathInfo()+"
PathTrans:
+request.getPathTranslated()+"
QueryString:
+request.getQueryString()+"
RemoteUser:
+request.getRemoteUser()+"
SessionId:
+request.getRequestedSessionId()+"
RequestURI:
+request.getRequestURI()+"
ServletPath:
+request.getServletPath()+"
Accept:
+request.getHeader("
Accept"
)+"
Host:
Host"
Referer:
Referer"
Accept-Language:
Accept-Language"
Accept-Encoding:
Accept-Encoding"
User-Agent:
User-Agent"
Connection:
Connection"
Cookie:
Cookie"
Created:
+session.getCreationTime()+"
LastAccessed:
+session.getLastAccessedTime()+"
Scheme:
+request.getScheme()+"
ServerName:
+request.getServerName()+"
);
ServerPort:
+request.getServerPort()+"
运行结果:
HTTP/1.1
JavaServerWebDevKit/1.0EA(JSP1.0;
Servlet2.1;
Java1.2;
WindowsNT5.0x86;
java.vendor=SunMicrosystemsInc.)
192.168.0.106
abc
null
-1
GET
To1010mC466113890241879At
/c.jsp
*/*
192.168.0.1:
8080
n
http
192.168.0.1
8080
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