当前位置:文档之家› Web软件技术课程实验二完整版

Web软件技术课程实验二完整版

Web软件技术课程实验二完整版
Web软件技术课程实验二完整版

W e b软件技术课程实验

集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]

《Web 软件技术》课程

实验报告

华东理工大学信息学院计算机系 2017年03月03日题目 HTTP 请求对及数据处理

专业 信息工程

班级 信工143

学号

实验二 HTTP请求对及数据处理

姓名王钊健学号专业班级信工143 成绩_________

实验日期 2017/3/2 实验地点信息大楼 215 指导教师(签名) 一.实验目的

1. 掌握如何获得请求参数;

2. 掌握如何检索请求头;

3. 了解如何通过请求对象获得客户信息;

4. 重点掌握使用请求对象存储数据和请求转发。

二.实验工具与设备

三.实验内容

(一)通过查询串传递请求参数,并在Servlet中检索请求参数【步骤1】编写下面的Servlet。

import .*;

import .*;

import class HelloUserServlet extends HttpServlet{

public void service(HttpServletRequest request,HttpServletResponse response)

throws ServletException, IOException{

String userName = ("userName");

PrintWriter pw = ();

("");

("");

("");

("");

("

Hello, " + userName + "

");

("");

("");

}

}

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

,看输出结果。若不给出查询字符串,结果如何参数值使用汉字如何

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

【步骤1】首先编写一个文件,存放在helloapp目录中。该页面在屏幕上

显示一个表单,其中包括姓名和年龄域,点击“确定”按钮后,将表单参数传

递给ParamServlet并显示出来。

代码如下:

参数传递

content="text/html;charset=gb2312">

从表单向Servlet传递参数

姓名:

年龄:

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

import .*;

import .*;

import .*;

import class ParamServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException{

("gb2312");

("text/html;charset=gb2312");

String name = ("name");

name = new String("iso8859-1"),"gb2312");

String age = ("age");

age = new String("iso8859-1"),"gb2312");

PrintWriter pw = ();

("");

("");

("");

("");

("

姓名:"+name+"

");

("

年龄:"+age+"

");

("");

("");

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException{

doGet(request, response);

}

}

【步骤3】测试参数传递。在浏览器的地址栏中输入:,点击“确定”按钮,体会表单参数的传递。

问题1:如何通过超链接的锚标签()传递请求参数

(三)编写一个程序实现文件上传功能。假设学生上传作业,需要执行学号和上传的文件。

:

import .*;

import .*;

import"as11",urlPatterns={"/"})

@MultipartConfig(location="D:\\",fileSizeThreshold=1024)

public class as11 extends HttpServlet{

public void doPost(HttpServletRequest request,

HttpServletResponse response)

throws ServletException,IOException{ etRealPath("/");

String mnumber = ("mnumber");

Part p = ("fileName");

String message="";

if() >1024*1024){ ;

import .*;

import"FirstServlet",urlPatterns="/first")

public class FirstServlet extends HttpServlet { /**

*

*/

private static final long serialVersionUID = 1L; ServletContext context;

public void init(){

context = getServletContext();

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException{

("gb2312");

String snumber = ("snumber");

String sname = ("sname");

Student stud = new Student(snumber,sname); ("stud",stud);

RequestDispatcher view =

("/SecondServlet");

(request, response);

}

}

:

package ;

import .*;

import .*;

import class SecondServlet extends HttpServlet { /**

*

*/

private static final long serialVersionUID = 1L; ServletContext context;

public void init(){

context = getServletContext();

}

public void doPost(HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException{ Student stud = (Student)("stud");

("text/html;charset=gb2312");

PrintWriter out = ();

("");

("

");

("学号:"+()+"
");

("姓名:"+()+"
");

("返回输入页面"); ("

");

("");

}

}

:

ss

FirstServlet

FirstServlet

/FirstServlet

SecondServlet

SecondServlet

/SecondServlet

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

等)

通过本次实验,对HTTP请求对及数据处理有了一定的了解和掌握,对java web 编程更加熟悉。比较容易出现404的问题,通过学习与仔细观察,处理问题的能力得到了一定的增强。

五.思考题

1. 在Servlet中如何获得请求参数

答:web组件之间参数传递有3种方式:

(1)("name");

a、通过超链接

b、通过表单

c、通过servlet转发或重定向

d、通过隐藏域完成

(2)("key");如何实现请求转发如何在请求对象中共享数据

jsp: ("/*.jsp").forward(request,response);

servlet:sendRedirect()方法原理:

1,客户端发送请求,Servlet1做出处理。

2,Servlet1调用sendReadirect()方法,将客户端的请求重新定位到Servlet2。

3,客户端访问Servlet2.

4,Servlet2对客户端浏览器做出响应。

forward()方法原理:

1,客户端发送请求,Servlet1做出处理。

2,Servlet调用forward()方法,将请求转发给Servlet2来处理请求,为客户端服务.

3,Servlet2对客户端浏览器做出响应。

<:forward/>或

("").forward();

("").include();

相关主题
文本预览
相关文档 最新文档