2011-11-14 2 views
2

저는 Spring과 Tomcat 7.0을 사용하여 웹 응용 프로그램을 개발 중입니다. 브라우저에서 페이지를 테스트 할 때 CSS를 적용하지 않습니다. 외부 스타일 시트를로드 할 수 없기 때문입니다. 여기 웹 페이지에 외부 CSS가로드되지 않습니다.

내 다양한 ​​파일

web.xml을

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
    <display-name>MyProject</display-name> 
    <servlet> 
     <servlet-name>dispatcher</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet> 
    <servlet-name>ResourceServlet</servlet-name> 
    <servlet-class>org.springframework.js.resource.ResourceServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 


    <servlet-mapping> 
     <servlet-name>dispatcher</servlet-name> 
     <url-pattern>*.htm</url-pattern> 
    </servlet-mapping>  
    <servlet-mapping> 
    <servlet-name>ResourceServlet</servlet-name> 
    <url-pattern>/resources/*</url-pattern> 
</servlet-mapping> 

    <welcome-file-list> 
     <welcome-file>redirect.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 

디스패처-servlet.xml에

<?xml version="1.0" encoding="UTF-8"?> 
<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: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-2.5.xsd 
http://www.springframework.org/schema/mvc 
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 

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

    <bean id="userService" class="com.abdus.service.UserServiceImpl" /> 

    <context:component-scan base-package="com.abdus.web" /> 
    <bean 
     class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /> 
    <bean 
     class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> 

</beans> 

이며,이 JSP 페이지에서 머리

welcomePage.jsp

<meta charset="utf-8"/> 
    <title>Welcome</title> 
    <link rel="stylesheet" href="/resources/dream.css" type="text/css" /> 
+0

당신은의 전체 클래스 이름에 대해 확실 ResourceServlet. 나는 그것이 org.springframework.web.servlet.ResourceServlet (Spring 3.x와 Spring 2.5에서)이라고 생각한다. – DwB

+0

org.springframework.web.servlet.ResourceServlet을 사용하는 경우 다음 예외가 발생합니다. –

답변

5

을 귀하의 JSP로 적용) 맞죠? /resources/dream.css를 탐색 할 때 응답은 무엇입니까?

/* 서블릿 매핑을 사용하여 정적 컨텐츠를 제공하지 않는 Tomcat과 관련된 문제점이있었습니다. 방법은 내가 명시 적, .CSS 파일을 포함하여 web.xml의 각 내용 유형을 매핑과 같이하는 것이었다 해결 : "기본"서블릿으로의 conf/web.xml 파일에 바람둥이에 의해 미리 정의되어

<servlet-mapping> 
    <servlet-name>default</servlet-name> 
    <url-pattern>*.css</url-pattern> 
</servlet-mapping> 

(

0

당신은 JSTL 태그를 사용할 수 있습니다

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

을 아니면 전체 자원 경로를 사용할 수 있습니다이없는 반대로 당신은 (CSS의 URL에 액세스 할 수없는 말을하는지

<base href="http://localhost:8080/myapp/" /> 
<link href="resources/style.css" rel="stylesheet" type="text/css" /> 
1

실제로 경로 문제였습니다. 이것은 내 디렉토리 구조였습니다

그리고 jsp 링크에서 jsp 링크는 href = "/ resources/dream.css"로 지정했기 때문에 href = "MyProject/resources"도 시도했습니다. /dream.css ".

하지만 난 그것을 해결되는 wasy 내가 에 MyProject/자원/dream.css 및 href가 같은 디렉토리 구조를 만들어 = "MyProject를/자원/dream.css"

관련 문제