我希望我的一個servlet(test2)處理「/」請求(即http://localhost/),而另一個servlet(test1)處理所有其他請求(「/ *」)。通配符請求的web.xml servlet映射
設置我的web.xml以下,但問題是,所有的請求去test1.jsp(甚至是「/」請求)
誰能告訴我如何做到這一點?
<servlet>
<servlet-name>test1</servlet-name>
<jsp-file>/test1.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>test1</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>test2</servlet-name>
<jsp-file>/test2.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>test2</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
----編輯-----
我意識到我的問題是有點不明確,不完整的。這裏是正是我想要完成一個例子..
- http://mytestsite.com/ - >映射到http://mytestsite.com/index.html
- http://mytestsite.com/servlet1 - >運行com.mytestsite.servlet1
- http://mytestsite.com/ * - >映射到http://mytestsite.com/catchall.jsp(我想未在web.xml中映射的所有其他請求映射到catchall.jsp)
所以我的web.xml如下所示:
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>com.mytestsite.servlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>/servlet1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>catchall</servlet-name>
<jsp-file>/catchall.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>catchall</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
,所以我注意到一個奇怪的問題。當我請求http://mytestsite.com/時,它會在重定向到index.html之前轉到catchall.jsp。然而,如此之快,我根本不會注意到它擊中catchall.jsp(但我把在的System.out.println這個文件,它肯定是打它)。
感謝您花時間看我遇到的問題。我編輯了我的問題上面。希望它清除了一切...... – jmoney 2009-09-28 16:06:48