我的JSP页面上的.css文件有问题。
我的页面如下:
<%@ 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]找不到名为“appTest1”的DispatcherServlet中带有URI [/appTest1-web/test.css]的HTTP请求的映射
有人知道为什么吗?
ADDED
<?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>
答案 0 :(得分:2)
您用来调用此页面的基本URL:/ appTest1是偶然的吗?
我假设您只是将此页面/控制器放在/ appTest1下,因此当它在页面上查找任何资源时(例如您的css,任何图像,js等),它会在“/ appTest1 / your_resource”下查找< / p>
也许包含你的控制器的类有类似@RequestMapping(“appTest1”)的东西?或许这是一个JBoss工件(如果是这样,我不是JBoss的人,所以不能在那里提出想法)。
在任何情况下,您的CSS文件都应该使用“../test.css”或静态引用来适当引用,例如:“/ static / css / test.css”,我选择后者。
顺便说一句,在春天,我为非动态内容配置了静态目录:
<mvc:resources mapping="/public/**" location="/public/"/>
大型网站还会考虑将静态内容放在一个单独的域名下,例如static.mydomain.com或mycontentdomain.net,以避免cookie与静态内容一起传递。
希望所有这些能帮助你指明正确的方向。
答案 1 :(得分:0)
似乎您的DispatcherServlet正在尝试处理test.css。检查您的web.xml以查看*或.css请求是否定向到您的DispatcherServlet。你应该寻找下面的东西。确保将url-pattern限制为要将其定向到调度程序servlet的扩展名。
<servlet-mapping>
<servlet>dispatcher</servlet>
<url-pattern>/*</url-pattern>
</servlet-mapping>
答案 2 :(得分:0)
我认为你在xml的其他地方犯了错误,但在更高级的重定向中你可以使用UrlRewrite过滤器http://www.tuckey.org/urlrewrite/