第4章 JSP内置对象Word文件下载.docx

上传人:b****7 文档编号:21924111 上传时间:2023-02-01 格式:DOCX 页数:37 大小:680.81KB
下载 相关 举报
第4章 JSP内置对象Word文件下载.docx_第1页
第1页 / 共37页
第4章 JSP内置对象Word文件下载.docx_第2页
第2页 / 共37页
第4章 JSP内置对象Word文件下载.docx_第3页
第3页 / 共37页
第4章 JSP内置对象Word文件下载.docx_第4页
第4页 / 共37页
第4章 JSP内置对象Word文件下载.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

第4章 JSP内置对象Word文件下载.docx

《第4章 JSP内置对象Word文件下载.docx》由会员分享,可在线阅读,更多相关《第4章 JSP内置对象Word文件下载.docx(37页珍藏版)》请在冰豆网上搜索。

第4章 JSP内置对象Word文件下载.docx

返回name指定参数的参数值

8

getParameterNames()

返回可用参数名的枚举

9

getParameterValues(Stringname)

返回包含参数name的所有值的数组

10

getProtocol()

返回请求用的协议类型及版本号

11

getServerName()

返回接受请求的服务器主机名

12

getServerPort()

返回服务器接受此请求所用的端口号

13

getReader()

返回解码过了的请求体

14

getRemoteAddr()

返回发送此请求的客户端IP地址

15

getRemoteHost()

返回发送此请求的客户端主机名

16

*setAttribute(Stringkey,Objectobj)

设置属性的属性值

17

getRealPath(Stringpath)

返回一虚拟路径的真实路径

18

getMethod()

返回客户向服务器传输数据的方式

19

getRequestURL()

返回发出请求字符串的客户端地址

20

*getSession()

创建一个session对象

表4-1request对象方法

下面的程序示例了request对象的一些常用方法,通常使用request对象来获得客户端传来的数据。

example4_1.jsp

<

%@pagecontentType="

text/html;

charset=gb2312"

%>

%request.setCharacterEncoding("

gb2312"

);

%@pageimport="

java.util.Enumeration"

html>

head>

<

title>

request对象示例<

/title>

/head>

bodybgcolor="

#FFFFF0"

>

h4>

一.request对象常用方法<

/h4>

请求方式:

<

%=request.getMethod()%>

br>

请求的资源:

%=request.getRequestURI()%>

请求用的协议:

%=request.getProtocol()%>

请求的文件名:

%=request.getServletPath()%>

请求的服务器的IP:

%=request.getServerName()%>

请求服务器的端口:

%=request.getServerPort()%>

客户端IP地址:

%=request.getRemoteAddr()%>

客户端主机名:

%=request.getRemoteHost()%>

表单提交来的值:

%=request.getParameter("

qwe"

)%>

二.使用request获取客户端提交的参数<

formaction="

"

method="

post"

用户名:

<

inputtype="

text"

name="

username"

&

nbsp;

&

密码:

userpass"

submit"

value="

进入"

/form>

%Stringstr="

;

