javascript
java jsp学习指南_JSP教程–最终指南
java jsp學習指南
編者注: JavaServer Pages(JSP)技術使您可以輕松創建同時包含靜態和動態組件的Web內容。 JSP技術提供了Java Servlet技術的所有動態功能,但提供了一種更自然的方法來創建靜態內容。
JSP技術的主要功能包括用于開發JSP頁面的語言,該語言是描述如何處理請求和構造響應的基于文本的文檔,用于訪問服務器端對象的表達語言以及用于定義JSP語言擴展的機制。
這是一篇獨立的參考文章,提供了有關如何使用JSP的框架,并幫助您快速啟動自己的應用程序。 請享用!
目錄
1.簡介1.簡介
Java Server Pages(JSP)用于創建動態網頁。 可以使用JSP標記將Java代碼插入HTML頁面。 這些標記用于從數據庫中檢索信息,在頁面之間共享信息等。通常用于運行JSP頁面的IDE是NetBeansIDE和EclipseIDE。
為什么JSP比Servlet更受青睞?
- JSP提供了一種創建和管理動態網頁的簡便方法。
- 它不需要其他文件,例如java類文件和web.xml
- 由于JSP由Web容器處理以對其代碼進行任何更新,因此不需要像servlet一樣進行重新編譯。
- 可以直接訪問JSP頁面,而Servlet需要使用web.xml進行映射。
2.生命周期
JSP生命周期與Servlet生命周期相同,但有一個額外的步驟。 在此步驟中,將JSP編譯到servlet中。 生命周期如下圖所示:
翻譯
在第一階段,Web容器將JSP文檔轉換為等效的Java代碼。 此Java代碼是一個Servlet。 轉換由Web服務器自動完成,該Web服務器定位,驗證正確性并為JSP頁面編寫servlet。
匯編
在此階段,JSP容器編譯Java源代碼,以創建相應的servlet和生成的類文件。
加載和初始化
在第三階段,JSP容器加載在前兩個階段中生成的servlet。 正確加載后,JSP容器將創建servlet類的實例。 在這里,它使用無參數構造函數。
現在,JSP容器通過調用init方法初始化實例化的對象。 這是由容器通過調用jspInit()方法實現的。
public void jspInit() {// Initialization code... }執行
在此步驟中,JSP引擎調用_jspService()方法。 該方法具有兩個參數,即HttpServletRequest和HttpServletResponse,每個請求調用一次。 它還負責為該請求生成響應。
void _jspService(HttpServletRequest request, HttpServletResponse response) { }毀滅
最后一步完成了生命周期。 在這種情況下,容器使用jspDestroy()方法刪除了JSP。
public void jspDestroy() {// any cleanup code }3.演示:首先
這是JSP使用的示例。 請遵循以下步驟,使用Eclipse IDE從第一個JSP應用程序開始。 使用的技術如下:
- Java 1.8
- Eclipse IDE:適用于Web開發人員的Eclipse Java EE IDE 4.4.1
- JSP
- Apache Tomcat 8
圖1:讓我們開始創建一個新的Dynamic Web Project:
圖2:將項目名稱添加為RankWebApplication ,然后單擊Next :
跳過此步驟以配置項目,然后單擊下一步,因為我們專注于一個簡單的演示項目。
圖3:配置項目:
圖4:配置Web模塊設置; 避免生成web.xml文件,因為此演示項目不需要該文件。
單擊完成后 ,將創建動態Web項目。 該項目的目錄在“ Package Explorer”下的左面板上可見:
圖5:項目目錄結構:
右鍵單擊WebContent目錄,然后將新的JSP文件添加到項目中。
圖6:現在,在動態Web項目中添加JSP文件:
圖7:從向導添加新的JSP文件:
單擊上面的Next之后,將新文件命名為NewRankFile.jsp并單擊Next 。
圖8:添加了NewRankFile.jsp:
圖9:設置JSP模板:
單擊上方的完成將創建新文件。 現在,在清單1中添加以下給定的代碼,該代碼顯示板球隊的排名。
清單1:NewRankFile.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>ICC Ranking</title> </head> <body> <h1>ICC ODI Ranking</h1><table><tr><th>Rank</th><th>Country</th></tr><tr><td>1</td><td>Australia</td></tr><tr><td>2</td><td>India</td></tr><tr><td>3</td><td>South Africa</td></tr></table><!-- JSP Expression is used here for getting system date --><b>Note:</b> Website updated on: <%= (new java.util.Date()).toLocaleString()%></body> </html>右鍵單擊并選擇Run As來運行項目。
圖10:從選項中單擊在服務器上運行 :
選擇“在服務器上運行”,然后在EclipseIDE中運行第一個項目時, 手動定義新服務器“ Tomcat” 。 選中“在運行該項目時始終使用此服務器”,以避免重復此選擇:
圖11:選擇服務器:
在這里,輸出顯示使用JSP表達式生成的ICC排名和網站更新時間。 輸出鏈接:http:// localhost:8080 / RankWebApplication / NewRankFile.jsp
圖12:顯示ICC ODI排名和網站更新時間的輸出:
4.指令
指令標簽用于提供在JSP生命周期的翻譯階段使用的指導和說明。
句法
<%@ directive attribute="value" %>這里的指令可以具有許多屬性。
種類
圖13:指令標記的類型:
4.2.1。 頁面指??令
頁面指??令標記提供了在JSP生命周期的轉換階段翻譯人員使用的指令。 它可以包含在任何位置,但是根據慣例,它被認為是一種在頂部包含它的良好編程風格。 語法如下:
<%@page attribute ="value" %>XML等效項如下所示:
<jsp:directive.page attribute="value" />讓我們以在頁面頂部包含屬性為導入的示例為例。
<%@ page import="java.util.Date" %>頁面指??令標記中使用的屬性如下:
| 屬性 | 值 |
| 自動沖洗 | 它有兩個值– true和false,默認值為true。 它指定在緩沖區已滿時是否自動刷新輸出。 |
| 緩沖 | 它以緩沖區大小(以千字節為單位)指定緩沖模型。 |
| 內容類型 | 它指定字符編碼方案,默認為text / html。 |
| 延伸 | 它采用由Servlet等效類擴展的合格類名。 |
| errorPage | 它指定另一個頁面的URL路徑,將請求發送到該頁面以處理當前JSP頁面引發的運行時異常。 |
| 進口 | 該值是用逗號分隔的Java類列表, |
| 信息 | 它指定可由getServletInfo()方法訪問的字符串。 |
| isErrorPage | 它指定當前頁面是否是具有兩個值true和false的錯誤頁面。 默認值為false。 |
| pageEncoding | 它指定編碼類型。 |
4.2.2包含指令
在JSP生命周期的轉換階段使用此標記來包含文件。 它合并了另外兩個文件的內容。 包含指令可以包含在頁面中的任何位置。 語法如下:
<%@ include file="path/url" >讓我們以文件newFile.jsp為例,該文件可以放在需要的地方。
<%@ include file="newFile.jsp" %>4.2.3標簽庫
它用于在JSP頁面中定義定制標記庫。 這樣做是為了使相關標簽可以在同一頁面中使用。 語法如下:
<%@ taglib uri="URI" prefix="TagPrefix" %>5.腳本標記
JSP腳本標記允許將腳本代碼添加到生成的JSP頁面的Java代碼中。 該頁面由JSP轉換器生成。
種類
三種類型的Scriptlet標簽或Scriptlet元素如下所示:
5.1.1。 腳本標簽
Scriptlet標記通過編寫腳本/ Java代碼來實現_jspService方法功能。 它用于在JSP頁面中編寫Java代碼。 語法如下:
<% Java code %>等效的XML:
script code示例如下:
<% out.println(value); %>5.1.2。 聲明性標簽
聲明標簽被用來聲明類變量和實現類方法jspInt和jspDestroy。 語法如下:
<%!Declaration %>等效的XML:
<jsp:declaration>script code </jsp:declaration>示例如下:
<%!int value = 25; %>5.1.3。 表達標簽
Expression Tag用于編寫Java表達式。 切勿在表達式標記內使用分號(;)結束表達式。 語法如下:
<%= Java Expression %>等效的XML:
<jsp:expression>script code </jsp:expression>示例如下:
<%= --value %><%= (3*9) %>例
這是顯示三種腳本標記類型的示例。 請遵循“演示”部分中給出的步驟,以便在EclipseIDE中創建一個項目。 使用的技術是相同的。
讓我們從在Eclipse IDE中創建Dynamic Web Project ExampleApplication開始:
圖14:創建示例應用程序:
圖15:創建exampleCalculation.jsp:
清單2:example.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Scriptlet Tag Example</title> </head> <h1>Example to print k iterations</h1><%!int k;%><body><%for(k=1;k<=10;++k) {out.println(k);} %> <br> <%out.println("The value of --k is:");%><%= --k %><br>Updated on: <%= (new java.util.Date()).toLocaleString() %> </body> </html>圖16:輸出打印k次迭代和網站更新日期:
6.表達語言
一種使JSP開發人員能夠訪問存儲在JavaBeans組件中的應用程序數據的語言。 它是在JSP2.0中引入的
EL表達式包含在“ $”和“}”字符之間。
經營者
6.1.1。 算術運算符
這些算術運算符可用于EL表達式:_,-,/,*,%
6.1.2。 關系運算符
EL表達式中使用的關系運算符可用以下給定符號和短文本形式表示:
| 經營者 | 短文本形式 | 內容描述 | 例 |
| > | gt | 比...更棒 | $ {150> 5} |
| < | lt | 少于 | $ {15 <65} |
| > = | ge | 大于等于 | $ {20> = 20} |
| <= | 樂 | 小于等于 | $ {15 <= 15} |
| == | 當量 | 等于 | $ {5 == 5} |
| != | NE | 不等于 | $ {15!= 65} |
6.1.3。 邏輯運算符
邏輯運算符是&&(AND運算符),|| (或運算符)和! (非運營商)
隱式對象
隱式對象可以直接在EL表達式中使用。 用戶可以使用這些對象從不同的作用域和參數值獲取屬性。 下面給出一些隱式對象的類型:
| 目的 | 描述 |
| pageContext | 它操縱頁面屬性。 |
| pageScope | 它將頁面范圍的屬性名稱映射到它們的值。 |
| requestScope | 它將請求范圍的屬性名稱映射到它們的值。 |
| sessionScope | 它將會話范圍的屬性名稱映射到它們的值。 |
| 應用范圍 | 它將應用程序范圍的屬性名稱映射到它們的值。 |
| 參數 | 它將參數名稱映射到單個String參數值。 |
| 參數值 | 它將參數名稱映射到String []。 |
| 標頭 | 它將標頭名稱映射到單個String標頭值。 |
| headerValues | 它將標頭名稱映射到String []。 |
6.2.1。 例
這是顯示隱式對象參數的示例。 請按照“演示”部分中給出的步驟在EclipseIDE中創建項目。 使用的技術是相同的。
讓我們從在Eclipse IDE中創建動態Web項目UserApplication開始:
圖17:創建UserApplication :
圖18:創建新的jsp文件home.jsp
清單3:home.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Welcome</title> </head> <body> <h1>Fill the form given below:</h1> <form method="post" action="success.jsp"> User : <input type="text" name="userName"><br> Email: <input type="email" name="emailID"> <input type="submit" value="submit"> </form></body> </html>圖19:創建新的jsp文件success.jsp :
清單4:success.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Email Successfully sent</title> </head> <body> <h1>Success</h1> <br> <p>Hi ${param.userName}, thanks for giving the details.</p> <p>Your unique password has been sent to you on <b>${param.emailID}</b></p> </body> </html>現在,我們將在EclipseIDE中運行UserApplication 。 本地主機地址為:http:// localhost:8080 / UserApplication / home.jsp
圖20:運行應用程序后的home.jsp :
在這里,您可以添加自己的電子郵件。 我已經考慮過電子郵件,demo @ email.com
圖21:添加用戶名和電子郵件:
圖22:單擊“提交”按鈕后,輸出顯示在此處:
7.異常處理
介紹
異常是程序的正常執行流程中的異常/不可預見的情況。 這些異常可能是由于無效輸入,訪問磁盤上不可用的文件等導致的。
在運行時處理這些異常稱為異常處理。 用戶在JSP代碼中可能會遇到以下類型的錯誤:
7.1.1。 失誤
這些是用戶無法控制的問題。 例如,堆棧溢出將導致錯誤。
7.1.2。 檢查異常
這些是編譯時不能忽略的異常,被視為用戶錯誤。 例如,IOException
7.1.3。 運行時異常/未經檢查的異常
在運行時可以忽略這些異常。 例如,NullPointerException
方法
這是Throwable類中可用的重要方法的列表。 您可以從oracle官方文檔中參考完整列表。
| 方法 | 描述 |
| 公共Throwable getCause() | 返回此throwable的原因。 如果原因未知,則返回null。 |
| 公共字符串getMessage() | 返回此throwable的消息字符串。 |
| 公共字符串toString() | 返回對此throwable的描述。 |
| 公共無效printStackTrace() | 它打印堆棧跟蹤。 |
| 公共Throwable fillInStackTrace() | 它填充了執行堆棧跟蹤。 |
ErrorPage和isErrorPage
頁面指??令的ErrorPage屬性用于設置錯誤頁面。 為此,請使用以下給定的指令。 任何jsp頁面都可以設置為錯誤頁面,這里是“ DisplayError.jsp ”:
<%@ page errorPage="DisplayError.jsp" %>isErrorPage屬性用于通過包含以下指令來生成異常實例變量。 您還必須編寫DisplayError.jsp:
<%@ page DisplayError="true">7.3.1。 例
這是顯示上面討論的兩個指令的用法的示例。 請按照“演示”部分中給出的步驟在EclipseIDE中創建項目。 使用的技術是相同的。
讓我們從在Eclipse IDE中創建動態Web項目ErrorHandlingApplication開始:
圖23:創建ErrorHandlingApplication:
圖24:創建jsp文件conditionChecker.jsp:
在這里,將errorPage設置為DisplayError.jsp:
清單5:conditionChecker.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ page errorPage="DisplayError.jsp" %><html> <head><title>Error Handling Example</title> </head> <body> <%// Throw an exception to invoke the error pageint s = 10;if (s < 5) {out.println("Bingo!!well done!! You're right");}else {throw new RuntimeException("Error found - "); } %> </body> </html>圖25:創建錯誤文件DisplayError.jsp:
在這里,屬性isErrorPage設置為true:
清單6:DisplayError.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ page isErrorPage="true" %> <html> <head> <title>Error Page</title> </head> <body> <h1>Sorry :Error occurred</h1> <b>Stack trace:</b> <pre> <% exception.printStackTrace(response.getWriter()); %> </pre> </body> </html>在web.xml中
<Error-page>可以包含在部署描述符中,即web.xml。 通過此功能,用戶還可以為不同的異常類型甚至HTTP錯誤代碼配置不同的錯誤頁面。
當出現狀態碼為404的錯誤時,將調用jsp文件anyErrorPage.jsp,如下所示:
清單7:錯誤代碼404
<error-page><error-code>404</error-code><location>/anyErrorPage.jsp</location> </error-page>如果應用程序引發IOException,則將調用anyErrorPage.jsp:
清單8:對于Exception-TypeIOException
<error-page><exception-type>java.io.IOException</exception-type ><location>/HandlerClass</location> </error-page>如果要避免添加單獨的元素的開銷,請使用java.lang.Throwable作為異常類型:
清單9:對于所有異常,請提及java.lang.Throwable:
<error-page><exception-type>java.lang.Throwable</exception-type ><location>/HandlerClass</location> </error-page>8.國際化
Web應用程序被全世界的人們訪問; 這引起了國際化的需求。 國際化使Web應用程序可以在不同的國家和地區工作,而無需進行更改和重新編譯代碼。
區域設置類
國際Java應用程序使用java.util.Locale類。 語言環境定義語言和地理區域。
8.1.1。 語言環境類的構造函數
它具有三個構造函數,可通過這些構造函數構造一個語言環境對象:
| 建設者 | 描述 |
| 語言環境(字符串lang) | 它使用語言代碼構造一個Locale對象 |
| 語言環境(字符串lang,字符串國家/地區) | 它使用語言代碼和國家/地區代碼構造一個Locale對象。 |
| 語言環境(字符串lang,字符串國家/地區,字符串變體) | 它使用語言代碼,國家/地區代碼和變體構造一個Locale對象。 |
這是國際化的一個例子。 請按照“演示”部分中給出的步驟在EclipseIDE中創建項目。 使用的技術是相同的。
讓我們開始在Eclipse IDE中創建Dynamic Web Project LocaleApplication。
圖26:動態Web項目LocaleApplication :
圖27:創建新的jsp文件LocaleFile.jsp :
清單10:LocaleFile.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ page import="java.io.*,java.util.Locale" %> <%@ page import="javax.servlet.*,javax.servlet.http.* "%> <%// get the user's LocaleLocale userLocale = request.getLocale();String userCountry = userLocale.getCountry(); %><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Finding the Locale of user</title> </head> <body> <% out.println("Your Country : " + userCountry); %></body> </html>圖28:輸出如http:// localhost:8080 / LocaleApplication / LocaleFile.jsp所示 :
9.會議
會話是客戶端和服務器之間的HTTP請求的集合。 這3種方式用于維護服務器和客戶端之間的會話,即cookie,URL重寫和隱藏的表單字段。 JSP還利用servlet提供的HttpSession接口。 下面列出了一些方法及其說明:
方法
會話對象中的一些重要方法:
| 方法 | 描述 |
| 公共對象getAttribute(字符串名稱) | 返回在此會話中綁定了指定名稱的對象,如果該名稱下未綁定任何對象,則返回null。 |
| 公共字符串getId() | 返回一個字符串,其中包含分配給該會話的唯一標識符。 |
| 公共長getLastAccessedTime() | 返回客戶最后一次發送與此會話相關的請求的時間,以格林尼治標準時間1970年1月1日午夜以來的毫秒數為單位。 |
| 公共無效invalidate() | 使該會話無效,并取消綁定到該會話的任何對象。 |
| 公共無效removeAttribute(字符串名稱) | 從此會話中刪除與指定名稱綁定的對象。 |
| 公共無效setAttribute(字符串名稱,對象值) | 使用指定的名稱將對象綁定到該會話。 |
| 公共無效setMaxInactiveInterval(int間隔) | 指定客戶端請求之間的時間間隔(以秒為單位),該時間間隔表示servlet容器使該會話無效。 |
例
這是jsp中會話處理的示例。 請按照“演示”部分中給出的步驟在EclipseIDE中創建項目。 使用的技術是相同的。
使用jsp文件SessionHandling.jsp創建項目“ SessionApplication”
清單11:SessionHandling.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><%@ page import="java.io.*,java.util.*" %> <%// creation time of sessionDate create = new Date(session.getCreationTime());Integer visitCount = new Integer(0);String key = new String("visitCount");// for new visitorif (session.isNew()){session.setAttribute(key, visitCount);} visitCount = (Integer)session.getAttribute(key);visitCount = visitCount + 1;session.setAttribute(key, visitCount); %> <html> <head> <title>Session Tracking</title> </head> <body> <h1>Session Tracking</h1> <table border="1"> <tr><th>Session Information</th><th>Value</th> </tr> <tr><td>id</td><td><% out.print(session.getId()); %></td> </tr> <tr><td>Creation Time</td><td><% out.print(create); %></td> </tr> <tr><td>Number of visits</td><td><% out.print(visitCount); %></td> </tr> </table> </body> </html>圖29:顯示會話信息的輸出– visit1:
圖30:顯示會話信息的輸出– visit2:
圖31:顯示會話信息的輸出– visit3:
10. JavaBean
JavaBeans是用Java編寫的Java類,用于開發動態內容。 它將業務邏輯與表示邏輯分開。
表示代碼和業務邏輯可以分開管理。 JavaBeans還確保它們之間的通信。
JavaBean屬性
JavaBean屬性是一個命名屬性,可以是任何數據類型。 可以通過以下給定方法訪問這些屬性:
- setPropertyName():僅寫屬性將僅具有setPropertyName()方法。
- getPropertyName():只讀屬性將具有getPropertyName()方法。
useBean標簽
<jsp:useBean>語法為:
<jsp:useBean attributes><!-- content --> </jsp:useBean>屬性如下:
標簽的屬性
10.3.1。 ID
這表示分配給的id屬性的變量名,用于定位現有的bean實例。
10.3.2。 范圍
此屬性表示Bean實例必須位于的范圍。 范圍在下面列出,此處默認為頁面范圍:
- 頁面范圍
- 請求范圍
- 會話范圍
- 適用范圍
10.3.3。 類
它是用于創建bean實例的類名,但該類不應是抽象類。
10.3.4。 bean名稱
它采用合格的類名稱或表達式。
10.3.5。 類型
它采用合格的類名或接口。
例
這是jsp中bean處理的示例,其中包括用于bean創建和訪問的代碼段。
10.4.1。 豆類創作
清單12:EmployeeClass.java
在這里,EmployeeClass顯示了Bean的創建,該Bean具有一些用于員工姓名和工作點的屬性。
import java.io.Serializable;public class EmployeeClass implements Serializable {private int points = 0;private String name = null;public EmployeeClass() {}public String getName(){return name;}public int getPoints(){return points;}public void setName(String firstName){this.name = name;}public void setPoints(Integer points){this.points = points;} }10.4.2。 訪問豆
action用于訪問get方法,而action用于訪問set方法。 這些可以與動作配合使用。
清單13:BeansApplication.jsp
一個示例,說明如何訪問JavaBeans屬性。
<html> <head> <title>Employee Work Report</title> </head> <body><!-- setProperty --> <!-- name attribute under setProperty references the id of beans in useBean action --> <jsp:useBean id="emp" class="com.new.EmployeeClass"> <jsp:setProperty name="emp" property="name" value="Mahendra"/><jsp:setProperty name="emp" property="points" value="50"/> </jsp:useBean><!-- getProperty --> <!-- name attribute under getProperty references the id of beans in useBean action --> <p>Name of the Employee: <jsp:getProperty name="emp" property="name"/> </p> <p>Work Performance Points: <jsp:getProperty name="emp" property="points"/> </p></body> </html>清單13:顯示bean實現的輸出
Name of the Employee: Mahendra Work Performance Points: 5011.請求和響應對象
請求
Web瀏覽器請求Web頁將信息發送到Web服務器。 該頭信息包括以下內容:
| 接受 | 接受字符集 |
| 接受編碼 | 接受語言 |
| 授權書 | 連接 |
| 內容長度 | 曲奇餅 |
| 主辦 | 用戶代理 |
HttpServletRequest
它是javax.servlet.http.HttpServletRequest對象的實例。 這些方法可用于HttpServletRequest對象,并用于在JSP程序中獲取HTTP標頭信息。 下面給出其中一些描述:
| 方法 | 描述 |
| Cookie [] getCookies() | 返回一個包含客戶端與此請求發送的所有Cookie對象的數組。 |
| 枚舉getHeaderNames() | 返回此請求包含的所有標頭名稱的枚舉。 |
| 枚舉getParameterNames() | 返回包含此請求中包含的參數名稱的String對象的Enumeration。 |
| 對象getAttribute(字符串名稱) | 將命名屬性的值作為Object返回;如果不存在給定名稱的屬性,則返回null。 |
| 字符串getCharacterEncoding() | 返回此請求正文中使用的字符編碼的名稱。 |
| 字符串getMethod() | 返回發出此請求的HTTP方法的名稱,例如GET,POST或PUT。 |
| 字符串getPathInfo() | 返回與客戶端發出此請求時發送的URL關聯的所有其他路徑信息。 |
| 字符串getQueryString() | 返回路徑后面的請求URL中包含的查詢字符串。 |
| 字符串getRemoteAddr() | 返回發送請求的客戶端的Internet協議(IP)地址。 |
| 字符串getRequestedSessionId() | 返回客戶端指定的會話ID。 |
HttpServletResponse
它是javax.servlet.http.HttpServletResponse對象的實例。 這些方法可用于HttpServletResponse對象,并用于在Servlet程序中設置HTTP響應標頭。
| 方法 | 描述 |
| 布爾containsHeader(字符串名稱) | 通過在其中包含會話ID對指定的URL進行編碼,或者,如果不需要編碼,則返回不變的URL。 |
| 布爾containsHeader(字符串名稱) | 返回一個布爾值,指示是否已設置命名響應頭。 |
| 無效addCookie(Cookie cookie) | 將指定的cookie添加到響應中。 |
| void addHeader(字符串名稱,字符串值) | 添加具有給定名稱和值的響應頭。 |
| void setContentLength(int len) | 設置響應中內容主體的長度在HTTP servlet中,此方法設置HTTP Content-Length標頭。 |
| void setContentType(String type) | 如果尚未提交響應,則設置發送給客戶端的響應的內容類型。 |
| void setHeader(字符串名稱,字符串值) | 使用給定的名稱和值設置響應頭。 |
| setLocale(Locale loc)無效 | 設置響應的語言環境(如果尚未提交響應)。 |
| setIntHeader(字符串名稱,整數值) | 用給定的名稱和整數值設置響應頭。 |
12.參考
網站
- Sun官方網站
- 免費Java下載
- 免費Eclipse IDE下載
書
- 首要的Servlet和JSP:通過Sun認證的Web組件開發人員考試,作者Bryan Basham,Kathy Sierra和Bert Bates
- Jdbc,Servlet和Jsp黑皮書,新版平裝本-2008,Santosh Kumar
13.總結
Java Server Pages(JSP)用于創建動態網頁。 通過本指南,您可以輕松學習與JSP相關的概念。 項目代碼是在EclipseIDE下開發的,因此您還將對它的一些驚人的用戶友好功能有所了解。
14.下載
這是有關JavaServer Pages(JSP)的教程。
下載您可以在這里下載本教程的完整源代碼: jsp_tutorial
翻譯自: https://www.javacodegeeks.com/2015/06/jsp-tutorial.html
java jsp學習指南
總結
以上是生活随笔為你收集整理的java jsp学习指南_JSP教程–最终指南的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 可颂猫是什么意思(可颂是什么动物)
- 下一篇: 大清银币值钱吗(大清银币真品有这么高的价