spring mvc 中jsp 引用js jquery 文件报错404 问题解决

在spring mvc 中过滤器为/
web配置文件如下

<servlet>
        <servlet-name>springmvc</servlet-name>
        <!-- 前端控制器 -->
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <init-param>
            <param-name>ContextConfigLocation</param-name>
            <param-value>/WEB-INF/springmvc-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

如果没有配置default 所有的 css js jsp 文件都被过滤了。。所以要配置default过滤器,配置内容如下:

    <!-- static resources  访问静态文件-->
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.css</url-pattern>
    </servlet-mapping>

    <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>

这样还不够 还需要配置 jsp中的引入路径,具体配置路径如下:

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";


System.out.println(basePath);
%>

<script language="javascript" src="<%=basePath %>js/jquery.min.js"></script>
<script language="javascript" src="<%=basePath %>js/area.ui.js"></script>

访问路径为:

http://localhost:8080/BB/js/jquery.min.js
http://localhost:8080/BB/js/area.ui.js

在浏览器访问如上路径依然可以访问 js文件

到此结束,如有问题请留言交流。

猜你喜欢

转载自blog.csdn.net/ppwwp/article/details/82720053