if(request.getParameter("

)!

=null

&

request.getParameter("

=null){

Enumerationenumt=request.getParameterNames();

while(enumt.hasMoreElements()){

str=enumt.nextElement().toString();

out.println(str+"

:

+request.getParameter(str)+"

}

}

%>

擅长:

checkbox"

cb"

ON1"

VC++&

ON2"

JAVA&

ON3"

DELPHI&

ON4"

VB&

%if(request.getParameter("

=null){

for(inti=0;

i<

request.getParameterValues("

).length;

i++){

out.println("

+i+"

+request.getParameterValues("

)[i]

+"

}

out.println(request.getParameter("

));

}

%>

/body>

/html>

执行结果如图4-1所示:

图4-1

4.2.2request对象的常用技术

1、用getParameter方法获取表单提交信息

request对象获取客户提交信息的最常用的方法是getParameter(Strings)。

在下面的示例,form.html通过表单向requestForm1.jsp提交用户名和密码信息;

requestForm1.jsp通过request对象获取表单提交的信息。

form1.html示例代码:

HTML>

BODY>

FORMACTION=“requestForm1.jsp"

METHOD="

POST"

P>

姓名:

INPUTTYPE="

TEXT"

SIZE="

20"

NAME="

UserID"

/P>

密码:

PASSWORD"

UserPWD"

SUBMIT"

VALUE="

提交"

/FORM>

/BODY>

/HTML>

图4-2

requestForm.jsp示例代码:

charset=GBK"

%

StringstrUserName="

StringstrUserPWD="

strUserName=request.getParameter("

strUserPWD=request.getParameter("

姓名:

%=strUserName%>

密码:

%=strUserPWD%>

图4-3

2、用getParameterValues方法获取表单成组信息

通过request对象的getParameterValues方法可以获得指定参数的成组信息,通常在表单的复选框中使用。

该方法的原型如下:

publicString[]getParameterValues(Stringstr)

下面示例中,form2.html表单中有三个复选框,选中复选框后,表单信息提交给requestForm2.jsp,在requestForm2.jsp中使用getParameterValues获取复选框的成组信息并显示。

form2.html

body>

formid="

form1"

action="

requestForm2.jsp"

请选择喜欢的水果:

p>

apple"

/>

apple

banana"

banana

peach"

peach<

Submit"

提交"

图4-4

requestForm2.jsp

String[]temp=request.getParameterValues("

你喜欢的水果是:

for(inti=0;

i<

temp.length;

i++){

out.println(temp[i]+"

"

}

图4-5

3、表单信息获取的综合应用

下面示例通过request对象中的常用方法获取表单中的各类信息。

注意:

request对象中获取中文信息经常出现乱码,在requestForm3.jsp中编写了trans方法解决乱码文题。

form3.html

requestForm3.jsp"

name"

密码:

password"

pass"

性别:

inputname="

sex"

type="

radio"

男"

checked="

checked"

女"

女<

性格:

热情大方"

热情大方

温柔体贴"

温柔体贴

多愁善感"

多愁善感<

简介:

textareaname="

textarea"

/textarea>

城市:

selectname="

select"

optionvalue="

北京"

北京<

/option>

上海"

上海<

/select>

图4-6

requestForm3.jsp

%!

publicStringtrans(Stringstr)throwsException{

byteb[]=str.getBytes("

ISO-8859-1"

str=newString(b);

returnstr;

%>

Stringname=trans(request.getParameter("

Stringpass=trans(request.getParameter("

Stringsex=trans(request.getParameter("

String[]temp=request.getParameterValues("

Stringxingge="

for(inti=0;

xingge=xingge+temp[i]+"

xingge=trans(xingge);

Stringjianjie=trans(request.getParameter("

Stringcity=trans(request.getParameter("

%>

姓名:

%=name%>

%=pass%>

%=sex%>

性格:

%=xingge%>

简介:

%=jianjie%>

%=city%>

图4-7

4、利用request传递任意类型对象数据

正如上述,request主要用来传递数据的(二个页面之间)。

大多数情况下,利用其getParameter()和getParameterValues()方法获取各类表单信息,一般是字符串或字符串数组类型。

有时,项目要求传递其它类型值,如,在一个servlet中,通过数据库操作,得到一个学生记录集,以二维数组形式存放,具体可以用ArrayList实现。

进一步,把该记录集传递到一JSP页面,用于显示该记录集,此时,就可以利用request的setAttribute(Stringkey,Objectobj)和getAttribute(Stringkey)来设值和取值了。

详细代码以后章节会介绍,示意代码如下所示。

servlet

ArrayListstudentList;

//其具体值的获得略。

request.setAttribute(“student”,studentList);

forward到A.jsp;

A.jsp

ArrayListlist=(ArrayList)request.getAttribute(“student”);

4.3response对象

request对象和response对象是相辅相成的,request对象用来得到客户端的信息。

response对象处理服务器端对客户端的一些响应,request用来得到客户端信息,用response处理响应。

response对象对客户的请求做出动态的响应,向客户端发送数据。

它是HttpServletResponse类的实例。

4.3.1response对象主要方法

addCoolie(Cookiecoolie)

向客户端写入一个cookie

addHeader(Stringname,Stringvalue)

添加HTTP文件头

containsHeader(Stringname)

判断名为name的header文件头是否存在

encodeURL(Stringurl)

把sessionId作为URL参数返回到客户端

getOutputStream()

获得到客户端的输出流对象

sendError(int)

向客户端发送错误信息。

如404信息

sendRedirect(Stringurl)

重定向请求

setContentType(Stringtype)

设置响应的MIME类型

setHeader(Stringname,Stringvalue)

设置指定的HTTP文件的头信息值,如果该值已经存在,则新值会覆盖原有的旧值.

表4-2

4.3.2response对象的常用技术

1、使用response对象设置Http文件的头信息

这里主要介绍两个方法:

setContentType(Stringtype)和setHeader(Stringname,Stringvalue)。

setContentType(Strings)方法可以动态改变ContentType的属性值,参数s可取text/html、text/plain、application/x-msexcel、application/msworld等。

在下面的示例中,当用户选择用world显示文件时,response对象将contentType属性值设置成为application/msworld。

同样,当用户选择用excel显示文件时,response对象将contentType属性值设置成为application/x-msexcel。

A.txt

34795199<

40699222<

67718520<

72307838<

55613943<

43811055<

36934199<

contenttype.html

BODYbgcolor=cyan>

Fontsize=5>

您想使用什么方式查看文本文件A.txt?

FORMaction="

response1.jsp"

name=form>

word"

submit1"

excel"

submit2"

/FONT>

response1.jsp

Stringstr1=request.getParameter("

Stringstr2=request.getParameter("

if(str1==null){

str1="

if(str2==null){

str2="

if(str1.startsWith("

)){

response.setContentType("

application/msword;

charset=GB2312"

out.print(str1);

if(str2.startsWith("

application/x-msexcel;

jsp:

includepage="

A.txt"

/>

setHeader(Stringname,Stringvalue)方法可以添加新的相应头和头的值。

下面的示例中response对象添加一个响应头refresh,其头值是“3”。

那么客户收到这个头之后,每隔3秒刷新一次页面。

response2.jsp

%@pageco

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1