1. 程式人生 > >【JSP筆記】第三章 JSP內建物件

【JSP筆記】第三章 JSP內建物件

1.內建物件簡介:JSP內建物件是WEB容器建立的一組物件,不使用new關鍵就可以是用的物件。

<%

out.println(123);

%>

2.九大內建物件:

  • out
  • request
  • response
  • session
  • application
  • Page 
  • pageContext 
  • exception 
  • config 
3.WEB程式請求響應模式
  • request: 使用者傳送請求。
  • response:伺服器給使用者響應。
4.out物件:是JspWriter類的實力,是向客戶端輸出內容常用的物件。 常用方法如下:
  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.表單兩種提交方式 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

<body>
  
    <h2>使用者註冊</h2><br>
    <form name="2" action="request.jsp" method="post">
    	<table>
    		<tr>
    			<td>使用者名稱</td>
    			<td ><input type="text" name="username"/></td>
    		</tr>
    		
    		<tr>
    			<td>密碼</td>
    			<td ><input type="password" name="password"/></td>
    		</tr>
    		
    		<tr>
    			<td>愛好</td>
    			<td>
    			<input type="checkbox" name="fa" value="read">讀書
    			<input type="checkbox" name="fa" value="music">音樂
    			<input type="checkbox" name="fa" value="movie">電影
    			<input type="checkbox" name="fa" value="internet">上網
    			</td>
    		</tr>
    		
    		<tr>
    			<td colspan ="2"><input type="submit" value="提交"/></td>
    		</tr>
    	</table>
    </form>
    <a href=<span style="color:#cc0000;">"request.jsp?username=中文"</span>>中文傳參連結</a>
  </body>


request.jsp

<body>
  
    註冊成功. <br>
    <%
  	request.setCharacterEncoding("utf-8");
    %>
    使用者名稱:<%= request.getParameter("username") %><br>
    愛好:<%
           if(request.getParameterValues("fa")!=null){
	     String[] ff= request.getParameterValues("fa") ;
	    	for(int i=0;i<ff.length;i++)
	    	{
	    	out.println(ff[i]+" "+" "+" ");
	    	}
	    }	
    %>
  </body>

7.中文亂碼相關:

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.

相關推薦

JSP筆記 JSP物件

1.內建物件簡介:JSP內建物件是WEB容器建立的一組物件,不使用new關鍵就可以是用的物件。 <% out.println(123); %> 2.九大內建物件: outrequestresponsesessionapplicationPage pageCo

學習筆記 Jupyter Notebook為什麽是現代Python的必學技術?

inf 局限 未來 目的 選擇 接下來 也會 test 人的 可能你已經知道,Python 在 14 年後的“崛起”,得益於機器學習和數學統計應用的興起。那為什麽 Python 如此適合數學統計和機器學習呢?作為“老司機”

吳恩達機器學習筆記:線性迴歸回顧

本章是對線性代數的一些簡單回顧,由於之前學過,所以這裡只是簡單的將課程中的一些例子粘過來 矩陣表示 矩陣加法和標量乘法 矩陣向量乘法 用矩陣向量乘法來同時計算多個預測值 矩陣乘法 用矩陣乘法同時計算多個迴歸

SpringMVC筆記課 處理器映射器+處理器適配器

property lec www 映射 style user err utf 只需要 第二課的例子中,在springmvc.xml中配置使用了第一種處理器映射器和處理器適配器,如下所示。 <!-- 配置第一種處理器映射器 BeanNameUrlH

Linux系列基礎版 Shell基礎知識

linux shell 3. Shell基礎知識 3.1 Shell的由來 3.1.1 Bourne Agin Shell 3.1.2 其他的shell, 有 zsh, ksh等 3.2 查看有沒有shell 3.2.1 yum list

資料庫視訊 管理資料庫

一.資料庫組成:表,檢視,儲存過程,觸發器,使用者與角色,其他資料庫部分 可程式設計性:儲存過程、函式、觸發器 安全性:使用者、角色 二.使用管理工具建立資料庫: 方法: ①使用management studio ②使用語句create database建立 步驟:

Android學習 · 儲存容量的獲取&xml格式文字的建立與解析

相對佈局:結合RelativeLayout九宮格     表格佈局和絕對佈局不常用,瞭解就好   谷歌替代system.out.println()用Log.v(d<i<w<e)(tag,”文字資訊”)   設定

C語言-函式-2

