[spring] [jsp] Проблема с файлом CSS - PullRequest
1 голос
/ 23 февраля 2011

У меня проблема с файлом .css на моей странице JSP.

Моя страница выглядит следующим образом:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>

...
<link href="test.css" rel="stylesheet" type="text/css">
...

<body>

<div id="header">....

Когда я развертываю свое приложение на JBoss5.1, появляется предупреждение:

WARN [PageNotFound] Сопоставление не найдено дляHTTP-запрос с URI [/appTest1-web/test.css] в DispatcherServlet с именем 'appTest1'

Кто-нибудь знает почему?

ДОБАВЛЕНО

<?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>appTest1</display-name>


    <servlet>
        <servlet-name>appTest1</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>appTest1</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>
            index.jsp
    </welcome-file>
    </welcome-file-list>

</web-app>

Ответы [ 3 ]

2 голосов
/ 23 февраля 2011

Является ли базовый URL, который вы используете для случайного вызова этой страницы: / appTest1?

Полагаю, вы просто поместили эту страницу / контроллер в / appTest1 и, таким образом, когда он ищет какой-либо ресурс настраницу (например, css, любое изображение, js и т. д.), которую она ищет в "/ appTest1 / your_resource"

Возможно, класс, содержащий ваш контроллер, имеет что-то вроде @RequestMapping ("appTest1")?или, может быть, это артефакт JBoss (если это так, я не парень JBoss, поэтому не могу предлагать идеи там).

В любом случае на ваш CSS-файл, вероятно, должна быть соответствующим образом указана либо "../test.css ", или статическая ссылка, такая как:" /static/css/test.css ", я выбираю последнее.

Кстати, весной я настроил статический каталог для нединамического содержимогоwith:

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

Крупномасштабные веб-сайты также рассматривают возможность размещения статического контента в отдельном домене, например static.mydomain.com или mycontentdomain.net, чтобы избежать передачи файлов cookie вместе со статическим контентом.

Надеюсь, что все это поможет вам направить себя в правильном направлении.

0 голосов
/ 23 февраля 2011

Я думаю, что вы где-то еще в xml ошибаетесь, но в более продвинутом перенаправлении вы можете использовать фильтр UrlRewrite http://www.tuckey.org/urlrewrite/

0 голосов
/ 23 февраля 2011

Похоже, ваш DispatcherServlet пытается обработать test.css.Проверьте ваш web.xml, чтобы узнать, направлены ли запросы * или .css на ваш DispatcherServlet.Вы должны искать что-то вроде ниже.Убедитесь, что шаблон url ограничен расширениями, которые вы хотите перенаправить на сервлет диспетчера.

<servlet-mapping>
  <servlet>dispatcher</servlet>
  <url-pattern>/*</url-pattern>
</servlet-mapping>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...