복붙노트

[SPRING] 스프링 MVC - 정적 파일 / 자바 스크립트, CSS 포함

SPRING

스프링 MVC - 정적 파일 / 자바 스크립트, CSS 포함

나는 MVC 응용 프로그램을 만들었습니다.

jsp 또는 css 파일을 jsp에 포함하고 싶습니다.

내 정적 파일은 다음과 같습니다.

- webapp
        -js/jquery.js
        -WEB-INF|
                |
                 - jsp/*.jsp

jquery를 포함하는 코드는 다음과 같습니다.

<script type="text/javascript" src="<c:url value="js/jquery.js" />"></script>

그리고 볼 js 파일을로드 할 수 없습니다.

정보가있는 로그가 표시됩니다.

WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/pool/js/jquery.js] in DispatcherServlet with name 'appServlet'

무슨 뜻인지, MVC는 js 파일에 URL을 매핑하려고합니다.

내 구성에는 뭔가가 있다고 생각하지만, 나는 무엇을 모릅니다.

내 web.xml은 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8"?>

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>

<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- Processes application requests -->
<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>

  <filter>
    <filter-name>hibernateFilter</filter-name>
    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>hibernateFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

해결법

  1. ==============================

    1.DispatcherServlet 매핑을 예 :

    DispatcherServlet 매핑을 예 :

    <servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>*.jsp</url-pattern>
    </servlet-mapping>
    

    또는 * .htm 또는 / controllers / *와 같이 충돌하지 않는 URL 패턴이 있습니다. 이제부터는 모든 컨트롤러에이 패턴을 통해서만 사용할 수 있음을 기억하십시오.

    이제는 웹 응용 프로그램에서 .js 파일, 이미지 등을 포함한 모든 것을 가로 채고 있습니다.

    hibernateFilter와 같은 일 - .js 파일을 가져올 때 열려있는 Hibernate 세션이 정말로 필요하지 않습니까?

  2. ==============================

    2.당신에게 confing을 추가하고 필요에 따라 위치를 수정하십시오.

    당신에게 confing을 추가하고 필요에 따라 위치를 수정하십시오.

      <mvc:resources mapping="/static/**" location="/WEB-INF/static/"/>
    

    스프링 MVC에서 정적 컨텐츠를 다루는 방법

  3. ==============================

    3.왜 간단한 JSP 코어를 사용하지 않습니까?

    왜 간단한 JSP 코어를 사용하지 않습니까?

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>    
    <link rel="stylesheet" type="text/css" href="<c:url value='/resources/css/bootstrap.css'/>" />
    
  4. ==============================

    4.Spring JSTL 태그를 사용하여 외부 스크립트 파일이나 스타일 시트를 포함하십시오. 먼저 JSP에 taglib를 다음과 같이 포함시켜야한다.

    Spring JSTL 태그를 사용하여 외부 스크립트 파일이나 스타일 시트를 포함하십시오. 먼저 JSP에 taglib를 다음과 같이 포함시켜야한다.

    <%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
    

    그런 다음 외부 스크립트 파일을 사용하여,

    <script type="text/javascript" src="<spring:url value="/js/jquery.js"/>"></script>
    
  5. ==============================

    5.나는 당신의 대답에 동의합니다. 그러나 style.css 파일에서 이미지 경로와 관련된 URL을 선언하십시오.

    나는 당신의 대답에 동의합니다. 그러나 style.css 파일에서 이미지 경로와 관련된 URL을 선언하십시오.

    - 스타일 .css--

    .cwt-object0
    {
        display: block;
        left: 2.62%;
        margin-left: -1px;
        position: absolute;
        top: 43px;
        width: 64px;
        height: 64px;
        background-image: url('/resources/images/object0.png');
        background-position: 0 0;
        background-repeat: no-repeat;
        z-index: 0;
    }
    

    브라우저에서 볼 수있는 style.css 파일의 태그 사용 방법 IE / Firefox

    --jsp 파일 ---

    <link href="<spring:url value="/resources/style.css"/>" rel="stylesheet" type="text/css" media="screen">
    
  6. ==============================

    6.구성 파일 (* - servlet.xml)에 mvc : resources를 추가하면 작동하는 것을 알 수 있습니다.

    구성 파일 (* - servlet.xml)에 mvc : resources를 추가하면 작동하는 것을 알 수 있습니다.

  7. ==============================

    7.방금 Mkyong Tutorial을 따라 CSS, js, jquery 및 이미지 파일을 배치했습니다. 나를 위해 일하고.

    방금 Mkyong Tutorial을 따라 CSS, js, jquery 및 이미지 파일을 배치했습니다. 나를 위해 일하고.

    servlet-context.xml에서

    <!-- Handles HTTP GET requests for /resources/** by efficiently serving 
            up static resources in the ${webappRoot}/resources directory -->
        <resources mapping="/resources/**" location="/resources/assets/" />
    

    JSP에서 가져 오기 태그 라이브러리

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    

    같이 추가

    <link rel="stylesheet" href="<c:url value='/resources/css/custom.css'/>">
    
  8. from https://stackoverflow.com/questions/8582577/spring-mvc-include-static-files-javascript-css by cc-by-sa and MIT license