Servlet的web.xml配置


*******************Servlet3(使用注解配置servlet)*************************

前提要求:


1. tomcat7或以上版本


2. javaee 6 或者以上版本


*******************純手工創建第一個Servelt程序*************************


******************************如何調錯*************************

 

常見錯誤:

1. 404

頁面或其他資源未找到


2. 500 服務器內部錯誤


服務器上的代碼有錯,如何調錯


小技巧: 看自己寫的代碼的第一行

 

******************************tomcat的兩種服務器模式*************************

一. run模式


二. debug模式

 

區別1

run模式 無法打斷點調試

debug 模式 可以打斷點一步一步調試


區別2:

兩種模式在啟動狀態下都會自動部署

run模式: jsp和web.xml 中的改動會生效,servlet發生改變 不會生效


debug模式: jsp和web.xml、servlet的改動都會生效


tomcat會自動檢測你代碼的變化 自動幫你從新加載 效率低

還是推薦使用run模式,除非像一步一步調試代碼的時候才用debug模式


小技巧: 改動servlet后,如果想讓它生效 可以在web.xml中打兩個空格

這樣tomcat就會自動幫你從新加載新的servlet 從新幫你new對象了

(因為run模式 web.xml變了會從新加載)

 

************************servlet的url-pattern一定不能配置成/ 和*.jsp*************


<url-pattern>/</url-pattern>

/ 為缺省的servlet,即當請求的servlet都沒有匹配上時,使用缺省的servlet處理

參見tomcat\conf\web.xml
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>

</servlet>

<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

如果用戶自己在項目下的web.xm中也配置一個 url-pattern為/的servlet,這樣會把tomcat默認提供的缺省的servlet給覆蓋掉,這樣當訪問的資源(jsp或servlet)不存在時,就不會給你提供404的錯誤提示了.

另外:Jsp也是servlet 以url-pattern為*.jsp的servlet給你處理的

<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>

</servlet>

<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>

Jsp資源如果找不到 例如輸入aaa.jsp 是使用JspServlet給你處理的 如果該頁面
存在給你返回這個jsp頁面,如果頁面不存在給你返回404的頁面,所以如果配置了一個servlet
Url-pattern為*.jsp的話,jsp頁面不存在時的404頁面也不會給你產生了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM