1

我对 Web 开发比较陌生,我正在尝试在 WebLogic 10.3.4 上使用 Spring MVC 3.0.5 开发 Web 应用程序。

我希望我的 JSP 使用外部 CSS 文件。例如,我有一个 JSP 文件,其中包含以下内容:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<LINK href="${pageContext.request.contextPath}/resources/css/ptostyles.css" rel="stylesheet" type="text/css">

<title>Register</title>
</head>

不幸的是,CSS 文件似乎没有被加载。我试过把它放在不同的地方。当前目录结构如下所示:

在此处输入图像描述

我的 web.xml 的相关部分包括:

<servlet>
    <servlet-name>springDispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/config/spring-context.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>springDispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<servlet>
    <servlet-name>Resource Servlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.ResourceServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Resource Servlet</servlet-name>
    <url-pattern>WebContent/*</url-pattern>
</servlet-mapping>

任何建议,包括调试策略,将不胜感激!

4

2 回答 2

4

我通过执行以下操作设法访问了我的 CSS:

  1. 根据 Sean 的建议,我将资源文件夹直接移动到 WebContent 下
  2. 我注释掉了 web.xml 中涉及 ResourceServlet 的部分。
  3. 我将以下行添加到 spring-context.xml

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

本文讨论了可能适用于 WebLogic 部署的一些其他问题和解决方法。Spring 3.0.5 的实现中似乎存在一个错误,可能会导致传递静态资源的问题。

于 2012-10-10T19:32:26.107 回答
1

WEB-INF 文件夹下的任何内容均不公开。当浏览器请求您的 CSS 文件时,他们看不到 WEB-INF 文件夹的内部。

尝试将资源/css 文件夹放在 WebContent 下。

文件夹结构将是

WebContent
   META-INF
   WEB-INF
      ...
   resources
      css
        ptostyles.css
于 2012-10-10T16:58:53.330 回答