天天看点

SSM框架下访问.jsp或者.html页面报错 404

问题

在SSM框架下,如果web.xml配置文件如下:

<servlet-mapping>  
<servlet-name>spring-Servlet</servlet-name>  
 <url-pattern>/</url-pattern>
</servlet-mapping>
           

其中“/”会导致静态文件(jpg,js,css)被拦截后不能正常显示(其他目录下的文件也同样访问不到)。

解决方法

1:在spring-mvc.xml中启用默认Servlet

<mvc:default-servlet-handler/>
           

在web.xml中增加对静态资源的处理

<servlet-mapping>
       <servlet-name>default</servlet-name>
       <url-pattern>*.js</url-pattern>
       <url-pattern>*.css</url-pattern>
       <url-pattern>/assets/*"</url-pattern>
       <url-pattern>/images/*</url-pattern>
</servlet-mapping>
           

特点:使用默认的Servlet进行资源文件的访问,Spring拦截所有请求,然后再将资源文件交由默认的Sevlet进行处理,性能上少有损耗

2:修改web.xml

修改前

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

修改后

<url-pattern>*.do</url-pattern>
           

特点:Spring只是处理以’.do’结尾的访问,性能上更加高效,但是再访问路径上必须都以’.do’结尾,URL不太文雅

继续阅读