《Web软件专业技术》课程实验二Word格式.docx

上传人:b****5 文档编号:17263274 上传时间:2022-11-29 格式:DOCX 页数:15 大小:111.71KB
下载 相关 举报
《Web软件专业技术》课程实验二Word格式.docx_第1页
第1页 / 共15页
《Web软件专业技术》课程实验二Word格式.docx_第2页
第2页 / 共15页
《Web软件专业技术》课程实验二Word格式.docx_第3页
第3页 / 共15页
《Web软件专业技术》课程实验二Word格式.docx_第4页
第4页 / 共15页
《Web软件专业技术》课程实验二Word格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

《Web软件专业技术》课程实验二Word格式.docx

《《Web软件专业技术》课程实验二Word格式.docx》由会员分享,可在线阅读,更多相关《《Web软件专业技术》课程实验二Word格式.docx(15页珍藏版)》请在冰豆网上搜索。

《Web软件专业技术》课程实验二Word格式.docx

throwsServletException,IOException{

StringuserName=request.getParameter("

userName"

);

PrintWriterpw=response.getWriter();

pw.println("

<

html>

"

head>

/head>

body>

h3>

Hello,"

+userName+"

/h3>

/body>

/html>

}

【步骤2】使用下面的URL访问之。

:

8080/helloapp/hellouser?

userName=John

将userName的值改为你自己的名字,看输出结果。

若不给出查询字符串,结果如何?

参数值使用汉字如何?

(二)通过表单传递请求参数,使用HttpServletRequest对象获得请求参数

【步骤1】首先编写一个input.html文件,存放在helloapp目录中。

该页面在屏幕上显示一个表单,其中包括姓名和年龄域,点击“确定”按钮后,将表单参数传递给ParamServlet并显示出来。

input.html代码如下:

title>

参数传递<

/title>

metahttp-equiv="

Content-Type"

content="

text/html;

charset=gb2312"

>

center>

<

从表单向Servlet传递参数<

formmethod="

GET"

action="

paramtest"

>

姓名:

inputtype="

text"

name="

name"

br>

年龄:

age"

submit"

value="

确定"

reset"

重置"

/form>

【步骤2】编写ParamServlet.java,其代码如下:

importjava.util.*;

publicclassParamServletextendsHttpServlet{

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

response.setCharacterEncoding("

gb2312"

response.setContentType("

Stringname=request.getParameter("

name=newString(name.getBytes("

iso8859-1"

),"

Stringage=request.getParameter("

age=newString(age.getBytes("

PrintWriterpw=response.getWriter();

pw.println("

姓名:

+name+"

p>

年龄:

+age+"

}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

doGet(request,response);

【步骤3】测试参数传递。

在浏览器的地址栏中输入:

helloapp/input.html。

输入数据,点击“确定”按钮,体会表单参数的传递。

问题1:

如何通过超链接的锚标签(<

ahref>

)传递请求参数?

(三)编写一个程序实现文件上传功能。

假设学生上传作业,需要执行学号和上传的文件。

as11.java:

importjavax.servlet.annotation.*;

@WebServlet(name="

as11"

urlPatterns={"

/"

})

@MultipartConfig(location="

D:

\\"

publicclassas11extendsHttpServlet{

publicvoiddoPost(HttpServletRequestrequest,

HttpServletResponseresponse)

throwsServletException,IOException{

//返回Web应用程序文档根目录

Stringpath=this.getServletContext().getRealPath("

Stringmnumber=request.getParameter("

mnumber"

Partp=request.getPart("

Stringmessage="

;

if(p.getSize()>

1024*1024){//上传的文件不能超过1MB大小

p.delete();

message="

文件太大,不能上传!

}else{

path=path+"

\\member\\"

+mnumber;

Filef=new);

if(!

f.exists()){//若目录不存在,则创建目录

f.mkdirs();

Stringh=p.getHeader("

content-disposition"

//得到文件名

Stringfname=h.substring(h.lastIndexOf("

)+1,h.length()-1);

p.write(path+"

+fname);

文件上传成功!

request.setAttribute("

message"

message);

RequestDispatcherrd=request.getRequestDispatcher("

rd.forward(request,response);

%@pagecontentType="

charset=UTF-8"

pageEncoding="

UTF-8"

%>

上传文件<

${message}<

formaction="

enctype="

multipart/form-data"

method="

post"

table>

tr>

tdcolspan="

2"

align="

center"

文件上传<

/td>

/tr>

td>

会员号:

size="

30"

/>

文件名:

file"

tdalign="

right"

提交"

left"

/>

/table>

xml文件部分代码:

(四)简单的综合应用<

?

xmlversion="

1.0"

encoding="

web-appxmlns:

xsi="

xmlns="

xsi:

schemaLocation="

"

id="

WebApp_ID"

version="

2.5"

display-name>

ss<

/display-name>

welcome->

welcome-<

/welcome-file>

/welcome->

servlet>

description>

/description>

FirstServlet<

servlet-name>

/servlet-name>

servlet-class>

com.demo.FirstServlet<

/servlet-class>

/servlet>

servlet-mapping>

url-pattern>

/FirstServlet<

/url-pattern>

/servlet-mapping>

SecondServlet<

com.demo.SecondServlet<

/SecondServlet<

/web-app>

【步骤1】创建一个名为input.html的HTML页面,其中包括一个表单,表单中包含两个文本域,分别供用户输入学号和姓名,该页面也包含提交和重置按钮。

【步骤2】定义一个名为com.demo.Student类,其中包括学号sno和姓名name两个private的成员变量,定义访问和修改sno和name的方法。

【步骤3】编写名为FirstServlet的Servlet,要求当用户在input.html中输入信息后点击“提交”按钮,请求FirstServlet对其处理。

在FirstServlet中使用表单传递的参数(学号和姓名)创建一个Student对象并将其作为属性存储在请求对象中,然后获得通过请求对象的getRequestDispatcher()方法获得RequestDispatcher()对象,将请求转发到SecondServlet。

【步骤4】在SecondServlet中取出请求对象上存储的Student对象,并显示输出该学生的学号和姓名。

在SecondServlet的输出中应该包含一个超链接,点击该连接可以返回input.html页面。

图2.1input.html页面显示结果图2.2SecondServlet显示结果

Input.html:

!

DOCTYPEhtml>

LoginPage<

FirstServlet"

tablewidth="

298"

border="

0"

cellpading="

cellspacing="

1"

<

学号:

snumber"

15"

sname"

登录"

&

nbsp;

取消"

Student.java:

packagecom.demo;

publicclassStudent{

privateStringsno;

privateStringname;

publicStudent(Stringsno,Stringname){

super();

this.sno=sno;

this.name=name;

publicStudent(){

publicStringgetSno(){

returnsno;

publicvoidsetSno(Stringsno){

publicStringgetName(){

returnname;

publicvoidsetName(Stringname){

FirstServlet.java:

importjavax.servlet.annotation.WebServlet;

importcom.demo.Student;

urlPatterns="

/first"

publicclassFirstServletextendsHttpServlet{

/**

*

*/

privatestaticfinallongserialVersionUID=1L;

ServletContextcontext;

publicvoidinit(){

context=getServletContext();

publicvoiddoPost(HttpServletRequestrequest,

request.setCharacterEncoding("

Stringsnumber=request.getParameter("

Stringsname=request.getParameter("

Studentstud=newStudent(snumber,sname);

request.setAttribute("

stud"

stud);

RequestDispatcherview=

request.getRequestDispatcher("

/SecondServlet"

view.forward(request,response);

SecondServlet.java:

publicclassSecondServletextendsHttpServlet{

Studentstud=(Student)request.getAttribute("

PrintWriterout=response.getWriter();

out.println("

+stud.getSno()+"

+stud.getName()+"

ahref=\"

/ss/input.html\"

返回输入页面<

/a>

/center>

Web.xml:

四.实验体会(包括收获、心得体会、存在的问题及解决问题的方法、建议等)

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

当前位置:首页 > 高中教育 > 小学教育

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

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