《Web软件技术》课程实验二.doc_第1页
《Web软件技术》课程实验二.doc_第2页
《Web软件技术》课程实验二.doc_第3页
《Web软件技术》课程实验二.doc_第4页
《Web软件技术》课程实验二.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Web软件技术Web软件技术课程实验报告题目 HTTP请求对及数据处理 专业 信息工程 班级 信工143 学号 10141463 姓名 王钊健 指导教师签名 范贵生 华东理工大学信息学院计算机系2017年03月03日1实验二 HTTP请求对及数据处理姓名 王钊健 学号 10141463 专业班级 信工143 成绩_实验日期 2017/3/2 实验地点 信息大楼 215 指导教师(签名) 一实验目的1. 掌握如何获得请求参数;2. 掌握如何检索请求头;3. 了解如何通过请求对象获得客户信息;4. 重点掌握使用请求对象存储数据和请求转发。二实验工具与设备三实验内容(一)通过查询串传递请求参数,并在Servlet中检索请求参数【步骤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(userName);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的值改为你自己的名字,看输出结果。若不给出查询字符串,结果如何?参数值使用汉字如何?(二)通过表单传递请求参数,使用HttpServletRequest对象获得请求参数【步骤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 ParamServlet 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.getBytes(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(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request, response); 【步骤3】测试参数传递。在浏览器的地址栏中输入:http:/localhost:8080/helloapp/input.html。输入数据,点击“确定”按钮,体会表单参数的传递。问题1:如何通过超链接的锚标签()传递请求参数?(三)编写一个程序实现文件上传功能。假设学生上传作业,需要执行学号和上传的文件。as11.java:import java.io.*;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) throws 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 + 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文件部分代码: (四)简单的综合应用 ss index.html index.htm index.jsp default.html default.htm default.jsp FirstServlet FirstServlet com.demo.FirstServlet FirstServlet /FirstServlet SecondServlet SecondServlet com.demo.SecondServlet SecondServlet /SecondServlet 【步骤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.1 input.html页面显示结果 图2.2 SecondServlet显示结果 Input.html: Login Page 学号: 姓名:   Student.java:package com.demo;public class Student private String sno;private String name;public Student(String sno,String name)super();this.sno=sno;=name;public Student()super();public String getSno()return sno;public void setSno(String sno)this.sno=sno;public String getName()return name;public void setName(String name)=name;FirstServlet.java:package com.demo;import java.io.*;import javax.servlet.*;import javax.servlet.annotation.WebServlet;import javax.servlet.http.*;import com.demo.Student;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 request.setCharacterEncoding(gb2312); String snumber = request.getParameter(snumber); String sname = request.getParameter(sname); Student stud = new Student(snumber,sname); request.setAttribute(stud,stud); RequestDispatcher view = request.getRequestDispatcher(/SecondServlet); view.forward(request, response); SecondServlet.java:package com.demo;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import com.demo.Student;public 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)request.getAttribute(stud); response.setContentType(text/html;charset=gb2312); PrintWriter out = response.getWriter(); out.println(); out.println(); out.println(学号:+stud.getSno()+); out.println(姓名:+stud.getName()+); out.println(返回输入页面); out.println(); out.println(); Web.xml: ss index.html index.htm index.jsp default.html default.htm default.jsp FirstServlet com.demo.FirstServlet FirstServlet /FirstServlet SecondServlet com.demo.SecondServlet SecondServlet /SecondServlet 四. 实验体会(包括收获、心得体会、存在的问题及解决问题的方法、建议等)通过本次实验,对HTTP请求对及数据处理有了一定的了解和掌握,对java web编程更加熟悉。比较容易出现404的问题,通过学习与仔细观察,处理问题的能力得到了一定的增强。五思考题1. 在Servlet中如何获得请求参数?答:web组件之间参数传递有3种方式:(1)request.getParameter(name);a、通过超链接b、通过表单c、通过s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论