Code Bye

tomcat 下context配置不起作用

 

我在项目中有一个文件夹myFolder,放在和tomcat同级目录下面。我要使用里面的文档资源,在server.xml中的host节点下面配置

<Context path="" docBase="../../" debug="0" reloadbale="false"></Context>

起作用,但是不想在server.xml中配置,想在单独的Context.xml中配置,但相同的配置却不起作用,求指导~

<?xml version=""1.0"" encoding=""utf-8""?>
<Context path="" docBase="../../" debug="0" reloadbale="false"></Context>
JAVA区就是热闹,都要沉了…… 自己顶下先~
1,把webapps目录下的所有文件夹删掉;
2,修改conf文件夹下的web.xml:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
改为:
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
3,修改conf文件夹下的server.xml:
在Host节点中加入你的工程目录,比如:
<!–<Context path=”/deco” docBase=”E:\lft\deco\WebRoot”></Context>–>
<!—-><Context path=”/des” docBase=”D:\project\company\designer\WebRoot”></Context>
不想启动的工程给注释掉,工程目录中最好不要带中文。
不知道你想要什么样的效果
首先谢谢你~
我现在的情况是这样的,在项目中有个地方上传附件,附件我们都处理成链接下载的方式,然后客户要求图片附件要直接在页面显示,但当时放附件文件的地方不在tomcat里面,有个upload文件夹是和tomcat在同一个目录下面,然后img的src属性里面找不到那个路径,所以想用context来找这个路径,从站点根目录找上去正好是向上两级到tomcat文件夹所在的地方,在sercice.xml里面配置context就找到了,但是启动tomcat的时候会报警告,而且我不想让每个开发人员都去改tomcat配置,想直接把context.xml放在项目里,现在问题就出来了,把内容是
<?xml version=""1.0"" encoding=""utf-8""?>
<Context path="" docBase="../../" debug="0" reloadbale="false"></Context>

的context.xml 放在META-INF下面不起作用,我试了试把tomcat里面,conf文件夹下的context.xml内容换成这样还是不行,我对这个不熟悉,不明白问什么同样的配置放在sercice.xml的host节点下面有用,单独拿出来就有问题……  不知道这样描述清楚不? 哪位解决过同样的问题麻烦给点提示~~~

引用 2 楼  的回复:

1,把webapps目录下的所有文件夹删掉;
2,修改conf文件夹下的web.xml:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
改为:
<init-param>
<param-name>listings</param-name>
……


40分
1. 修改conf文件夹下的server.xml:
假设tomcat的安装目录为:D:\Program Files\Tomcat 6.0,在Host节点中配置upload目录的虚拟路径:
<Context path=”/upload” docBase=”D:\Program Files\Tomcat 6.0\upload”></Context>

2, 假设upload目录下有123.jpg这个图片文件,修改img的src属性或链接的href属性:
<img src=”http://localhost:8080/upload/123.jpg”/>
或者
<a href=”http://localhost:8080/upload/123.jpg”>打开图片</a>

3, 启动服务器,在浏览器中访问你的页面,只要文件存在并且路径正确,就OK了

需要注意的是,路径一定要写全,
下载文件最好用response的输出流,用链接会直接在浏览器打开文件,而达不到下载的效果

我已经在自己的电脑上测试过了,木有问题

嗯。非常感谢,但这样做的话,我是不是就需要对客户那边还有每个开发人员的tomcat都进行设置?
我希望用另一种方法,就是把context配置放在项目里面,我在网上查到可以在站点下面的META-INF文件夹里面放个context.xml文件也可以实现这样的功能,能不能实现呢?我是没能达到想实现的效果……这是为什么??
引用 5 楼  的回复:

1. 修改conf文件夹下的server.xml:
假设tomcat的安装目录为:D:\Program Files\Tomcat 6.0,在Host节点中配置upload目录的虚拟路径:
<Context path=”/upload” docBase=”D:\Program Files\Tomcat 6.0\upload”></Context>

2, 假设upload目录下有123.j……

这个我没试过,

我以前有个项目,是用apache + tomcat部署的,apache中指定了静态资源的路径,不加载class文件,就好比你那个upload目录了, tomcat中运行的才是项目.
两个服务器一起开, 貌似也就能达到你想要的效果。
但是配置apache是比较繁琐的,只能给你一个思路吧。

嗯,好的,非常感谢你!
引用 8 楼  的回复:

这个我没试过,

我以前有个项目,是用apache + tomcat部署的,apache中指定了静态资源的路径,不加载class文件,就好比你那个upload目录了, tomcat中运行的才是项目.
两个服务器一起开, 貌似也就能达到你想要的效果。
但是配置apache是比较繁琐的,只能给你一个思路吧。

经过一些验证,基本弄明白了使用方法,之前设想的方式虽然好,但是不能实现,悲剧。
原谅我挖坟,我也遇到这个问题了,tomcat6.0.X的webapps\项目\META-INF\context.xml虽然会自动被拷贝到conf\Catalina\localhost\项目.xml里,但是根本不起作用,看来需要解读tomcat的源码才能知晓真正原因了。
引用 11 楼 ymwcwee 的回复:

原谅我挖坟,我也遇到这个问题了,tomcat6.0.X的webapps\项目\META-INF\context.xml虽然会自动被拷贝到conf\Catalina\localhost\项目.xml里,但是根本不起作用,看来需要解读tomcat的源码才能知晓真正原因了。

这是真的吗? 我的也是不起作用, 数据源,会话都没法使


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明tomcat 下context配置不起作用