`
simen_net
  • 浏览: 300221 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

SpringMVC默认欢迎页面的问题

阅读更多

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

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

 

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

<!-- 默认首页定义 -->
  <welcome-file-list>
    <welcome-file>/index.html</welcome-file>
  </welcome-file-list>
 
<!-- 配置SpringMVC参数 -->
  <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一般情况下只能使用静态网页,如果非要把他配置成SpringMVC的控制器URL就会报错

 

解决的方法:

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

  <!-- 默认首页定义 -->
  <welcome-file-list>
    <welcome-file>index</welcome-file>
  </welcome-file-list>
  
  <!-- 配置SpringMVC参数 -->
  <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控制器单独注册了一个 /index 的URL(这个有 “/”)

 

 

 

 

 

 

 

分享到:
评论
8 楼 beiyeren 2013-08-26  
3楼和楼主的方法都可以,记录一下
7 楼 beiyeren 2013-08-26  
很赞,记录一下
6 楼 mycream 2013-07-30  
今天我也在寻求这个问题的解决方案,有个解决是添加
<welcome-file-list>
    <welcome-file></welcome-file>
</welcome-file-list>
就OK了。
自己测试了成功,目前看是OK的。
我找到的解决方案的页面:http://iammr.7.blog.163.com/blog/static/49102699201222643458216/
5 楼 simen_net 2013-07-19  
控制器的URL就为index即可
4 楼 烤咸鱼 2013-07-19  
对应index的 控制器 要咋写呢?遇到这个问题 麻烦 楼主能 解答下的。
3 楼 Navee 2012-10-08  
在spring mvc 的配置文件中添加:
<mvc:view-controller path="/" view-name="index"/>
path为路径,view-name为视图名
访问localhost:8080/appname/  的时候就可以跳转到你配置的index了
p.s.spring mvc版本3.1.2
2 楼 vvvpig 2012-05-05  
比较简单的方法就是在index.jsp中作一次跳转,这样不用拦截indexURL的方式
1 楼 xzcgeorge 2012-04-28  

相关推荐

Global site tag (gtag.js) - Google Analytics