Servlet中連接tomcat出現404


  Servlet中連接tomcat出現404

在創建完成后會出現404錯誤,如下圖所示:

 

 

   分析其原因:

    1.在配置web.xml的時候,由於是在Eclipse中是自己創建的,所以錯放路徑,也會導致找不到tomcat服務器,出現404.需要按照下列方式存放表格

    2.有時候也會出現tomcat服務器startup失敗,這可能是由於在書寫web.xml的時候,映像名稱(servlet-name)沒寫對,導致服務器開不起來,或者url-pattern,servlet-class沒有寫對路徑位置導致,所以下面是寫這幾個元素需要注意的點:

  <servlet>
    <servlet-name>Pac_info</servlet-name><!-- 要執行的程序的名字 -->
    <servlet-class>test_my_1.Pac_info</servlet-class><!-- 如果在同一個目錄下面,需要協商包名+名字 -->
  </servlet>
  <servlet-mapping>
    <servlet-name>Pac_info</servlet-name><!-- 映像名字,這個也是不能錯的,必須是執行的程序名字 -->
    <url-pattern>/Pac_info</url-pattern><!-- 映像路徑,后面和前面都不限制范圍 -->
  </servlet-mapping>

 

    3.再講一下url-pattern的匹配規則:

  當servlet容器接收到瀏覽器發起的一個url請求后,容器會用url減去當前應用的上下文路徑,以剩余的字符串作為servlet映射,假如url是http://localhost:8080/appDemo/index.html,其應用上下文是appDemo,容器會將http://localhost:8080/appDemo去掉,用剩下的/index.html部分拿來做servlet的映射匹配,url-pattern映射匹配過程同樣也是有優先順序的

    匹配方式:

  1.精確匹配:<url-pattern>中配置的項必須與url完全精確匹配

<servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/user/users.html</url-pattern>
    <url-pattern>/index.html</url-pattern>
    <url-pattern>/user/addUser.action</url-pattern>
</servlet-mapping>

當在瀏覽器中輸入如下幾種url時,都會被匹配到該servlet
  http://localhost:8080/appDemo/user/users.html
  http://localhost:8080/appDemo/index.html
  http://localhost:8080/appDemo/user/addUser.action

 

  2.路徑匹配:以“/”字符開頭,並以“/*”結尾的字符串用於路徑匹配

<servlet-mapping>
    <servlet-name>MyServlet</servlet-name>
    <url-pattern>/user/*</url-pattern>
</servlet-mapping>

路徑以/user/開始,后面的路徑可以任意。比如下面的url都會被匹配。
  http://localhost:8080/appDemo/user/users.html
  http://localhost:8080/appDemo/user/addUser.action
  http://localhost:8080/appDemo/user/updateUser.actionl

 

  3.擴展名匹配:以“/”字符開頭,並以“/*”結尾的字符串用於路徑匹配

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

則任何擴展名為jsp或action的url請求都會匹配,比如下面的url都會被匹配
  http://localhost:8080/appDemo/user/users.jsp
  http://localhost:8080/appDemo/toHome.action

  

  4.缺省匹配

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

 


免責聲明!

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



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