子目录下的JSP不能访问类的问题分析
来源:互联网 发布:中文版视频编辑软件 编辑:程序博客网 时间:2024/06/06 12:43
问题现象
主要的目录结构
index.jsp
test/test.jsp
WEB-INF/web.xml
WEB-INF/classes/MyClass.class
2个JSP里面全都调用了MyClass.class
程序内容完全相同,是复制过去改文件名的。
访问 http://127.0.0.1/index.jsp 没有任何问题
访问 http://127.0.0.1/test/test.jsp 报 ClassNotFoundException
服务器其是Tomcat 5.5
故障查找
经过程序测试,发现在/index.jsp里面包含了需要的CLASSAPTH目录,也就是 /WEB-INF/classes
而在 /test/test.jsp 里面,竟然不包含这个目录,当然也就无法访问MyClass类了
查看Tomcat/conf/server.xml, 发现如下配置
主要的目录结构
index.jsp
test/test.jsp
WEB-INF/web.xml
WEB-INF/classes/MyClass.class
2个JSP里面全都调用了MyClass.class
程序内容完全相同,是复制过去改文件名的。
访问 http://127.0.0.1/index.jsp 没有任何问题
访问 http://127.0.0.1/test/test.jsp 报 ClassNotFoundException
服务器其是Tomcat 5.5
故障查找
经过程序测试,发现在/index.jsp里面包含了需要的CLASSAPTH目录,也就是 /WEB-INF/classes
而在 /test/test.jsp 里面,竟然不包含这个目录,当然也就无法访问MyClass类了
查看Tomcat/conf/server.xml, 发现如下配置
复制内容到剪贴板
代码:
<Host
appBase="e:/abc"
name="abc.123.net"
<Context
path="/"
docBase="e:/abc"
</Context>
</Host>
其中appBase 和 根的 docBase 指向了同一个目录。问题找到了
故障分析
appBase 的作用是,改目录将作为所有应用的根目录,其下面的任何一个子目录都将成为虚拟目录。
如果你把war文件放到这里,将会被自动解包,并配置成虚拟目录运行
因为每个虚拟目录都有自己独立的CLASSPATH,所以
/test/test.jsp 被服务器解析为一个独立的虚拟目录,其CLASSPATH 应该在
/test/WEB-INF/classes 里面
故障排除
原因找到了,排除很简单
1 修改appBase到默认目录 appBase="webapps" 推荐这么做
2 修改appBase 到你指定的应用目录,比如 d:/project 目录,然后把你的项目放到这个目录的子目录里面,比如
d:/project/myRoot/index.jsp
d:/project/myRoot/test/test.jsp
d:/project/myRoot/WEB-INF/web.xml
d:/project/myRoot/WEB-INF/classes/MyClass.class
然后对docBase进行修正
这样就可以了!
- 子目录下的JSP不能访问类的问题分析
- server2003+IIS6.0+ASP.net and ASP 不能访问站点下的子目录内容
- redirect跳转不能访问web-inf下的jsp
- redirect跳转不能访问web-inf下的jsp
- 解决springmvc不能直接访问 jsp的问题
- dnt放在子目录中通过域名访问出现不能访问目录的错误
- struts2测试遇到的tomcat能访问,而jsp页面不能访问的问题
- 递归方式遍历子目录下的子目录
- Webservice放到iis下不能访问的问题
- selinux下mysql不能通过IP访问的问题
- IE不能访问Tomcat下的中文文件名网页问题
- 解决Visual SVN在linux下不能访问的问题
- nginx下laravel不能访问/home的问题
- 解决ubuntu下的磁盘不能访问问题
- 局域网不能访问的问题
- 局域网不能访问的问题
- 浏览器不能访问的问题
- 映射访问WEB-INF下的jsp文件问题
- 痛苦啊。新年快到了。。
- 本周周结...
- sdf
- Asp.Net Ajax 学习笔记24 利用Microsoft AJAX Library开发客户端组件(中)
- C# Excel
- 子目录下的JSP不能访问类的问题分析
- 欢迎大家加ArcGIS二次开发群,群号为1951434
- E文积累_20080121_Confidence is built, not inborn
- server application unavailable WIN2003 IIS应用程序池 错误解决办法
- ADO.NET Entity Framework学习入门——对象模型
- asp.net命名空间
- 语言工具2.0图书推荐榜
- Java使用Oracle遇到的最大游标超出问题及其解决方法
- Delphi TStringList的用法