Servlet生成的网页在A * .war中查找图像?

时间:2012-01-23 20:01:13

标签: java weblogic

我正在维护一个旧的Java servlet webapp(nwp)。我的目标是学习Spring并逐步更新webapp以尽可能多地使用Spring。

servlet webapp,nwp,现在可以在WebLogic 9.2上运行。它被打包并部署为nwp.war。每个HTTP请求都被提交给一个唯一的servlet,它处理请求并打印出一个网页/屏幕。每个servlet都会从nwp.war外部的远程位置读取各种资源文件,以用于页眉,页脚等。

是的,这是主要的,这就是我想要更新它的原因。由于3个应用程序使用这些文件,因此将“包含文件”放在战争之外的远程位置也是有意义的。但是,作为更新nwp应用程序的一部分,我计划将其他两个(类似的主流)应用程序整合到nwp中。最终

作为将此应用程序转换为Spring的第一步,我重新安排了目录树,将这些子目录放在WEB-INF目录下:

  • 图像
  • JS​​
  • CSS

servlet生成的HTML引用图像为 “

我的问题是,现在servlet生成的HTML无法在nwp.war内的WEB-INF / images目录中找到图像。

现在,nwp.war文件包含一个名为weblogic.xml的文件,用于将图像的URL映射到它们在服务器上的位置:

<wls:virtual-directory-mapping>
        <wls:local-path>/common/resources/images</wls:local-path>
        <wls:url-pattern>/images/*</wls:url-pattern>
        <wls:url-pattern>*.jpg</wls:url-pattern> 
        <wls:url-pattern>*.gif</wls:url-pattern> 
</wls:virtual-directory-mapping>

我是WebLogic和WebLogic 9.2的新手。

我尝试过多次更改映射,以便servlet生成的HTML将在战争中的WEB-INF / images目录中查找图片。

这是(servlet生成的html查找图像)是否可能,或者我是否必须使用当前的获取图像系统,直到我可以将servlet转换为JSP?

由于

史蒂夫

1 个答案:

答案 0 :(得分:0)

HTML将无法直接引用WEB-INF文件夹中的图像。这是为了安全。所以你有两个选择:

  1. 移动图像,使它们直接位于/而不是/ WEB-INF /
  2. 之下
  3. 创建另一个servlet以提供这些图像
  4. 如果您决定使用servlet,则可以使用ServletContext getResourceAsStream访问/ WEB-INF / images目录中的图像。例如:

    servletContext.getResourceAsStream("/WEB-INF/images/test.jpg");