javaweb學習之路(1)request

俠客小飛發表於2020-05-15

1.本次練習寫一個簡單的註冊頁面

準備工作:首先搭建好伺服器tomcat環境,使用的編譯軟體是eclipse

2.在eclipse中建立一個web工程

3.在webContent資料夾下建立一個register.jsp檔案chua

主要程式碼:在<body>的裡面

    <form action="show.jsp"method="post">
        使用者名稱:<input type="text" name="uname"/><br/>
        密碼:<input type="password" name="upwd"/><br/>
        年齡:<input type="text" name="uage"/><br/>
        愛好:
        <input type="checkbox" name="uhobbies" value = "唱跳"/>唱跳 
        <input type="checkbox" name="uhobbies" value = "Rap"/>Rap
        <input type="checkbox" name="uhobbies" value = "籃球"/>籃球<br/>
        <input type="submit" value="註冊"> 
    </form>

4.在webContent資料夾下建立一個show.jsp檔案

主要程式碼:還是在<body>標籤裡面

    <%
        //設定編碼
        request.setCharacterEncoding("utf-8");
        String name = request.getParameter("uname");
        String pwd = request.getParameter("upwd");
        int age = Integer.parseInt(request.getParameter("uage"));
        String[] hobbies = request.getParameterValues("uhobbies");
        
    %>
    註冊成功,資訊如下:<br/>
    姓名:<%=name%><br/>
    密碼:<%=pwd%><br/>
    年齡:<%=age%><br/>
    愛好:<br/>
    
    <%
        if(hobbies!=null){
            for(String hobby:hobbies){
                out.print(hobby+"&nbsp;&nbsp;");
            }
        }
    
    %>

5.上機效果:

 

 

 

 

總結:request:請求物件;儲存“客戶端向服務端傳送的請求資訊”

1.request物件的常見方法:
  String getParameter(String name) :根據請求的欄位名key (input標籤的name屬性值) ,返回欄位值value (input標籤的value屬性值)
  String[] getParameterValues(String name): 根據請求的欄位名key ,返回多個欄位值value (checkbox)
  void setCharacterEncoding("編碼格式utf-8") :設定post方式的請求編碼 (tomcat7以前預設iso-8859-1,tomcat8以後改為了utf-8)
  getRequestDispatcher("b.jsp").forward(request,response) ; 請求轉發 的方式跳轉頁面 A - > B
  ServletContext getServerContext():獲取專案的ServletContext物件
2.jsp的執行流程:
  第一次訪問時:JSP轉變成Java再編譯成class
  第二次訪問時:直接訪問class檔案,如果服務端程式碼修改了,將會再訪問時重新翻譯、編譯
3.常見錯誤:
  200:一切正常
  300/301:頁面重定向(跳轉)
  404:資源不存在
  403:許可權不足(例如訪問a目錄,但是a目錄設定的是不可見的話會報403)
  500:伺服器內部錯誤(程式碼有誤)
4.編碼問題:推薦使用"utf-8"

相關文章