pageContext對象提供了訪問其他隱含對象的方法。在pageContext對象中,可以使用下面兩個方法來儲存和擷取屬性:setAttribute(String name,Object value)getAttribute(String name)在pageContext對象中儲存的屬性,只能在當前頁面中擷取。也就是說,pageContext對象具有頁面範圍。papgeContext對象,還可以設定和得到其他範圍對象中儲存的屬性。使用另外兩個方法:setAttribute(String
對於一個Web應用,的發布過程
轉自:http://blog.sina.com.cn/s/blog_5990faac0100dnfx.htmlCookie:伺服器在一個應答首部傳遞給瀏覽器的名稱/值對。瀏覽器儲存的時間由cookie的到期時間屬性來指定。當瀏覽器向某個伺服器發送一個請求時,它會檢查其儲存的cookie,並在請求首部中包含從同一台伺服器上接收到的所有cookie。 Session tracking:在瀏覽器和伺服器之間不直接傳送所有的狀態資訊,而只是傳遞表示符(session
<%@ page c import="java.sql.*" %><% //變數聲明 Connection sqlCon=null; //資料庫連接對象 Statement sqlStmt; //SQL語句對象 ResultSet sqlRst; //結果集對象 String strSQL; //SQL語句 int intPageSize; //一頁顯示的記錄數 int
初學flex,寫個flex(通過URLLoader)與後台互動的例子,解決中午亂碼的處理:這是flex.jsp的代碼:<%...@ page contentType="text/html; charset=UTF-8" %><%... String usr = java.net.URLDecoder.decode(request.getParameter("user"), "UTF-8"); System.out.println("取得傳入的參數:"+usr);
允許在運行時將當前的請求轉寄給一個靜態資源、JSP頁面或者servlet,請求被轉向到的資源必須位於同JSP發送請求相同的上下文環境中。這個動作會終止當前葉密昂的執行,如果頁面輸出使用了緩衝,在轉寄請求前,緩衝區將被清除,如果在轉寄之前緩衝區已經重新整理,將拋出IllegalStateException。如果頁面輸出沒有使用緩衝,而某些輸出已經發送,那麼調用將拋出IllegalStateException。只有一個屬性page。
1. Tomcat 不但支援運行Servlet和JSP,而且還具備了作為商業Java Web應用程式容器的特徵.Tomcat已經成為目前開發企業Java Web應用的最佳選擇之一. 2.Tomcat 結構 Tomcat伺服器由一系列可配置的組件構成,其中核心組件是Catalina Servlet容器,它是所有其它Tomcat組件的頂層容器。Tomcat組件可以在server.xml中配置。XML形式的Tomcat組件之間的關係: <Server>
這個動作用於動態定義一個XML的標籤。在<jsp:element>中可以包含<jsp:attributee>和<jsp:body>。它只有一個屬性name。例如: <jsp:element name="football" /> 執行後產生一個空元素: <football/> <jsp:element name="employee"> <jsp:attribute
在server.xml檔案中的元素分為4類。1.頂層類元素 包括<Server>、<Service>,他們位於整個設定檔的頂層。2.連接器類元素 代表了介於客戶與服務之間的通訊介面,負責將客戶的請求發送給伺服器,並將伺服器的響應結果傳送給客戶。3.容器類元素 代表處理客戶請求並產生響應結果的組件。有3中容器類元素,他們是Engine、Host和Context。4.嵌套類元素 代表了可以加入到容器中的組件。 一些基本的Tomcat元素:
Tomcat 的目錄結構 需要注意的地方:lib目錄是存放jar檔案的,其中:server/lib : 目錄中的jar檔案只可被Tomcat伺服器訪問shared/lib : 可被所有Web應用訪問common/lib :
<jsp:include> 用於在當前頁面中包含靜態和動態資源,一旦被包含的頁面執行完畢,請求處理將在調用頁面中繼續進行.被包含的頁面不能改變響應的狀態碼或者設定前序,這防止了對類似setCookie()這樣的方法的調用,任何對這些方法的調用都將被忽略.這個約束和在javax.servlet.Request的Dispatcher 類的include()方法上所施加的約束是一樣的.<jsp:include >有兩個屬性page和flush:page:
如果你使用的是符合JSP 1.2/Servlet 2.3 的容器,比如Tomcat 4.x 或者更高,你就可以在JSP頁面的taglib指令中使用絕對路徑而不必在web.xml中指定taglib元素。 對於早於Servlet 2.3 規範的情況,你仍然需要在web.xml中聲明所有你所使用的JSP 標籤。下面摘自web.xml部署描述符中的代碼片斷展示了用於Struts應用的典型taglib聲明: <!-- Struts
JSP一般的運行方式為:當伺服器啟動後,當Web瀏覽器端發送過來一個頁面請求時,Web伺服器先判斷是否是JSP頁面請求。如果該頁面只是一般的HTML/XML頁面請求,則直接將HTML/XML頁面代碼傳給Web瀏覽器端。如果請求的頁面是JSP頁面,則由JSP引擎檢查該JSP頁面,如果該頁面是第一次被請求、或不是第一次被請求但已被修改,則JSP引擎將此JSP頁面代碼轉換成Servlet代碼,然後JSP引擎調用伺服器端的Java編譯器javac.exe對Servlet代碼進行編譯,把它變成位元組碼
<jsp:forward>從一個JSP檔案傳遞request資訊到另外一個JSP檔案,<jsp:forward>後面的部分將不會被執行。可以使用 <jsp:param> 傳遞參數。<jsp:include>將包含的檔案放在JSP中和其他一起執行。 在JSP中,跳轉頁面有兩種方式:1.forward跳轉:<jsp:forward page="跳轉頁面地址"
幾點小結:(1)使用form表單提交資料,提交後的資料將會在另一個jsp頁面進行處理。也可以實現不跳轉,同時使用ajax進行局部更新,這裡暫不進行說明。(2)提交表單前需要進行資料驗證時,響應在form中onsubmit事件,資料合法則返回true,然後實現頁面跳轉;資料不合要求則返回false,頁面便不會跳轉。(3)要考慮中文參數的傳遞。由於瀏覽器,web伺服器,資料庫等的預設編碼不一致,很容易出現中文亂碼(參考:解決jsp中文亂碼,修改mysql編碼)。以下是一個簡單的表單提交與表單驗證的例
JSP技術在Wap中的應用的基本原則: 1.WML的標籤和語句均可直接寫在JSP程式中。 2.如果想使用JSP來處理WML的標籤和語句,則需要使用“<%”和“%>”引起來,格式為: <% ......(JSP編寫的WML語句行); %>例如,以下幾行語句就是利用JSP的out.println來輸出WML的標籤和語句: <% out.println("<p>
<?xml version="1.0"?><web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd" version="2.4"> <description>
這裡淺談JSP與Servlet,不涉及struts、hibernate、Spring,EJB等架構。 說到JSP和servlet,都知道是java的web技術,這兩種技術都能用來產生HTML頁面,也能被java虛擬機器解析。簡單的說,JSP就是嵌入了JAVA代碼的HTML,Servlet是嵌入了HTML代碼的JAVA,或者這樣說才更形象。 什麼時候該用JSP?什麼時候該用Servlet?好像沒有一個明確的界限,相對來說,JSP做顯示更優雅,Servlet做邏輯更容易。順便說一下,JSP是被編譯成
jsp頁面元素:----靜態部分-----HTML靜態文本----指令-----------以“<%@”開始,以“%>”結束----運算式--------<%=java運算式%>----指令碼-----------<%java代碼%>----聲明-----------<%!函數或方法%>----動作-----------以“<jsp:動作名”開始,以“<jsp:動作名>”結束----注釋-----------<!--注釋,用
JSP中包含9個那種對象,這9個內建對象都是ServletAPI的類或者介面的執行個體,只是JSP規範將它們預設初始化了,即他們已經是對象,可以直接使用。 1.application:javax.servlet.ServletContext的執行個體。 2.config:javax.servlet.ServletConfig的執行個體,該執行個體代表JSP的配置資訊。 3.exception:java.lang.Throwable的執行個體,該執行個體代表其他頁面中的異常和錯誤。只有當頁面是錯誤