Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 资源映射Spring框架3_Java_Spring - Fatal编程技术网

Java 资源映射Spring框架3

Java 资源映射Spring框架3,java,spring,Java,Spring,我实际上面临着以下问题: 我将Spring与jQuery一起使用。我有一个控制器: @控制器 @请求映射(value=“/A”) 公共类控制器{ //不重要 } 这可以很好地处理所有host/A/..URL。但是jQuery CSS样式使用的是url(images/…),因此有从host/A/index.jsp到host/A/images/…的引用。但我没有这样的文件夹,因为/A/只是“逻辑”URL 我试图补充 但它似乎不起作用(第一个工作正常)。例如,当我尝试测试时,host/A/tes

我实际上面临着以下问题:

我将Spring与jQuery一起使用。我有一个控制器:

@控制器
@请求映射(value=“/A”)
公共类控制器{
//不重要
}
这可以很好地处理所有
host/A/..
URL。但是jQuery CSS样式使用的是
url(images/…)
,因此有从
host/A/index.jsp
host/A/images/…
的引用。但我没有这样的文件夹,因为/A/只是“逻辑”URL

我试图补充


但它似乎不起作用(第一个工作正常)。例如,当我尝试测试时,
host/A/test.png
不起作用

当然,我可以修改jQuery源代码,但我不会这样做


如果没有更简单的解决方案,也许我可以使用。

如果您使用的是像tomcat这样的应用服务器,您可以在web.xml文件中执行此操作:

   <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/images/*</url-pattern>
   </servlet-mapping>

违约
/图像/*
在我的项目中,通常我会这样做;)


违约
*.PNG
*.png
*.gif
*.js
*.css
*jpg先生
*.swf
*阿维先生
*.html
*.json
这样,您需要创建一个“物理”文件夹。/a/images/“文件夹

在另一个应用程序服务器中,该值可以更改。

我建议您在生成的HTML中使用标记:

<html>
   <head>
       <base href="http://localhost:8080/myApp/" />
       ....

....

然后,您的所有图像请求都将发送到
http://localhost:8080/myApp/images/...
是否位于
http://localhost:8080/myApp/
或在
http://localhost:8080/myApp/A/

Hm,但通过这种方式,我必须为所有逻辑URL多次复制图像
/A/..
/B/..
,我不喜欢这个主意。如果我想这样做,那么简单的
将以完全相同的方式工作。哦,好的。。。。那么,如果不使用URLEwriteFilter,我就不知道答案了。。。。抱歉:(请注意,有。@Betlista:这不是一个bug。正如W3Schools链接所说:
基本URL必须是绝对URL!
。但是IMHO
不是相对URL(它以“/”开头,所以是绝对的),但它在IE8和IE9中不起作用…我的意见是,在页面中使用主机名不是一个好的做法-在开发测试生产周期中,有不同的主机名。在我的JSP中,我使用
生成这个,在纯HTML中,我认为这是一个问题。@Betlista:不,这是一个绝对URL()。关于不硬编码主机名,我必须同意你的看法。因此,不使用纯HTML的另一个原因是。我使用自定义taglib或velocity宏,从属性文件中获取正确的值。有时,如果你在代理后面,则需要更详细的逻辑,例如.base标记可以,我在其中有
target=“\u blank
(摘自学校):-/
<html>
   <head>
       <base href="http://localhost:8080/myApp/" />
       ....