在DispatcherServlet中找不到带有针对css和js的URI的HTTP请求的映射

时间:2014-09-02 05:41:58

标签: java css spring hibernate spring-security

我有一个maven项目。

project structure

我的css和js文件位于-src -main -webapp -resources(-css和-js)下

我的应用程序已成功部署,但在浏览器(http://url:8080/test_jboss_local/admin)上打开jsp页面时未加载css和js。获得:

00:44:12,027 INFO [STDOUT] WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/test_jboss_local/resources/css/main.css] in DispatcherServlet with name 'appServlet' 00:44:12,054 INFO [STDOUT] WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/test_jboss_local/resources/js/jquery.1.10.2.min.js] in DispatcherServlet with name 'appServlet' 00:44:12,164 INFO [STDOUT] WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/test_jboss_local/resources/js/main.js] in DispatcherServlet with name 'appServlet' Servlet-context.xml:

<annotation-driven />
       <context:annotation-config />
       <context:component-scan base-package="com.abc" />
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
              <beans:property name="prefix" value="/WEB-INF/views/" />
              <beans:property name="suffix" value=".jsp" />
       </beans:bean>

<resources mapping="/admin/**" location="/resources/" />

Security-context.xml:

       <http pattern="/resources/css/*.css" security="none" />
       <http pattern="/resources/js/*.js" security="none" />

       <http auto-config="true">
              <intercept-url pattern="/admin**" access="ROLE_USER" />
       </http>
<authentication-manager>
         <authentication-provider>
           <user-service>
              <user name="vvv" password="123456" authorities="ROLE_USER" />
           </user-service>
         </authentication-provider>
       </authentication-manager>

Web.xml中:

<context-param>
              <param-name>contextConfigLocation</param-name>
              <param-value>
              /WEB-INF/spring/root-context.xml /WEB-INF/spring/security-context.xml
       </param-value>
       </context-param>

       <servlet>
              <servlet-name>appServlet</servlet-name>
              <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
              <init-param>
                     <param-name>contextConfigLocation</param-name>
                     <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
              </init-param>
              <load-on-startup>1</load-on-startup>
       </servlet>
       <servlet-mapping>
              <servlet-name>appServlet</servlet-name>
              <url-pattern>/</url-pattern>
       </servlet-mapping>
       <servlet-mapping>
              <servlet-name>appServlet</servlet-name>
              <url-pattern>*.css</url-pattern>
       </servlet-mapping>
       <servlet-mapping>
              <servlet-name>appServlet</servlet-name>
              <url-pattern>*.js</url-pattern>
       </servlet-mapping>
       <listener>
              <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
       </listener>
       <filter>
              <filter-name>springSecurityFilterChain</filter-name>
              <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
       </filter>
       <filter-mapping>
              <filter-name>springSecurityFilterChain</filter-name>
              <url-pattern>/*</url-pattern>
       </filter-mapping>

根context.xml中:

<!-- <tx:annotation-driven transaction-manager="transactionManager" /> -->
       <bean id="transactionManager"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
       <context:component-scan base-package="com.abc" />

       <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <!-- <property name="dataSource" ref="dataSource" /> -->
        <property name="configLocation">
            <value>classpath:hibernate.cfg.xml</value>
        </property>
        <property name="configurationClass">
            <value>org.hibernate.cfg.AnnotationConfiguration</value>
        </property>
    </bean>

Main.css:

h1{
       color:red;
}

Main.js:

jQuery(document).ready(function($) {

       $('#msg').html("This is updated by jQuery")

});

Admin.jsp:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@page session="true"%>
<html>
<head>
<link href="<c:url value="/resources/css/main.css" />" rel="stylesheet">
<script src="<c:url value="/resources/js/jquery.1.10.2.min.js" />"></script>
<script src="<c:url value="/resources/js/main.js" />"></script>
</head>
<body>
       <h1>Title : ${title}</h1>
       <h1>Message : ${message}</h1>
       <div id="msg"></div>

       <c:if test="${pageContext.request.userPrincipal.name != null}">
          <h2>Welcome : ${pageContext.request.userPrincipal.name} 
           | <a href="<c:url value="/j_spring_security_logout" />" > Logout</a></h2>  
       </c:if>


</body>
</html>

HelloCOntroller.java:

@Controller
public class HelloController {

       @RequestMapping(value = { "/", "/welcome**" }, method = RequestMethod.GET)
       public ModelAndView welcomePage() {

              ModelAndView model = new ModelAndView();
              model.addObject("title", "Spring Security Hello World");
              model.addObject("message", "This is welcome page!");
              model.setViewName("hello");
              return model;

       }

       @RequestMapping(value = "/admin**", method = RequestMethod.GET)
       public ModelAndView adminPage() {

              ModelAndView model = new ModelAndView();
              model.addObject("title", "Spring Security Hello World");
              model.addObject("message", "This is protected page!");
              model.setViewName("admin");

              return model;

       }

我也在网上搜索过,但无法识别问题。请帮助我的css和js没有加载。为什么我没有找到css和js的映射。

0 个答案:

没有答案