2013年10月1日 星期二

JSP 基礎

JSP就是JAVA。容器會第一次存取JSP時,將jsp轉譯成.java再轉成.class(也是個servlet),在java程式中包住html
Servlet做的到的事情,JSP也做得到

request、response、session、config、out,這些名稱是所謂的隱含物件
必要時可以為JSP在web.xml中作些設定

如果你使用的是IDE,那基本上就可以執行應用程式並對Servlet發出請求了,實際上,IDE會將你的應用程式包裝為WAR(Web Archive),然後上傳至應用程式伺服器(Application Server)完成部署(Deployment)。所謂WAR檔,實際上是一個副檔名為.war的檔案,使用zip格式進行包裝壓縮,而當中的結構(就目前的功能而言)必須如下:
/ServletDemo.war/
                /WEB-INF/
                        /classes/
                        |       /cc/
                        |          /openhome/
                        |                   |HelloWorld.class                        |web.xml

必要時可以在JSP在web.xml中作設定:

[WEB-INF下的目錄結構]

WEB_INF下面可以有web.xml, classes, lib。這三個都是可有可無的。
web.xml如果不存在,Tomcat會以預設的暫代。
classes用來放servlet的class file。
lib放會用到的jar檔,當web application執行時 container會自動將底下的所有JAR/zip加到系統classpath變數中,所以放在這底下的JAR不用設定classpath)

 <servlet>
        <servlet-name>helloJSP</servlet-name>
        <jsp-file>/hello.jsp</jsp-file>
        <init-param>
            <param-name>defaultGuestName</param-name>
            <param-value>Guest</param-value>
        </init-param>
 </servlet>
    <servlet-mapping>
        <servlet-name>helloJSP</servlet-name>
        <url-pattern>/hello.jsp</url-pattern>
    </servlet-mapping>

沒有留言:

張貼留言