CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

请教<jsp:useBean>找不到类的问题

楼主cnyiwei(衣带渐宽终不悔,千分散尽还复来。)2006-03-03 01:06:25 在 Java / Web 开发 提问

我有一个网上下载的例子,目录结构如下:  
  -ch06  
      |  
      +--+src  
      |     |  
      |     +--+ch06  
      |           |  
      |           +--SimpleCalculator.java  
      +--+WEB-INF  
      |     |  
      |     +--+classes  
      |     |     |  
      |     |     +--+ch06  
      |     |           |  
      |     |           +--SimpleCalculator.class  
      |     +--+lib  
      |     |     |  
      |     |     +--catalina-root.jar  
      |     +--web.xml  
      +--calculate.jsp  
  放在TOMCAT目录下的webapps目录下,通过http://localhost:8080/ch06/calculate.jsp能正常访问  
  但是,放在另一分区的src目录下,访问:http://localhost:8080/src/ch06/calculate.jsp却不能访问。提示如下:  
  HTTP   Status   500   -    
   
  --------------------------------------------------------------------------------  
   
  type   Exception   report  
   
  message    
   
  description   The   server   encountered   an   internal   error   ()   that   prevented   it   from   fulfilling   this   request.  
   
  exception    
   
  org.apache.jasper.JasperException:   /ch06/calculate.jsp(2,0)   The   value   for   the   useBean   class   attribute   ch06.SimpleCalculator   is   invalid.  
  org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)  
  org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)  
  org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:146)  
  org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1223)  
  org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116)  
  org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)  
  org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)  
  org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)  
  org.apache.jasper.compiler.Node$Root.accept(Node.java:456)  
  org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)  
  org.apache.jasper.compiler.Generator.generate(Generator.java:3270)  
  org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:189)  
  org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)  
  org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)  
  org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)  
  org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)  
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)  
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)  
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)  
  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  
   
   
  note   The   full   stack   trace   of   the   root   cause   is   available   in   the   Apache   Tomcat/5.5.9   logs.  
   
  src子目录配置如下:  
  在C:\Tomcat   5.5\conf\server.xml中的<host></host>标签中,加入<Context   path="src"   docBase="E:\JSP\src"   debug="0"/>  
  然后在C:\Tomcat   5.5\conf\Catalina\localhost\中新建src.xml  
  其中的内容同为  
  <Context   path="src"   docBase="E:\JSP\src"   debug="0"/>  
   
   
  请各位指教。 问题点数:50、回复次数:8Top

1 楼doway(john)回复于 2006-03-03 01:38:50 得分 50

-ch06  
      |     +--+WEB-INF  
      |     |  
      |     +--+classes  
      |     |     |  
      |     |     +--+ch06  
      |     |           |  
      |     |           +--SimpleCalculator.class  
      |     +--+lib  
      |     |     |  
      |     |     +--catalina-root.jar  
      |     +--web.xml  
      +--calculate.jsp  
   
  这些是   Web   应用的全部内容,楼主把它们放到   webapps   目录中时,ch06   就成了一个应用程序,可以通过   http://localhost:8080/ch06/calculate.jsp   正常访问。  
   
  楼主定义了   <Context   path="src"   docBase="E:\JSP\src"   debug="0"/>   之后,楼主应该这样访问:http://localhost:8080/src/calculate.jsp,即应用程序上下文路径   src   取代了前边用的   ch06。这时,目录结构应该是这个样子的:  
   
  E:\JSP\src  
      |     +--+WEB-INF  
      |     |  
      |     +--+classes  
      |     |     |  
      |     |     +--+ch06  
      |     |           |  
      |     |           +--SimpleCalculator.class  
      |     +--+lib  
      |     |     |  
      |     |     +--catalina-root.jar  
      |     +--web.xml  
      +--calculate.jsp  
   
   
  楼主明白没有?你应该去掉   http://localhost:8080/src/ch06/calculate.jsp   中的   ch06   了。  
  Top

2 楼cnyiwei(衣带渐宽终不悔,千分散尽还复来。)回复于 2006-03-03 02:02:24 得分 0

谢谢楼上的,但是,我把ch06的内容放到src文件夹的下面,还是出现以上一样的错误,不知道是怎么回事?如果我要想访问http://localhost:8080/src/ch06/下的网页该怎么做?我把普通的HTML页面放到ch06下面是可以访问的,不知道,JSP加了类为什么不可以?Top

3 楼doway(john)回复于 2006-03-03 02:27:32 得分 0

JSP   使用的类必须放在包中,这些类编译以后,需要放到   WEB-INF\classes   中,楼主的当然也放了,但楼主不清楚这么做原因,所以楼主的   WEB-INF   这个目录应该仍然放在了   \src\ch06   目录中,而正确的位置是   \src\WEB-INF。  
   
  JSP   中使用到的类型,都是在应用上下文根目录下的   WEB-INF\classes   或者是   WEB-INF\lib   中找的(当然,还有全局类路径和应用服务器的   lib   目录)。  
  Top

4 楼cnyiwei(衣带渐宽终不悔,千分散尽还复来。)回复于 2006-03-03 08:12:20 得分 0

谢谢doway(john),您的解答使我茅塞顿开(不是茅厕顿开噢,^_^),再次表示感谢!!!  
  呵呵,刚才调试的过程中,我又有一点不明白了那就是在server.xml<HOST>中加入  
  <Context   path="test"   docBase="E:\JSP\eclipse\workspace"   debug="0"/>  
  然后在test.xml中也加入<  
  Context   path="test"   docBase="E:\JSP\eclipse\workspace"   debug="0"/>  
  这样不能访问JSP文件,但是,访问html文件是可以的。  
  但是,我把以上的内容都改为  
  <Context   path="test"   docBase="E:\JSP\eclipse\test"   debug="0"/>  
  然后把workspace文件夹也改名为workspace,这样就可以了。  
  是不是下面子目录的名字一定要跟文件夹同名才行?Top

5 楼cnyiwei(衣带渐宽终不悔,千分散尽还复来。)回复于 2006-03-03 11:52:30 得分 0

自己顶啊。。。Top

6 楼cnyiwei(衣带渐宽终不悔,千分散尽还复来。)回复于 2006-03-03 12:16:29 得分 0

HOHOTop

7 楼doway(john)回复于 2006-03-03 18:04:37 得分 0

test.xml?这个东西楼主指的是什么?我怎么不知道有这东西?Top

8 楼cnyiwei(衣带渐宽终不悔,千分散尽还复来。)回复于 2006-03-10 15:22:39 得分 0

这个好像是TOMCAT配置中的东东啊。Top

相关问题

  • 关于<jsp useBean>
  • 关于jsp:usebean
  • ask for help!!about jsp:usebean
  • 关于jsp:useBean的问题
  • 关于<jsp:useBean的问题
  • jsp中usebean的问题
  • jsp:useBean的问题,请教
  • JSP中useBean的问题
  • jsp:useBean can't find class `FirstBean'
  • 求助:jsp连接Oracle找不到类

关键词

  • 文件夹
  • jsp
  • apache
  • 内容
  • tomcat
  • root
  • xml
  • ch06
  • errordispatcher
  • 目录

得分解答快速导航

  • 帖主:cnyiwei
  • doway

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo