Tomcat + Spring MVC:SSL设置中未加载CSS和Javascript

时间:2015-11-21 22:12:21

标签: spring-mvc tomcat ssl

我在Windows 7上使用Tomcat(6.0.26)和Spring MVC作为网站。我想测试它是否适用于某些页面或目录的SSL。

我在C:\ Users \ Me中有一个自我分配的SSL证书(文件:.keystore),默认密码为" changeit"。

在我的Spring安全环境中,我有以下内容:

<http auto-config="false" use-expressions="true" request-matcher="regex" >

    ....

    <intercept-url pattern="^\/login$" requires-channel="https"  />

    <port-mappings>
        <port-mapping http="8080" https="8443"/>
   </port-mappings>
</http>

当我点击http://localhost:8080/login时,我被重定向到https://localhost:8443/login,这正如我所希望的那样。但是,只有一些,而不是所有的css文件都被加载,并且我的javascript文件没有被加载。我的所有css和javascript文件都是本地文件。

以下是我对JSP中css文件的处理方式:

<link rel="stylesheet" href="/css/styles.css" />

我在Spring上下文中有CSS和JS文件

<mvc:resources mapping="/css/**" location="/css/" /> 
<mvc:resources mapping="/js/**" location="/js/" /> 

以下是我对javascript文件的方式以及Firebug中显示的内容:

<script src="/js/my.js"></script>
this leads to Status being "302 Moved Temporarily". no file content is loaded

<script src="//js/my.js"></script>
this leads to Status being "Aborted"

出了什么问题?怎么解决?谢谢!

1 个答案:

答案 0 :(得分:1)

(1)将其添加到您的web.xml

<servlet-mapping>
        <servlet-name>main</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

(2)将<mvc:annotation-driven />添加到您的上下文

(3)尝试路径为/ yourApp / css / * .css