实例详解JSP内置对象Word文档格式.docx
- 文档编号:16975934
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:23
- 大小:24.25KB
实例详解JSP内置对象Word文档格式.docx
《实例详解JSP内置对象Word文档格式.docx》由会员分享,可在线阅读,更多相关《实例详解JSP内置对象Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
name="
boy"
>
submit"
value="
Enter"
/form>
/font>
/body>
/html>
tree.jsp:
text/html;
HTML>
BODYbgcolor=green>
FONTsize=1>
P>
获取文本框提交的信息:
%StringtextContent=request.getParameter("
);
%>
BR>
%=textContent%>
获取按钮的名字:
%StringbuttonName=request.getParameter("
%=buttonName%>
/FONT>
/BODY>
/HTML>
使用request对象获取信息要格外小心,要避免使用空对象,否则会出现NullPointerException异常,所以我们可以作以下处理.:
request3.jsp
BODYbgcolor=cyan>
FONTsize=5>
FORM action="
"
<
INPUTtype="
girl"
INPUTTYPE="
/FORM>
doublenumber=0,r=0;
if(textContent==null)
{textContent="
;
}
try{number=Double.parseDouble(textContent);
if(number>
=0)
{r=Math.sqrt(number);
out.print("
+String.valueOf(number)+"
的平方根:
+String.valueOf(r));
}
else
{out.print("
+"
请输入一个正数"
catch(NumberFormatExceptione)
{out.print("
请输入数字字符"
%>
2、处理汉字信息
当request对象获取客户提交的汉字字符时,会出现乱码问题,必须进行特殊处理。
首先,将获取的字符串用ISO-8859-1进行编码,并将编码存放到一个字节数组中,然后再将这个属组转化为字符窜对象即刻。
StringtextContent=request.getParameter("
byteb[]=textContent.getBytes("
ISO-8859-1"
textContent=newString(b);
tree2.jsp
MHML>
BODY>
byte b[]=textContent.getBytes("
textContent=newString(b);
byte c[]=buttonName.getBytes("
buttonName=newString(c);
3、常用方法举例:
1.getProtocol()获取客户向服务器提交信息所使用的通信协议,比如http/1.1等。
2.getServletPath()获取客户请求的JSP页面文件的目录。
3.getContentLength()获取客户提交的整个信息的长度。
4.getMethod()获取客户提交信息的方式,比如:
post或get。
5.getHeader(Strings)获取HTTP头文件中由参数s指定的头名字的值,一般来说s参数可取的头名有:
accept、referer、accept-language、content-type、accept-encoding、user-agent、host、content-length、connection、cookie等,比如,s取值user-agent将获取客户的浏览器的版本号等信息。
6.getHeaderNames()获取头名字的一个枚举
7.getHeaders(Strings)获取头文件中指定头名字的全部值的一个枚举
8.getRemoteAddr()获取客户的IP地址。
9.getRemoteHost()获取客户机的名称(如果获取不到,就获取IP地址)。
10.getServerName()获取服务器的名称。
11.getServerPort()获取服务器的端口号。
12.getParameterNames()获取客户提交的信息体部分中name参数值的一个枚举。
tree3.jsp
%@pageimport="
Java.util.*"
Fontsize=5>
客户使用的协议是:
%Stringprotocol=request.getProtocol();
out.println(protocol);
获取接受客户提交信息的页面:
%Stringpath=request.getServletPath();
out.println(path);
接受客户提交信息的长度:
%intlength=request.getContentLength();
out.println(length);
客户提交信息的方式:
%Stringmethod=request.getMethod();
out.println(method);
获取HTTP头文件中User-Agent的值:
:
%Stringheader1=request.getHeader("
User-Agent"
out.println(header1);
获取HTTP头文件中accept的值:
%Stringheader2=request.getHeader("
accept"
out.println(header2);
获取HTTP头文件中Host的值:
%Stringheader3=request.getHeader("
Host"
out.println(header3);
获取HTTP头文件中accept-encoding的值:
%Stringheader4=request.getHeader("
accept-encoding"
out.println(header4);
获取客户的IP地址:
%String IP=request.getRemoteAddr();
out.println(IP);
获取客户机的名称:
%StringclientName=request.getRemoteHost();
out.println(clientName);
获取服务器的名称:
%StringserverName=request.getServerName();
out.println(serverName);
获取服务器的端口号:
%intserverPort=request.getServerPort();
out.println(serverPort);
%>
获取客户端提交的所有参数的名字:
%Enumerationenum=request.getParameterNames();
while(enum.hasMoreElements())
{Strings=(String)enum.nextElement();
out.println(s);
}
%>
获取头名字的一个枚举:
%Enumerationenum_headed=request.getHeaderNames();
while(enum_headed.hasMoreElements())
{Strings=(String)enum_headed.nextElement();
获取头文件中指定头名字的全部值的一个枚举:
%Enumerationenum_headedValues=request.getHeaders("
cookie"
while(enum_headedValues.hasMoreElements())
{Strings=(String)enum_headedValues.nextElement();
/Font>
4、获取HTML表单提交的数据
1)单选框radio
radio.jsp
Fontsize=1>
诗人李白是中国历史上哪个朝代的人:
FORMaction="
answer.jsp"
radio"
R"
a"
宋朝
b"
唐朝
c"
明朝
d"
checked="
ok"
元朝
<
小说红楼梦的作者是:
P"
曹雪芹
罗贯中
李白
司马迁
提交答案"
answer.jsp:
%intn=0;
Strings1=request.getParameter("
Strings2=request.getParameter("
if(s1==null)
{s1="
}
if(s2==null)
{s2="
if(s1.equals("
))
{n++;
if(s2.equals("
您得了<
%=n%>
分
2)列表框<
select>
Option>
select.jsp
选择计算和的方式
sum.jsp"
Selectname="
sum"
size=2>
<
OptionSelectedvalue="
1"
计算1到n的连续和
Optionvalue="
2"
计算1到n的平方和
3"
计算1到n的立方和
/Select>
选择n的值:
n"
>
10"
n=10
20"
n=20
30"
n=30
40"
n=40
50"
n=50
100"
n=100
<
提交你的选择"
sum.jsp:
%longsum=0;
0"
if(s1.equals("
{intn=Integer.parseInt(s2);
for(inti=1;
i<
=n;
i++)
{sum=sum+i;
}
}
elseif(s1.equals("
{sum=sum+i*i;
{sum=sum+i*i*i;
您的求和结果是<
%=sum%>
二、Response对象
对客户的请求做出动态的响应,向客户端发送数据。
1、Response重定向
在某些情况下,当响应客户时,需要将客户重新引导至另一个页面,可以使用response的sendRedirect(URL)方法实现客户的重定向。
例如:
response2.jsp:
head>
title>
Wheretogo<
/title>
/head>
body>
%
Stringaddress=request.getParameter("
where"
if(address!
=null){
if(address.equals("
ChinaWebber"
))
response.sendRedirect("
http:
//www.ChinaW"
elseif(address.equals("
Yahoo"
response.sendRedirect("
elseif(address.equals("
Sun"
b>
Pleaseselect:
/b>
br>
goto.jsp"
method="
GET"
selectname="
optionvalue="
selected>
gotoChinaWebber
gotoSun
Microsoft"
gotoMicrosoft
/select>
go"
/form>
2、动态响应contenType属性
当一个用户访问一个jsp页面时,如果该页面用page指令设置页面的contentType属性是text/html,那么jsp引擎将按照这种属性值作出反映。
如果要动态改变这个属性值来响应客户,就需要使用response对象的setContentType(Strings)方法来改变contentType的属性值。
格式:
response.setContentType(Strings)
参数s可取text/html,,application/x-msExcel,application/msWord等。
response1.jsp
我正在学习response对象的
setContentType方法
将当前页面保存为word文档吗?
<
get"
name=form>
yes"
%Stringstr=request.getParameter("
if(str==null)
{str="
}
if(str.equals("
{response.setContentType("
application/msword;
response对象是一个javax.servlet.http.HttpServletResponse类的子类的对象
主要方法:
addCookie(Cookiecook)
addheader(Stringname,Stringvalue)
constrainsHeader(Stringname)
encodeURL()
flushBuffer()
getBufferSize()
getOutputStream()
sendError(int)
sendRedirect(Stringurl)
setContentType(StringcontentType)
setHeader(Stringname,Stringvalue)
例子:
addCookie设置Cookie
cookie是客户端保存的一种资源,常用来自动登录网站等。
index.jsp:
%@pagecontentType="
chars
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实例 详解 JSP 内置 对象