实验2-Http请求.

上传人:我** 文档编号:115840101 上传时间:2019-11-15 格式:DOC 页数:9 大小:1.08MB
返回 下载 相关 举报
实验2-Http请求._第1页
第1页 / 共9页
实验2-Http请求._第2页
第2页 / 共9页
实验2-Http请求._第3页
第3页 / 共9页
实验2-Http请求._第4页
第4页 / 共9页
实验2-Http请求._第5页
第5页 / 共9页
点击查看更多>>
资源描述

《实验2-Http请求.》由会员分享,可在线阅读,更多相关《实验2-Http请求.(9页珍藏版)》请在金锄头文库上搜索。

1、实验2 HTTP请求对象一、实验目的1. 掌握如何获得请求参数;2. 掌握如何检索请求头;3. 了解如何通过请求对象获得客户信息;4. 重点掌握使用请求对象存储数据和请求转发。 二、实验原理对客户的请求,容器根据请求调用Servlet的相应doXxx()方法,该方法带有两个参数,一个是HttpServletRequest,一个是HttpServletResponse,它们分别表示请求对象和响应对象,它们是容器自动创建的两个对象。可以使用这两个接口定义的若干方法完成有关操作。三、实验内容与步骤(一)通过查询串传递请求参数,并在Servlet中检索请求参数【步骤1】编写下面的Servlet。pac

2、kage cn.edu.servlet.request;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(user

3、Name);PrintWriter pw = response.getWriter();pw.println();pw.println();pw.println();pw.println();pw.println(Hello, + userName + );pw.println();pw.println();【步骤2】在MyEcipse下查看web.xml文件,关键代码如下: HelloUserServlet cn.edu.servlet.request.HelloUserServle HelloUserServlet /myHelloUserServlet 【步骤3】使用下面的URL访问之。

4、http:/localhost:8080/prac02_request/myHelloUserServlet?userName=tom效果:将userName的值改为你自己的名字(不要使用汉字),看输出结果。若不给出查询字符串,结果如何?参数值使用汉字如何?将userName的值改为自己的名字(不使用汉字)结果如下:若不给出查询字符串结果如下:参数值使用汉字结果如下:从该实验可知尽管未对response对象进行转码操作,但还是可以正确显示中文。(二)通过表单传递请求参数,使用HttpServletRequest对象获得请求参数【步骤1】首先编写一个input.html文件,存放在helloap

5、p目录中。该页面在屏幕上显示一个表单,其中包括姓名和年龄域,点击“确定”按钮后,将表单参数传递给ParamServlet并显示出来。input.html代码如下:参数传递 从表单向Servlet传递参数 姓名: 年龄: 【步骤2】编写ParamServlet.java,其代码如下:package cn.edu.servlet.request;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;public class ParamServlet extends HttpSer

6、vlet public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setCharacterEncoding(UTF-8); response.setContentType(text/html;charset= UTF-8); String name = request.getParameter(name);name = new String(name.getBytes(iso8859-1), UTF-8);S

7、tring age = request.getParameter(age); 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 ServletEx

8、ception, IOException doGet(request, response); 【步骤3】查看web.xml文件,关键代码如下: ParamServlet cn.edu.servlet.request.ParamServlet ParamServlet /myParamServlet【步骤4】测试参数传递。在浏览器的地址栏中输入:http:/localhost:8080/prac02_request/input.html。输入数据,点击“确定”按钮,体会表单参数的传递。测试过程如下:测试结果:问题1:如何通过超链接的锚标签()传递请求参数?用get方式提交表单,形式如下(三)编写

9、一个Servlet,显示所有请求头【步骤1】ShowHeadersServlet.java的Servlet能够检索所有的请求头,代码如下:package cn.edu.servlet.request;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;public class ShowHeadersServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResp

10、onse response) throws ServletException, IOException response.setContentType(text/html;charset=gb2312); PrintWriter out = response.getWriter(); out.println(); out.println(All Headers); out.println(); out.println(); out.println(All Request Headers); out.println(n+ n+ Header NameHeader Value); Enumerat

11、ion headerNames = request.getHeaderNames(); while(headerNames.hasMoreElements() String headerName = (String)headerNames.nextElement(); out.println(+headerName); out.println(+request.getHeader(headerName); out.println(n); public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletExcep

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号