복붙노트

[SPRING] 봄 mvc : 자원 태그 및 404 오류

SPRING

봄 mvc : 자원 태그 및 404 오류

태그 를 사용하려고합니다.

이건 내 프로젝트 구조 야.

내가 원하는 건 js 폴더에 자바 스크립트에 액세스하고 CSS 스타일 폴더에있다. 그러나이 값을 dispatcher-servlet.xml에 추가 할 때마다

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

프로젝트를 실행할 때 404 오류가 발생했습니다 (프로젝트가 login.jsp 페이지 인 login.htm으로 리디렉션됩니다)

이것은 내 dispatcher-servlet.xml 코드입니다.

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">

    <context:component-scan base-package="com.swcommodities.wsmill.controller"/>

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

    <bean id="viewResolver"
          class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:prefix="/WEB-INF/"
          p:suffix=".jsp" />
    <tx:annotation-driven/>
    .
    .
    .
</beans>

이것은 web.xml입니다.

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <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>2</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>redirect.jsp</welcome-file>
    </welcome-file-list>

왜 내가 줄을 삭제했는지 모르겠다. 프로젝트가 올바르게 실행되었지만 프로젝트에이 파일을 추가하면 즉시 404 오류가 발생한다. 나는이 프로젝트가 현재 프로젝트와 충돌한다고 생각한다.

해결법

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

    1.대답은 다음과 같습니다.

    대답은 다음과 같습니다.

    봄 3에서 를 사용하면 다른 모든보기가 작동하지 않게됩니다.

    "에는 (또는 명시 적으로 선언 된 핸들러 매핑 등)이 필요합니다."

    그것은 저를위한 간계를했다.

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

    2.location 속성에 다음과 같이 전체 경로를 설정해야합니다.

    location 속성에 다음과 같이 전체 경로를 설정해야합니다.

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

    한 가지 별도의 메모로, 현재 설정에서 악의적 인 사용자가 WEB-INF / 아래의 항목에 액세스 할 수 있기 때문에 "자산"과 같이 모든 리소스를 한 폴더에 모두 넣을 것을 권장합니다.

    이게 작동하는지 알려주세요.

    아이 만

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

    3.리소스 파일은 폴드 j와 스타일로되어 있으므로 매핑을 다음으로 변경해야합니다.

    리소스 파일은 폴드 j와 스타일로되어 있으므로 매핑을 다음으로 변경해야합니다.

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

    jsp로로드하십시오.

    <script type="text/javascript" src="/js/file.js"></script>
    <link type="text/css" href="/styles/file.css" />
    
  4. from https://stackoverflow.com/questions/18373165/spring-mvcresources-tag-and-404-error by cc-by-sa and MIT license