我正在维护一个旧的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目录下:
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?
由于
史蒂夫
答案 0 :(得分:0)
HTML将无法直接引用WEB-INF文件夹中的图像。这是为了安全。所以你有两个选择:
如果您决定使用servlet,则可以使用ServletContext getResourceAsStream访问/ WEB-INF / images目录中的图像。例如:
servletContext.getResourceAsStream("/WEB-INF/images/test.jpg");