【JSP筆記】第三章 JSP內置對象【上】

1.內置對象簡介:JSP內置對象是WEB容器建立的一組對象,不使用new關鍵就能夠是用的對象。html

<%java

out.println(123);數組

%>安全

 

2.九大內置對象:服務器

 

  • out
  • request
  • response
  • session
  • application
  •  
  • Page 
  • pageContext 
  • exception 
  • config 

3.WEB程序請求響應模式session

  • request:  用戶發送請求。
  • response: 服務器給用戶響應。

 

4.out對象:是JspWriter類的實力,是向客戶端輸出內容經常使用的對象。app

經常使用方法以下:jsp

  1. void println() 向客戶端打印字符串。
  2. void clear() 清除緩衝區內容,若在flush以後調用會拋出異常。
  3. void clearBuffer() 清除緩衝區內容,若在flush以後用不會拋出異常。
  4. void flush() 講緩衝區內容輸出到客戶端。
  5. int getBufferSize()返回緩衝區字節數的大小。不設緩衝區時爲0.
  6. int getRemaining 返回緩衝區剩餘可用。
  7. boolean isAutoFlush() 返回緩衝區滿時,是自動清空仍是拋出異常。
  8. void close() 關閉輸出流。

 

5.表單兩種提交方式post

get:編碼

  • 一明文方式經過URL提交數據,數據在URL中能夠看到。
  • 提交的數據不超過2KB。
  • 安全性低但效率比post方式高。
  • 適合提交數據量不大,安全行不高的數據,例:搜索,查詢等功能。

 post:

  • 講用戶信息封裝在HTML HEADER內。
  • 適合提交數據量大,安全性高的用戶信息。例:註冊,修改,上傳等功能。

 

6.request對象

  • 客戶端的請求被封裝在request對象中,經過它瞭解客戶的需求,而後作出響應。
  • 是HttpServletRequest類的實力。
  • request對象有請求域,即完成客戶端的請求以前,該對象一直有效。

經常使用方法:

String getParameter(String name)  返回name指定參數的參數值。

String[] getParameterValues(String name)  返回包含name的全部值的數組。

void setAttribute(String,Object) 存儲此請求中的屬性。

object getAttribute(String name) 返回指定屬性的屬性值

String getContentType() 獲得請求體的MIME類型。

String getProtocol() 返回請求用的協議類型及版本號。

String getServerName() 返回接受請求的服務器主機名。

 

int getServerPort():返回服務器接受此請求用的端口號。

String getCharacterEncoding():返回字符編碼方式。

int getContentLength():返回請求體的長度(以字節數)。

String getRemoteAddr():返回發送此請求的客戶端IP地址。

String getRealPath(String path):返回一虛擬路徑的真實路徑。

Stirng request.getContextPath():返回上下文路徑。

 

reg.jsp

 

[html] view plain copy

 print?在CODE上查看代碼片派生到個人代碼片

  1. <body>  
  2.     
  3.     <h2>用戶註冊</h2><br>  
  4.     <form name="2" action="request.jsp" method="post">  
  5.         <table>  
  6.             <tr>  
  7.                 <td>用戶名</td>  
  8.                 <td ><input type="text" name="username"/></td>  
  9.             </tr>  
  10.               
  11.             <tr>  
  12.                 <td>密碼</td>  
  13.                 <td ><input type="password" name="password"/></td>  
  14.             </tr>  
  15.               
  16.             <tr>  
  17.                 <td>愛好</td>  
  18.                 <td>  
  19.                 <input type="checkbox" name="fa" value="read">讀書  
  20.                 <input type="checkbox" name="fa" value="music">音樂  
  21.                 <input type="checkbox" name="fa" value="movie">電影  
  22.                 <input type="checkbox" name="fa" value="internet">上網  
  23.                 </td>  
  24.             </tr>  
  25.               
  26.             <tr>  
  27.                 <td colspan ="2"><input type="submit" value="提交"/></td>  
  28.             </tr>  
  29.         </table>  
  30.     </form>  
  31.     <a href=<span style="color:#cc0000;">"request.jsp?username=中文"</span>>中文傳參連接</a>  
  32.   </body>  


 

 

request.jsp

 

[html] view plain copy

 print?在CODE上查看代碼片派生到個人代碼片

  1. <body>  
  2.     
  3.     註冊成功. <br>  
  4.     <%  
  5.     request.setCharacterEncoding("utf-8");  
  6.     %>  
  7.     用戶名:<%= request.getParameter("username") %><br>  
  8.     愛好:<%  
  9.            if(request.getParameterValues("fa")!=null){  
  10.          String[] ff= request.getParameterValues("fa") ;  
  11.             for(int i=0;i<ff.length;i++)  
  12.             {  
  13.             out.println(ff[i]+" "+" "+" ");  
  14.             }  
  15.         }     
  16.     %>  
  17.   </body>  

 

7.中文亂碼相關:

http://blog.csdn.net/qq276878300/article/details/52423478

 

8.response對象:

 

  • 包含響應客戶請求的有關信息,
  • HttpServletResponse類的實例。
  • 具備頁面做用域,即訪問一個頁面時,該頁面內的response對象只能對此次訪問有效,其餘頁面的response對象對當前頁面無效。

 

經常使用方法以下:

 

  • String getCharacterEncoding():返回響應的是何種字符編碼。
  • void setContentType(String type):設置響應的MIME類型。
  • PrintWriter getWriter():返回能夠想客戶端輸出字符的一個對象(注意比較PrintWriter與內置out對象的區別)
  • sendRedirect(java.lang.String location):從新定向客戶端請求。

 

9.請求轉發-請求重定向:

請求重定向:

 

  • 客戶端行爲。
  • response.sendRedirect()
  • 等同於兩次請求,前一次請求對象不會保存。
  • 地址欄的URL地址會改變。

 

請求轉發:

 

  • 服務器行爲。
  • request.getRequestDispatcher().forward(req,resp);
  • 是一次請求,轉發後請求對象會保存,
  • 地址欄的URL地址不會改變。

 

10.

相關文章
相關標籤/搜索