java web实验2

  • 格式:pdf
  • 大小:305.00 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
步骤 2:定义一个名为 Student 类,保存在 com.demo 包中,其中包括学号 sno 和姓名 name 两个 private 的成员变量,定义访问和修改 sno 和 name 的方法。
package com.demo;
public class Student{ private String sno; private String name; public void setSno(String sno){ this.sno = sno; } public String getSno(){ return this.sno; }
2
</tr> <tr>
<td align="right">姓名:</td> <td><input type="text" name="sname" size="15"></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="登录"> &nbsp; <input type="reset" value="取消"></td> </tr> </table> </form>
String userName = request.getParameter("userName"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("</head>"); out.println("<body>"); out.println("<h3>Hello, " + userName + "</h3>"); out.println("</body>"); out.println("</html>"); } }
1
步骤 2:编写 ParamServlet.java,其主要代码如下:
package com.demo; …
public class ParamServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ response.setCharacterEncoding("gb2312"); response.setContentType("text/html;charset=gb2312");
throws ServletException, IOException{ Student stud = (Student)request.getAttribute("stud"); response.setContentType("text/html;charset=gb2312"); PrintWriter out = response.getWriter(); out.println("<html><body>"); out.println("<center>"); out.println("学号:"+stud.getSno()+"<br>"); out.println("姓名:"+stud.getName()+"<br>"); out.println("<a href=\"/helloweb/input.html\">返回输入页面</a>"); out.println("</center>"); out.println("</body></html>"); } }
package com.demo; … @WebServlet("/HelloUserServlet")——使用 tomcat7.0 版本时才显示此内容 public class HelloUserServlet extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{ doGet(request, response); } }
步骤 3:访问 input.jsp 页面。输入数据,点击“确定”按钮,体会表单参数的传递。 任务 3:简单的综合应用,请求转发以及使用请求对象存储数据。 步骤 1:创建一个名为 input.html 的 HTML 页面,其中包括一个表单,表单中包含两个 文本域,分别供用户输入学号和姓名,该页面也包含提交和取消按钮。
<h3>从表单向 Servlet 传递参数</h3> <form method="GET" action="ParamServlet" >
姓名:<input type="text" name="name"><br> 年龄:<input type="text" name="age"><br> <input type="submit" value="确定" > <input type="reset" value="重置" > </form>
图 2.1 input.html 页面显示结果
input.html 的主要代码如下:
<form action="firstservlet" method="post"> <table width="298" border="0" align="center" cellpading="2" cellspacing="1"> <tr> <td align="right">学号:</td> <td align="left"><input type="text" name="snumber" size="15"></td>
public void setSname(String sname){ this.sname = sname;
} public String getSname(){
return this.sname; } }
步骤 3:编写名为 FirstServlet 的 Servlet,保存在 com.demo 包中,要求当用户在 input.html 中输入信息后点击“提交”按钮,请求 FirstServlet 对其处理。在 FirstServlet 中使用表单传 递的参数(学号和姓名)创建一个 Student 对象并将其作为属性存储在请求对象中,然后通 过请求对象的 getRequestDispatcher()方法获得 RequestDispatcher()对象,将请求转发到 SecondServlet。
3.2 实验二 HTTP 请求对象
一. 实验目的
1. 掌握如何获得请求参数; 2. 掌握如何检索请求头; 3. 了解如何通过请求对象获得客户信息; 4. 重点掌握使用请求对象存储数据和请求转发。
二ຫໍສະໝຸດ Baidu 实验内容
任务 1:通过查询串传递请求参数,并在 Servlet 中检索请求参数 步骤 1:在 helloweb 项目中创建一个 Servlet,主要代码如下。
request.getRequestDispatcher("/secondservlet"); view.forward(request, response); } }
步骤 4:在 SecondServlet 中取出请求对象上存储的 Student 对象,并显示输出该学生的 学号和姓名。在 SecondServlet 的输出中应该包含一个链接,点击连接返回到 input.html 页面。
String name = request.getParameter("name"); name = new String(name.getBytes("iso8859-1"),"gb2312"); String age = request.getParameter("age");
PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("</head>"); out.println("<body>"); out.println("<h3>姓名:"+name+"</h3><p>"); out.println("<h3>年龄:"+age+"</h3><p>"); out.println("</body>"); out.println("</html>"); }
图 2.2 SecondServlet 显示结果
SecondServlet.java 的主要代码如下:
package com.demo; … public class SecondServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
3
String sname = request.getParameter("sname"); Student stud = new Student(snumber,sname); request.setAttribute("stud",stud); RequestDispatcher view =
三. 思考题 1. 在 Servlet 中如何获得请求参数? 2. 如何实现请求转发?如何使用请求对象中存储数据?
4
FirstServlet.java 的代码如下:
package com.demo; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import com.model.Student;
public class FirstServlet extends HttpServlet { 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");
步骤 2:在 Eclipse 中直接执行该 Servlet,结果如何?如何使用 URL 为该 Servlet 传递 请求参数?
步骤 3:使用下面的 URL 访问之。
http://localhost:8080/helloweb/HelloUserServlet?userName=John
将 userName 的值改为你自己的名字(使用中文),看输出结果如何? 步骤 4:编写一个简单的 HTML 页面,在该页面中定义一个超链接(<a href>)来访 问前面的 Servlet,并通过链接的 URL 传递请求参数? 任务 2:通过表单传递请求参数,使用 HttpServletRequest 对象获得请求参数 步骤 1:在 helloweb 项目中建立一个名为 input.jsp 的页面,该页面中包含一个表单,其 中包括姓名和年龄域,点击“确定”按钮后,将表单参数传递给 ParamServlet 并显示出来。 input.jsp 的主要代码如下: