整合前端页面到SSM框架之一号坑如何加载静态资源

首先,先将前端页面加入到框架中,在web下新建文件夹statics用来存放静态资源,将之前做好的前端页面添加到该文件夹下

当然,如果是把html页面转成jsp放在jsp文件夹下也行,但要在html文件上加一行

 <script src="../statics/js/jquery-1.2.6.min.js" type="text/javascript"></script>
    <script src="../statics/js/formValidator_min.js" type="text/javascript" charset="UTF-8"></script>
    <script src="../statics/js/formValidatorRegex.js" type="text/javascript" charset="UTF-8"></script>
    <script src="../statics/js/test.js" type="text/javascript" charset="UTF-8"></script>
    <link rel="stylesheet" type="text/css" href="../statics/css/test.css" />

效果和html文件放在statics下一样。

接下来,就是搞定如何加载静态资源了,下面是我 的web.xml 的部分代码

<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

我们会发现url-pattern是将所有路径都交给dispatcher处理,自然 controller 对于静态资源的请求就会返回404

所以方法一是直接改成 /*.do (这方法我没用)

另外呢我们不用方法一,可以在之前,先用默认的servlet来处理静态资源,所以方法二是在上述代码前加上

 <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/statics/*</url-pattern>
    </servlet-mapping>

使访问静态资源的路径都交由默认servlet, 这也是静态资源都放在一个文件夹下的原因(这方法我也没用)

方法三比较通用就是在springMVC的配置文件下加一行

 <mvc:default-servlet-handler/>

即可。该代码就是自动识别静态资源并交给默认servlet处理。

猜你喜欢

转载自blog.csdn.net/SeptDays/article/details/86629495
今日推荐