如何使用Tomcat从webapps外部的公用文件夹提供图像文件?我不想在不同的端口上使用第二个Apache文件服务器,因为图像文件是同一个应用程序的一部分.我不想在webapps中为公共文件夹创建一个符号链接,因为我的应用程序被部署为war文件....是否有一个更简单的解决方案,类似于在webapps中使用静态内容的默认servlet,用于外部webapps之外的静态内容
del*_*ant 76
这就是我做的方式,它对我来说很好.(在Tomcat 7.x上完成)
添加<context>
到tomcat/conf/server.xml
文件.
Windows示例:
<Context docBase="c:\Documents and Settings\The User\images" path="/project/images" />
Run Code Online (Sandbox Code Playgroud)
Linux示例:
<Context docBase="/var/project/images" path="/project/images" />
Run Code Online (Sandbox Code Playgroud)
像这样(在上下文中):
<Server port="8025" shutdown="SHUTDOWN">
...
<Service name="Catalina">
...
<Engine defaultHost="localhost" name="Catalina">
...
<Host appBase="webapps"
autoDeploy="false" name="localhost" unpackWARs="true"
xmlNamespaceAware="false" xmlValidation="false">
...
<!--MAGIC LINE GOES HERE-->
<Context docBase="/var/project/images" path="/project/images" />
</Host>
</Engine>
</Service>
</Server>
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您应该能够在以下位置找到文件(例如/var/project/images/NameOfImage.jpg
):
http://localhost:8080/project/images/NameOfImage.jpg
Run Code Online (Sandbox Code Playgroud)
sbl*_*ndy 28
你可以有一个重定向servlet.在你的web.xml中你有:
<servlet>
<servlet-name>images</servlet-name>
<servlet-class>com.example.images.ImageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>images</servlet-name>
<url-pattern>/images/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
您的所有图像都将位于"/ images"中,这些图像将被servlet拦截.然后它将在相关文件中读取任何文件夹并立即将其提供给它.例如,假设您的images文件夹中有一个gif,c:\ Server_Images\smilie.gif.在网页上会是<img src="http:/example.com/app/images/smilie.gif"...
.在servlet中, HttpServletRequest.getPathInfo()
会产生"/smilie.gif".servlet会在文件夹中找到哪个.
您可以将图像文件夹部署为单独的Web应用程序,并将该文件夹的位置定义为文件系统中的任何位置.
在enginename可能为"Catalina"且hostname可能为"localhost" 的目录中的XML文件中创建Context元素$CATALINA_HOME/conf/[enginename]/[hostname]/
.
根据您希望从中查看图像的路径URL命名文件,因此,如果您的webapp具有路径"blog",则可以命名XML文件blog#images.xml
,以便在以下位置显示您的图像example.com/blog/images/
XML文件的内容应该是 <Context docBase="/filesystem/path/to/images"/>
小心不要取消部署此webapp,因为这可能会删除所有图像!
归档时间: |
|
查看次数: |
102509 次 |
最近记录: |