|
|
JSP會在第一次執行頁面時轉譯為Servlet的.java原始碼,然後再編譯為.class,之後實例化物件並載入JVM中,雖然JSP會轉譯為
Servlet,不過如果您要對JSP撰寫一些初始化的動作,不是重新定義Servlet中對應的init()這樣的方法名稱,而是定義jspInit() 方法,例如: <%!
public void jspInit() { // ..... } %> 為了要能夠指定特定的初始參數給特定的JSP網頁,您必須要在web.xml中如下定義,然後使用 config 隱含物件取得初始參數: <servlet>
<servlet-name>JSPConfigTest</servlet-name> <jsp-file>/config.jsp</jsp-file> <init-param> <param-name>count</param-name> <param-value>100</param-value> </init-param> </servlet> 同樣的,您也可以定義jspDestroy(),就如同Servlet的destroy()方法: <%!
public void jspDestroy() { // .... } %> JSP最後是轉換為Servlet,Servlet在執行時會執行service()方法,在JSP中您如果重新定義_jspService()方法,在轉譯為Servlet之後就是在重新定義service()方法,之所以在_jspService()方法上有個底線_,表示您不應該去動它,基本上您也不會去重新定義Servlet的service()方法。 為了要更瞭解JSP的生命週期,您必須瞭解 Servlet 生命週期,畢竟,JSP最後就是轉換為Servlet。 |