web實驗三 Servlet API中請求和響應的應用
阿新 • • 發佈:2020-12-22
實驗三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 性別:<inputtype="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>