我正在寻找一种从我的网络应用JEE访问静态资源(例如视频文件)的方法。
在我的本地环境中,我在我的webapp上下文中在Eclipse的tomcat服务器的配置下添加了一个别名属性。这很有效。 在Eclipse Tomcat server.xml中执行我的上下文是:
<Context path="/maWebApp" docBase="path/vers/ma/webApp" aliases="/video=/chemin/sur/mon/PC">
现在我想在我的生产服务器中做同样的事情。但是:
在这个服务器(linux,tomcat7)下,文件etc / tomcat7 / server.xml不包含任何&#34; Context&#34;为我的webapp。我想在WebApp部署期间会自动创建上下文
如果我添加&#34;上下文&#34;对于我的应用程序,为了定义&#34;别名&#34;属性,我的服务器tomcat不再重启。
所以我的问题是:我应该在哪里定义&#34;别名&#34;当我使用Tomcat7时以及使用Eclipse生成的.war部署我的应用程序时的属性。
重要提示:我不想管理webapp中的别名,因为别名会根据服务器(本地开发或prod)而变化。
非常感谢您的任何建议和最佳实践,
祝你有个美好的一天!
阿德里安
答案 0 :(得分:0)
您应该能够在server.xml中添加上下文属性。
https://tomcat.apache.org/tomcat-4.1-doc/config/context.html
&lt; Server port =“8005”shutdown =“SHUTDOWN”&gt;
&lt; Listener className =“org.apache.catalina.core.AprLifecycleListener” SSLEngine =“on”/&gt; &LT;监听 类名= “org.apache.catalina.mbeans.GlobalResourcesLifecycleListener” /&GT; &LT;监听 类名= “org.apache.catalina.core.ThreadLocalLeakPreventionListener” /&GT;&lt; Context path =“/ maWebApp”docBase =“path / vers / ma / webApp” aliases =“/ video = / chemin / sur / mon / PC”/&gt; &LT; /服务器&GT;
我的tomcat开始很好了。
使用“&lt; Context .. /&gt;”启动它时有什么错误属性?
答案 1 :(得分:0)
请查看此处:https://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Defining_a_context
不鼓励在server.xml中定义Context元素。而是将context.xml
放入
$CATALINA_BASE/conf/[enginename]/[hostname]/
enginename
很可能是Catalina
,所以例如,如果您的tomcat目录是/opt/tomcat7/
而主机名是www.mysite.com
,那么将上下文放在此目录中:
/opt/tomcat7/conf/Catalina/www.mysite.com
并重命名您的上下文文件maWebApp.xml
更新:除非您需要静态资源可供您的应用使用,并且只有您需要虚拟目录才能让访问者访问静态资源,因此您不需要aliases
属性。在与上面相同的目录中名为video.xml
的文件中创建上下文:
<Context docBase="/chemin/sur/mon/PC/" path="/video/"></Context>
然后,www.mysite.com/video