2011-07-14 56 views
0

我有一個春天的servlet有一個映射文件,並在那裏我定義的URL /控制器的映射:從那裏春天的servlet地圖的.html會迴應的作品,但映射到非HTML結尾的網址不

<prop key="/template.html">templateWebServiceController</prop> 

如果我是通過我的瀏覽器,並轉到本地主機測試:8080/MyApp的/ template.html, 它會調用這個servlet

但是,如果我要改變servlet映射到:

<prop key="/template">templateWebServiceController</prop> 

基本上取出.html,這樣做(轉到本地主機:8080/myapp /模板) 將無法​​調用該servlet

我錯過了什麼嗎?或測試它錯了?

謝謝!

+0

您是否嘗試過'template.form'配置 ' templateWebServiceCon troller' –

回答

1

Spring調度程序servlet被映射到web.xml中的URL模式。在你的情況下,它可能在.html結尾的網址:

<servlet-mapping> 
    <servlet-name>DispatcherServlet</servlet-name> 
    <url-pattern>*.html</url-pattern> 
</servlet-mapping> 

如果你想春接受其他類型的模式(如/template),你必須映射其他改變的東西:或添加其他的servlet映射另一種模式。

例如,您可以使用<url-pattern>/template</url-pattern>添加一個映射,並且您的控制器將被拾取。或者你可以把<url-pattern>/*</url-pattern>和所有的URL將被Spring拿起。

0

您還可以添加一個映射DispatcherServlet的

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

,並在你的servlet配置添加

<mvc:default-servlet-handler/> 

那麼你也可以訪問本地主機的根URL:8080/MyApp的/所有其他擴展等