Tomcat6 类装载问题(WEB-INF)

来源:百度知道 编辑:UC知道 时间:2024/09/21 08:30:10
在开发一个项目的过程中,有一个问题让我非常的苦恼.
我的目录结构是这样的:
webRoot(网站更目录)
webRoot----->index.html
----->WEB-INF(其中存放有我的JavaBean和Servlet)
----->admin------>log.jsp(其中需要调用JavaBean)

但是系统给我的提示是<jsp:userBean>中无法找到需要的类,new变量还是这个原因,
报错信息是:MyBean cannot be resolved to a type
我把webRoot下的WEB-INF复制一份到admin下,没有这个错误的提示,一切正常.不知道这个是什么原因造成的.
Tomcat6中的server.xml,绝对没有问题,是否是我的参数有什么问题.
<Context path="" docBase="F:\webRoot" crossContext="false" debug="0"
reloadable="true" >
</Context>
<Context path="\admin" docBase="F:\webRoot\admin" crossContext="true" debug="0" reloadable="true" >
</Context>
但是如果我在tomcat6中webapps中复制我的项目,一切也是正常的,而且不用我把WEB-INF这个目录拷贝到admin下.
非常谢谢!
非常感谢: maodrc ,给我的建议.

把这个配置删掉!
<Context path="\admin" docBase="F:\webRoot\admin" crossContext="true" debug="0" reloadable="true" >

这个是多余的而且引起了路径的混乱!

假如你只配这个的话
<Context path="" docBase="F:\webRoot" crossContext="false" debug="0"
reloadable="true" >

访问http://localhost:8080/admin 也能访问,访问bean的时候会从根目录找到/WEB-INF 里面的东西

但是这里你又配置个admin的目录,这个admin又是上面配置的子目录.
你访问admin的时候,tomcat就会找到第二个配置,这个时候根目录admin下是没有WEB-INF的,当然报错.
你tomcat第二个配置完全是多余的!!! 而且引起了这么个莫名其妙的错误让你头疼..:(