Spring3 MVC如何直接访问jsp、html

初学Spring3 MVC,我的配置是这样的:

 

<servlet>
        <servlet-name>appServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/config/servlet-context.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>/index.htm</url-pattern>
    </servlet-mapping>
       <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
    </bean>

 我想使用RESTFull的url,所以不想加后缀.action,.do之类的,但是这样的话我的所有请求都得过DispatcherServlet,我不能访问html和jsp页面了(可能直接访问jsp页面不被rest提倡,但是我确实有这个需求),

不知道怎么实现(按照上面的配置直接访问html和jsp会被过滤,而且不能直接访问views下的页面),谁对这个熟的,帮忙下撒~~

 

总结下:我的需要是,如果没有任何尾缀的url则使用spring的DispatcherServlet进行过滤,若尾缀是html或者jsp就直接访问,不经过spring的过滤,请别告诉我使用mvc:resources,我需要其他方式访问jsp

[quote]明显不会是这种,default是跟容器相关的,再说你这样也不能直接访问jsp[/quote]不能访问jsp是你没在default中配置。
其它方法思路
1 写filter 提前对jsp后缀过滤转发
2 改写DispatcherServlet的doDispatch方法(迫不得已) 你看看Spring的DispatcherServlet的源码就会明白。doDispatch首先会调用getHandler找相应的controller, 如果找不到会抛异常, 一般jsp的文件也不会在controller中映射的, 是肯定找不到的。如果不改写的话第一关都过不了。

web.xml做如下配置即可


default

*.css

<servlet-mapping>  
        <servlet-name>default</servlet-name>  
        <url-pattern>*.gif</url-pattern>  
</servlet-mapping>  

<servlet-mapping>  
        <servlet-name>default</servlet-name>  
        <url-pattern>*.jpg</url-pattern>  
</servlet-mapping>  

<servlet-mapping>  
        <servlet-name>default</servlet-name>  
        <url-pattern>*.js</url-pattern>  
</servlet-mapping>  

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

在你的xxx-servlet.xml里面加入

在webRoot下面建立一个resources文件夹
然后把你的静态资源文件 jsp 都丢进去,就可以直接访问了.
spring版本 3.0.5 低了好像不能配置mvc:resources