第2節 函式呼叫   函式呼叫一般有兩種方式,一種是形參不會影響實參的傳值呼叫,另一種是形參會影響實參的傳址呼叫。 傳值呼叫   傳值呼叫是將實參的值傳入函式體中,傳入的不過是實參的副本,不會改變實參。這個在上一節已經講過其中的原因正式因為C語言副本傳參的這個特

演算法筆記:C++標準模板庫(STL)介紹

【演算法筆記】第六章:C++標準模板庫(STL)介紹 標籤(空格分隔):【演算法筆記】 第六章:C++標準模板庫(STL)介紹 第六章:C++標準模板庫(STL)介紹 6.1 vector的常見用法詳解

軟體工程 軟體需求與軟體規約

3.1 需求的作用 3.1.1 在現代系統中的作用 三個作用: 為產品提供控制功能。 為產品提供耦合功能,可整合其他功能。 為產品提供一些由本身所實現的功能,利用自身提供服務。 特別的: 為解決系統整合

Effective java 學習:對於所有物件都通用的方法

第八條:覆蓋equals是請遵守通用約定 滿足下列四個條件之一,就不需要覆蓋equals方法: 類的每個例項本質上都已唯一的。不包括代表值的類,如:Integer,String等,Object提供的equals方法就夠用了 不關心是否提供了“邏輯相等”的測試功能。對

遊資課程:大局觀——炒股養家

1:炒股養家悟道2:炒股養家的馬甲3:炒股養家的大局觀4:炒股養家做熱點挖掘5:炒股養家做訊息溢價1:炒股養家的悟道炒股養家90年代開始入市炒股,據說投入股市的資金只有1萬,到2009年的時候,已經累積到50萬,通過研究網際網路上各類炒股大神的操盤記錄,

學習筆記 訪問許可權控制

訪問許可權控制的作用 簡化客戶端程式設計師對於類庫檔案的理解,更便於對於該類的使用。不會觸及一些類設計者不希望他們觸及的部分。 便於類設計者更改類方法的實現(類內部的工作原理)。 6.1 包:庫單元 使用import關鍵字,匯入一個或多個類。 使

HTTP權威指南-HTTP報文

響應 主體 方法 首部 部分 功能 第三章 http 支持 HTTP是因特網的信使,報文就是信使運送的包裹。 這一章包含: 報文如何流動 報文的三個組成部分(起始行,首部,實體的主體部分) 請求報文和響應報文的區別 請求報文支持的各種功能(方法) 響應報文返回的狀態碼

Linux學習筆記4 Linux磁盤管理

linux centos 磁盤 格式化 LVM 4.1df命令df 查看文件系統磁盤空間使用情況。文件系統 磁盤總大小(kB) 已使用 可用 已用% 掛載點(目錄)Linux磁盤不能直接訪問,必須要有一個掛載點。參數:-h 可根據磁盤大小顯示適當的單位。帶有tmpfs代表臨時的

Linux學習筆記5 VIM工具

linux centos vim 5.1vim介紹vim是vi的升級版,帶有顏色顯示,先安裝包yum install -y vim-enhancedvim分為三種模式:一般模式、編輯模式、命令模式。 5.2vim顏色顯示和移動光標相同的文件信息在不同目錄下顯示顏色會有差異。相同內容,不同文件名,

Linux學習筆記6 Linux文件壓縮和打包

linux centos 打包 壓縮 tar 6.1壓縮打包介紹Windows壓縮:.rar,.zip,.7zLinux壓縮:.zip,.gz,.bz2,.xz,.tar.gz,.tar.bz2,.tar.xz 6.2gzip壓縮工具gzip FILENAME 壓縮文件,格式gz,壓縮後

Linux學習筆記8 Linux shell基礎知識

linux centos shell 通配 8.1shell介紹shell是一個命令解釋器,提供人機交互。支持特定語法。每個用戶都可以有自己特定的shell(bash)。CentOS7默認bash(Bourne Agin Shell)。其他還有zsh、ksh等。 8.2命令歷史命令歷史存放於

軟件構造第二節 設計規約

between 標準 throws 規約 iter 數據類型 需求 否則 line 第三章第二節 軟件規約   這一節我們轉向關註“方法/函數/操作”是如何定義的,即討論編程中的動詞,規約。 Outline 一個完整的方法 什麽是設計規約,我們為什麽需要他 行為等價性 規

軟件構造三節 抽象數據型(ADT)

必須 png tar str urn http private 其余 字符數 第三章第三節 抽象數據型(ADT) 3-1節研究了“數據類型”及其特性 ; 3-2節研究了方法和操作的“規約”及其特性;在本節中,我們將數據和操作復合起來,構成ADT,學習ADT的核