使用SpringMVC很長時(shí)間,一直有個(gè)問題沒有搞定,就是web.xml中默認(rèn)歡迎頁面轉(zhuǎn)向控制器的問題。
由于答應(yīng)朋友明天要交個(gè)網(wǎng)站,他們對默認(rèn)頁面有這樣的要求,并且最好也別用js等等的跳轉(zhuǎn);所以今天請教了一下jinnianshilongnian
也看了他的一些文章學(xué)了不少東西,但是和項(xiàng)目里面的配置方式有寫差異所以并不能完美的實(shí)現(xiàn)。找了寫資料研究了一下servlet方面的東西,發(fā)現(xiàn)了另外一個(gè)替代解決方案,東西不算太高深,留個(gè)備忘。
之前的SpingMVC配置控制器的代碼
-
- <welcome-file-list>
- <welcome-file>/index.html</welcome-file>
- </welcome-file-list>
-
-
- <servlet>
- <servlet-name>StrongGXT</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/applicationMVC.xml</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>StrongGXT</servlet-name>
- <url-pattern>*.mvc</url-pattern>
- </servlet-mapping>
問題的由來:
welcome-file-list一般情況下只能使用靜態(tài)網(wǎng)頁,如果非要把他配置成SpringMVC的控制器URL就會(huì)報(bào)錯(cuò)
解決的方法:
仔細(xì)看了一些資料,發(fā)現(xiàn)welcome-file-list可以轉(zhuǎn)向到servlet,但是?。?!前提是servlet不能有擴(kuò)展名,否則就當(dāng)成靜態(tài)文件處理了,那么這樣的話就嘗試了定義個(gè)沒有擴(kuò)展名的SpringMVC控制器URL。修改配置文件如下:
-
- <welcome-file-list>
- <welcome-file>index</welcome-file>
- </welcome-file-list>
-
-
- <servlet>
- <servlet-name>StrongGXT</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/applicationMVC.xml</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>StrongGXT</servlet-name>
- <url-pattern>/index</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>StrongGXT</servlet-name>
- <url-pattern>*.mvc</url-pattern>
- </servlet-mapping>
注意:welcome-file-list配置的是沒有 / 的 index,下面為SpringMVC控制器單獨(dú)注冊了一個(gè) /index 的URL(這個(gè)有 “/”)
|