SpringMVC默认欢迎页面的问题

使用SpringMVC很长时间,一直有个问题没有搞定,就是web.xml中默认欢迎页面转向控制器的问题。

由于答应朋友明天要交个网站,他们对默认页面有这样的要求,并且最好也别用js等等的跳转;所以今天请教了一下jinnianshilongnian 也看了他的一些文章学了不少东西,但是和项目里面的配置方式有写差异所以并不能完美的实现。找了写资料研究了一下servlet方面的东西,发现了另外一个替代解决方案,东西不算太高深,留个备忘。

 

之前的SpingMVC配置控制器的代码

Xml代码  收藏代码
  1. <!-- 默认首页定义 -->  
  2.   <welcome-file-list>  
  3.     <welcome-file>/index.html</welcome-file>  
  4.   </welcome-file-list>  
  5.    
  6. <!-- 配置SpringMVC参数 -->  
  7.   <servlet>  
  8.     <servlet-name>StrongGXT</servlet-name>  
  9.     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  10.     <init-param>  
  11.       <param-name>contextConfigLocation</param-name>  
  12.       <param-value>/WEB-INF/applicationMVC.xml</param-value>  
  13.     </init-param>  
  14.     <load-on-startup>1</load-on-startup>  
  15.   </servlet>  
  16.   <servlet-mapping>  
  17.     <servlet-name>StrongGXT</servlet-name>  
  18.     <url-pattern>*.mvc</url-pattern>  
  19.   </servlet-mapping>   

 

问题的由来:

welcome-file-list一般情况下只能使用静态网页,如果非要把他配置成SpringMVC的控制器URL就会报错

 

解决的方法:

仔细看了一些资料,发现welcome-file-list可以转向到servlet,但是!!!前提是servlet不能有扩展名,否则就当成静态文件处理了,那么这样的话就尝试了定义个没有扩展名的SpringMVC控制器URL。修改配置文件如下:

Xml代码  收藏代码
  1. <!-- 默认首页定义 -->  
  2. <welcome-file-list>  
  3.   <welcome-file>index</welcome-file>  
  4. </welcome-file-list>  
  5.   
  6. <!-- 配置SpringMVC参数 -->  
  7. <servlet>  
  8.   <servlet-name>StrongGXT</servlet-name>  
  9.   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  10.   <init-param>  
  11.     <param-name>contextConfigLocation</param-name>  
  12.     <param-value>/WEB-INF/applicationMVC.xml</param-value>  
  13.   </init-param>  
  14.   <load-on-startup>1</load-on-startup>  
  15. </servlet>  
  16. <servlet-mapping>  
  17.   <servlet-name>StrongGXT</servlet-name>  
  18.   <url-pattern>/index</url-pattern>  
  19. </servlet-mapping>  
  20. <servlet-mapping>  
  21.   <servlet-name>StrongGXT</servlet-name>  
  22.   <url-pattern>*.mvc</url-pattern>  
  23. </servlet-mapping>  

 

注意:welcome-file-list配置的是没有 / 的 index,下面为SpringMVC控制器单独注册了一个 /index 的URL(这个有 “/”)

posted @ 2017-03-04 22:32  PointNet  阅读(14865)  评论(2编辑  收藏  举报