1、Web软件技术课程实验二Web软件技术课程实验报告题目 HTTP请求对及数据处理 专业 信息工程 班级 信工143 学号 10141463 姓名 王钊健 指导教师签名 范贵生 华东理工大学信息学院计算机系2017年03月03日实验二 HTTP请求对及数据处理姓名 王钊健 学号 * 专业班级 信工143 成绩_实验日期 2017/3/2 实验地点 信息大楼 215 指导教师(签名) 一实验目的1. 掌握如何获得请求参数;2. 掌握如何检索请求头;3. 了解如何通过请求对象获得客户信息;4. 重点掌握使用请求对象存储数据和请求转发。二实验工具与设备三实验内容(一)通过查询串传递请求参数,并在Ser
2、vlet中检索请求参数【步骤1】编写下面的Servlet。import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class HelloUserServlet extends HttpServletpublic void service(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOExceptionString userName = request.getParameter(use
3、rName);PrintWriter pw = response.getWriter();pw.println();pw.println();pw.println();pw.println();pw.println(Hello, + userName + );pw.println();pw.println();【步骤2】使用下面的URL访问之。http:/localhost:8080/helloapp/hellouser?userName=John将userName的值改为你自己的名字,看输出结果。若不给出查询字符串,结果如何?参数值使用汉字如何?(二)通过表单传递请求参数,使用HttpSer
4、vletRequest对象获得请求参数【步骤1】首先编写一个input.html文件,存放在helloapp目录中。该页面在屏幕上显示一个表单,其中包括姓名和年龄域,点击“确定”按钮后,将表单参数传递给ParamServlet并显示出来。input.html代码如下:参数传递 从表单向Servlet传递参数 姓名: 年龄: 【步骤2】编写ParamServlet.java,其代码如下:import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;public class ParamS
5、ervlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setCharacterEncoding(gb2312); response.setContentType(text/html;charset=gb2312); String name = request.getParameter(name);name = new String(name.getByt
6、es(iso8859-1),gb2312); String age = request.getParameter(age);age = new String(age.getBytes(iso8859-1),gb2312); PrintWriter pw = response.getWriter(); pw.println(); pw.println(); pw.println(); pw.println(); pw.println(姓名:+name+); pw.println(年龄:+age+); pw.println(); pw.println(); public void doPost(H
7、ttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request, response); 【步骤3】测试参数传递。在浏览器的地址栏中输入:http:/localhost:8080/helloapp/input.html。输入数据,点击“确定”按钮,体会表单参数的传递。问题1:如何通过超链接的锚标签()传递请求参数?(三)编写一个程序实现文件上传功能。假设学生上传作业,需要执行学号和上传的文件。as11.java:import java.io.*;
8、import javax.servlet.*;import javax.servlet.http.*;import javax.servlet.annotation.*; WebServlet(name=as11,urlPatterns=/fileUpload.do)MultipartConfig(location=D:,fileSizeThreshold=1024)public class as11 extends HttpServletpublic void doPost(HttpServletRequest request,HttpServletResponse response) th
9、rows ServletException,IOException/ 返回Web应用程序文档根目录String path = this.getServletContext().getRealPath(/); String mnumber = request.getParameter(mnumber);Part p = request.getPart(fileName); String message=; if(p.getSize() 1024*1024) / 上传的文件不能超过1MB大小 p.delete(); message = 文件太大,不能上传!; else path = path +
10、member +mnumber;File f = new File(path); if( !f.exists() / 若目录不存在,则创建目录 f.mkdirs();String h = p.getHeader(content-disposition);/ 得到文件名String fname = h.substring(h.lastIndexOf()+1, h.length()-1); p.write(path + + fname); message = 文件上传成功!; request.setAttribute(message, message);RequestDispatcher rd = request.getRequestDispatcher(/fileUpload.jsp);rd.forward(request, response);fileUpload.jsp:上传文件$message 文件上传 会员号: 文件名: xml文件部分代码: (四)简单的综合应用web-app xmlns:xsi=http:/www.w3.org/2001/XMLSchema-instance xmlns= xsi:schemaLocation= id=WebApp_ID version=2.5
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1