最近打算做一个web系统,前端页面套用了bootstrap,我用的服务器是java服务器tomcat,但是页面如果是htm格式一直无法访问,在确认请求路径无误的情况下发现htm文件是无法访问的,替换了jsp格式的文件即可以访问,这就说明了htm文件不能访问。
修改了成jsp格式之后可以访问,但是页面引用的js和css静态文件是引入失败的,如图。
这里我查找了相关的原因,在Web.xml我的配置如下:
<!-- spring配置 -->
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springContext.xml</param-value>
</context-param>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
关于spring的拦截,采用的是/去拦截,因此只要访问url都会去拦截,因此静态的文件无法引入,我把/改成了*.do
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
这样在写控制器的时候注意加上请求后缀就会被spring拦截。不会拦截静态请求了。解决了问题,可以引入文件: