web实验三 Servlet API中请求和响应的应用
实验三Servlet API中请求和响应的应用
一、实验目的:
- 掌握使用Servlet API进行HTTP请求参数的处理;
- 掌握使用Servlet API进行HTTP响应的处理。
二、实验内容和主要步骤:
- 在项目中编写一个表单页面register.html,完成注册,输入用户名,密码,性别,爱好,所在城市(用下拉列表实现)等信息提交给url为process的Servlet。
- 编写Servlet类process.java完成对表单页面的处理,通过Servlet API完成所有输入参数的读取,如果用户名和密码任意一个为空则通过HttpServletResponse重定向到register.html重新输入信息。如果用户名和密码均不为空则把所有的注册信息每项一行全部在网页中输出;
- 注意在请求参数的乱码处理,保证输出的中文信息没有乱码。
- 完成对Servlet的正确的部署,启动服务器完成整个注册。
三、实验要求:
- 完成上述任务,编写完整的代码调试并使之运行正确;
- 写出实验报告(在实验系统完成)
项目结构:

代码
register.html:
1 <html> 2 3 <head> 4 <title>HTML注册表单</title> 5 </head> 6 7 <body> 8 <form action="process" method="get" onsubmit="return sub()" name=form> 9 用户名:<input type="text" name="name" value="" /><br> 10 密码: <input type="password" name="password" value="" /><br> 11 确认密码:<input type="password" name="repassword" value="" /><br> 12 性别:<input type="radio" name="sex" value="男" checked=”default” />男 13 <input type="radio" name="sex" value="女" />女<br> 14 城市: <select name="city"> 15 <option value="南阳">南阳</option> 16 <option value="北京">北京</option> 17 <option value="上海">上海</option> 18 <option value="广州">广州</option> 19 <option value="深圳">深圳</option> 20 </select><br> 21 兴趣爱好:<input type="checkbox" name="read" value="阅读" />阅读 22 <input type="checkbox" name="travel" value="旅游" />旅游 23 <input type="checkbox" name="Internet" value="上网" />上网 24 <input type="submit" value="提交" /> 25 </form> 26 </body> 27 28 </html>
process.java:
1 package tu; 2 3 import java.io.IOException; 4 import javax.servlet.ServletException; 5 import javax.servlet.annotation.WebServlet; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 10 /** 11 * Servlet implementation class process 12 */ 13 public class process extends HttpServlet { 14 private static final long serialVersionUID = 1L; 15 16 /** 17 * @see HttpServlet#HttpServlet() 18 */ 19 public process() { 20 super(); 21 // TODO Auto-generated constructor stub 22 } 23 24 /** 25 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 26 */ 27 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 28 // TODO Auto-generated method stub 29 response.setContentType("text/html;charset=UTF-8"); 30 if(request.getParameter("")==null&&request.getParameter("password")=="") { 31 response.sendRedirect("/servlet2/register.html"); 32 } 33 response.getWriter().append("用户名:"+request.getParameter("name")+"<br>"); 34 response.getWriter().append("密码:"+request.getParameter("password")+"<br>"); 35 response.getWriter().append("性别:"+request.getParameter("sex")+"<br>"); 36 response.getWriter().append("爱好:"+request.getParameter("read")); 37 response.getWriter().append(request.getParameter("travel")); 38 response.getWriter().append(request.getParameter("Internet")+"<br>"); 39 response.getWriter().append("所在城市:"+request.getParameter("city")+"<br>"); 40 41 42 } 43 44 /** 45 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 46 */ 47 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 48 // TODO Auto-generated method stub 49 doGet(request, response); 50 } 51 52 }
web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>web test2</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <description> </description> <display-name>process</display-name> <servlet-name>process</servlet-name> <servlet-class>tu.process</servlet-class> </servlet> <servlet-mapping> <servlet-name>process</servlet-name> <url-pattern>/process</url-pattern> </servlet-mapping> </web-app>
浙公网安备 33010602011771号