《Web 软件技术》课程实验报告华东理工大学信息学院计算机系 2017年03月03日题目 HTTP 请求对及数据处理专业 信息工程班级 信工143学号姓名 王钊健指导教师签名 范贵生实验二 HTTP请求对及数据处理姓名王钊健学号专业班级信工143 成绩_________实验日期 2017/3/2 实验地点信息大楼 215 指导教师(签名) 一.实验目的1. 掌握如何获得请求参数;2. 掌握如何检索请求头;3. 了解如何通过请求对象获得客户信息;4. 重点掌握使用请求对象存储数据和请求转发。
二.实验工具与设备三.实验内容(一)通过查询串传递请求参数,并在Servlet中检索请求参数【步骤1】编写下面的Servlet。
import .*;import .*;public class HelloUserServlet extends HttpServlet{public void service(HttpServletRequestrequest,HttpServletResponse response)throws ServletException, IOException{String userName = ("userName");PrintWriter pw = ();("<html>");("<head>");("</head>");("<body>");("<h3>Hello, " + userName + "</h3>");("</body>");("</html>");}}【步骤2】使用下面的URL访问之。
:8080/helloapp/hellouser userName=John将userName的值改为你自己的名字,看输出结果。
若不给出查询字符串,结果如何参数值使用汉字如何(二)通过表单传递请求参数,使用HttpServletRequest对象获得请求参数【步骤1】首先编写一个文件,存放在helloapp目录中。
该页面在屏幕上显示一个表单,其中包括姓名和年龄域,点击“确定”按钮后,将表单参数传递给ParamServlet并显示出来。
代码如下:<html><head><title>参数传递</title><meta http-equiv="Content-Type"content="text/html;charset=gb2312"></head><body><center><h3>从表单向Servlet传递参数</h3><form method="GET" action="paramtest" >姓名:<input type="text" name="name"><br>年龄:<input type="text" name="age"><br><input type="submit" value="确定" ><input type="reset" value="重置" ></form><center></body></html>【步骤2】编写,其代码如下:import .*;import .*;import .*;public 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 = ();("<html>");("<head>");("</head>");("<body>");("<h3>姓名:"+name+"</h3><p>");("<h3>年龄:"+age+"</h3><p>");("</body>");("</html>");}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{doGet(request, response);}}【步骤3】helloapp/。
输入数据,点击“确定”按钮,体会表单参数的传递。
问题1:如何通过超链接的锚标签(<a href>)传递请求参数(三)编写一个程序实现文件上传功能。
假设学生上传作业,需要执行学号和上传的文件。
:import .*;import .*;importimport@WebServlet(name="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 .*;importimportimport@WebServlet(name="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 .*;importimportpublic 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 = ();("<html><body>");("<center>");("学号:"+()+"<br>");("姓名:"+()+"<br>");("<a href=\"/ss/\">返回输入页面</a>");("</center>");("</body></html>");}}:<xml version=""encoding="UTF-8"><web-app xmlns:xsi= xmlns= xsi:schemaLocation= id="WebApp_ID" version=""><display-name>ss</display-name><welcome-file-list><welcome-file></welcome-file><welcome-file></welcome-file><welcome-file></welcome-file><welcome-file></welcome-file><welcome-file></welcome-file><welcome-file></welcome-file></welcome-file-list><servlet><servlet-name>FirstServlet</servlet-name><servlet-class></servlet-class></servlet><servlet-mapping><servlet-name>FirstServlet</servlet-name><url-pattern>/FirstServlet</url-pattern></servlet-mapping><servlet><servlet-name>SecondServlet</servlet-name><servlet-class></servlet-class></servlet><servlet-mapping><servlet-name>SecondServlet</servlet-name><url-pattern>/SecondServlet</url-pattern></servlet-mapping></web-app>四. 实验体会(包括收获、心得体会、存在的问题及解决问题的方法、建议等)通过本次实验,对HTTP请求对及数据处理有了一定的了解和掌握,对java web 编程更加熟悉。