Hello Servlet
描述tomcat專案的 文件樹 構造
tomcat資料夾>webapps>專案名稱
(因為tomcat可以 一對多 專案網站,所以不同專案網站等於不同的資料夾)
專案裡面
- 放一個『資料夾WEB-INF』即可,再視需求增加 .... 需要的
- .html檔
- .圖片檔
- .jsp檔 ...
(亦可建立資料夾分門別類 .html .jsp .jpg...)
資料夾WEB-INF
- classes: 放置.java檔&.class檔
- lib: 放置 .jar檔
- web.xml: 放置網頁註冊資料
專案裡的 web.xml設定
web.xml有兩種
- tomcat/conf/web.xml
- tomcat/webapps/專案/WEB-INF/web.xml
網址登記
想要tomcat顯示的動態網頁,通通要來這邊登記
- .html版: 百聞不如一見:http://localhost:8080/專案/網頁名.html
<servlet-mapping>
<servlet-name>hi</servlet-name>
<url-pattern>/網頁名.html</url-pattern>
</servlet-mapping>
- .java版: 百聞不如一見:http://localhost:8080/專案/HelloWorld
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
JNDI設定
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/database名稱</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
其他功能:驗證帳密、error pages
打包 .war
$ cd tomcat/webapps/專案名稱
如 $ cd tomcat/webapps/first
$ jar cvf 自訂專案名稱.war * (一定要打*號)
如 $ jar cvf second.war *
打包完成後的.war, 放置在/webapps裡面後,就會自動產生解壓縮後的完整影子檔案
BUT: 因為是影子檔案,所以若接將 本體.war檔刪除,整份檔案都會消失。