JavaWeb學習(九)HttpServletRequest基本應用——客戶端提交表單到伺服器(2)
阿新 • • 發佈:2018-12-28
一、獲得客戶機請求引數(客戶端提交的資料)
- getParameter(String)方法(常用)
- getParameterValues(String name)方法(常用)
- getParameterNames()方法(不常用)
- getParameterMap()方法(編寫框架時常用)
工程樹:
Request.java
import java.io.IOException; import java.text.MessageFormat; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 獲取客戶端通過Form表單提交上來的引數 */ public class Request extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //客戶端是以UTF-8編碼提交表單資料的,所以需要設定伺服器端以UTF-8的編碼進行接收,否則對於中文資料就會產生亂碼 request.setCharacterEncoding("UTF-8"); /** * 編 號(文字框): <input type="text" name="userid" value="NO." size="2" maxlength="2"> */ String userid = request.getParameter("userid");//獲取填寫的編號,userid是文字框的名字,<input type="text" name="userid"> /** * 使用者名稱(文字框):<input type="text" name="username" value="請輸入使用者名稱"> */ String username = request.getParameter("username");//獲取填寫的使用者名稱 /** * 密 碼(密碼框):<input type="password" name="userpass" value="請輸入密碼"> */ String userpass = request.getParameter("userpass");//獲取填寫的密碼 String sex = request.getParameter("sex");//獲取選中的性別 String dept = request.getParameter("dept");//獲取選中的部門 //獲取選中的興趣,因為可以選中多個值,所以獲取到的值是一個字串陣列,因此需要使用getParameterValues方法來獲取 String[] insts = request.getParameterValues("inst"); String note = request.getParameter("note");//獲取填寫的說明資訊 String hiddenField = request.getParameter("hiddenField");//獲取隱藏域的內容 String instStr=""; /** * 獲取陣列資料的技巧,可以避免insts陣列為null時引發的空指標異常錯誤! */ for (int i = 0; insts!=null && i < insts.length; i++) { if (i == insts.length-1) { instStr+=insts[i]; }else { instStr+=insts[i]+","; } } String htmlStr = "<table>" + "<tr><td>填寫的編號:</td><td>{0}</td></tr>" + "<tr><td>填寫的使用者名稱:</td><td>{1}</td></tr>" + "<tr><td>填寫的密碼:</td><td>{2}</td></tr>" + "<tr><td>選中的性別:</td><td>{3}</td></tr>" + "<tr><td>選中的部門:</td><td>{4}</td></tr>" + "<tr><td>選中的興趣:</td><td>{5}</td></tr>" + "<tr><td>填寫的說明:</td><td>{6}</td></tr>" + "<tr><td>隱藏域的內容:</td><td>{7}</td></tr>" + "</table>"; htmlStr = MessageFormat.format(htmlStr, userid,username,userpass,sex,dept,instStr,note,hiddenField); response.setCharacterEncoding("UTF-8");//設定伺服器端以UTF-8編碼輸出資料到客戶端 response.setContentType("text/html;charset=UTF-8");//設定客戶端瀏覽器以UTF-8編碼解析資料 response.getWriter().write(htmlStr);//輸出htmlStr裡面的內容到客戶端瀏覽器顯示 } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
index.jsp
PS: MessageFormat.format
String msg = "{0}{1}{2}{3}{4}{5}{6}{7}{8}";
Object [] array = new Object[]{"A","B","C","D","E","F","G","H","I",};
String value = MessageFormat.format(msg, array);
System.out.println(value); // 輸出:ABCDEFGHI
轉自:https://www.cnblogs.com/xdp-gacl/p/3798347.html