#####郁闷之极的javaBean问题######
初学javaBean
昨天调试了一天,不知道怎么调对了,今天如法炮制,又搞不出来了
count.java
package count;
public class count {
long count=0;
public long getCount(){
return count;
}
public synchronized long setCount(){
count++;
return count;
}
}
_________________
counterJavaBeanJsp.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="count.count"%>
<jsp:useBean id="counter" class="count.count" scope="application">
</jsp:useBean>
<html>
<head>
<title>My JSP 'counterJavaBeanJsp.jsp' starting page</title>
</head>
<body>
<% if(session.isNew())
counter.setCount();
%>
</body>
</html>
__________________________________________
错误信息
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 3 in the jsp file: /MyJsp/WebRoot/counterJavaBeanJsp.jsp
Generated servlet error:
D:\Tomcat5\work\Catalina\localhost\_\org\apache\jsp\MyJsp\WebRoot\counterJavaBeanJsp_jsp.java:45: 找不到符号
符号: 类 count
位置: 类 count.count
count.count counter = null;
^
An error occurred at line: 3 in the jsp file: /MyJsp/WebRoot/counterJavaBeanJsp.jsp
Generated servlet error:
D:\Tomcat5\work\Catalina\localhost\_\org\apache\jsp\MyJsp\WebRoot\counterJavaBeanJsp_jsp.java:47: 找不到符号
符号: 类 count
位置: 类 count.count
counter = (count.count) _jspx_page_context.getAttribute("counter", PageContext.APPLICATION_SCOPE);
^
An error occurred at line: 3 in the jsp file: /MyJsp/WebRoot/counterJavaBeanJsp.jsp
Generated servlet error:
D:\Tomcat5\work\Catalina\localhost\_\org\apache\jsp\MyJsp\WebRoot\counterJavaBeanJsp_jsp.java:49: 找不到符号
符号: 类 count
位置: 类 count.count
counter = new count.count();
^
3 错误
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
郁闷之极,我把count/count.class文件夹放在D:\Tomcat5\webapps\ROOT\WEB-INF\classes下不行,
放在我的.jsp所在的文件D:\Tomcat5\webapps\ROOT\MyJsp\WebRoot\WEB-INF\classes也不行,
谁能从根本上解决这个问题,高分送上!
最好详细点,看了网上好多文章,都不管用
问题点数:100、回复次数:15Top
1 楼Javafan0(狂刀)回复于 2006-07-04 18:44:20 得分 3
把count/count.class文件夹放在D:\Tomcat5\webapps\ROOT\WEB-INF\classes\count\
下试试.Top
2 楼guanggan123(红泪 ㊣)回复于 2006-07-04 18:50:04 得分 0
不行,就是在那样放的也不行啊Top
3 楼zebra007(呼呼)回复于 2006-07-04 19:12:16 得分 3
应该是下面的目录结构
webapps
|---ROOT
| |----WEB-INF
| |------classes
|
|
|---WebRoot
|----WEB-INF
|------classes
但是我猜你的是
webapps
|---ROOT
|----WEB-INF
| |------classes
|
|----MyJsp
|---WebRoot
|----WEB-INF
|------classes
Top
4 楼guanggan123(红泪 ㊣)回复于 2006-07-04 19:17:35 得分 0
zebra007(呼呼)
那我问你,我的另外一个javaBean应用javaBeanJSP1.jsp
里用到的boxpackage.box就放在
webapps
|---ROOT
|----WEB-INF
| |------classes
|
|----MyJsp
|---WebRoot
|----WEB-INF
|------classes
这样的结构下面为什么能运行??
很是迷惑,昨天搞了一天,不知道怎么搞对了,今天如法炮制,就又出错了,晕死了Top
5 楼zebra007(呼呼)回复于 2006-07-04 19:31:38 得分 3
正常情况:
webapps目录下得每个目录对应一个web应用,其中每个有一个WEB-INF
目录。
我不知道你这样的目录结构是为什么。
另外修改了bean记得重启tomcatTop
6 楼linshaojie(枫陵)回复于 2006-07-04 20:35:04 得分 3
把你得 MyJsp 文件夹 放到 webapps 就ok,记得里面要放 classTop
7 楼loveyt(咆哮的独角兽^大家都在长大)回复于 2006-07-04 21:03:41 得分 3
记得遵循JavaBean的规范:类名首字母大写,字段声明private,例如你的long count=0写为private long count;给一个public void setCount(long count),一个public long getCount(),给一个public的没有参数的构造子。Top
8 楼kongxiangli(笑看红尘)回复于 2006-07-05 00:23:03 得分 73
<%@ page import="count.count"%>
这个不要了
Top
9 楼harry123(harry)回复于 2006-07-05 02:07:46 得分 3
你是不是把class文件打成包拉!如果打包的话 应该把包文件放在WEB应用的\WEB-INF\lib\目录下面
如果是单个的CLASS文件的话 就放在WEB应用的\WEB-INF\classes\count\
(我记得好像是这样的,本人也是初学 如果说错了请给指出)Top
10 楼guanggan123(红泪 ㊣)回复于 2006-07-05 08:49:55 得分 0
kongxiangli(笑看红尘)
太神奇了,能告诉我这是为什么吗?Top
11 楼wmzsl(王明哲)回复于 2006-07-05 09:19:21 得分 3
放做位置了贝Top
12 楼guanggan123(红泪 ㊣)回复于 2006-07-05 09:26:06 得分 0
wmzsl(王明哲)
放什么位置是正确的?请给个正确的地址我试试看
我觉得应该放的位置都放过了,看了网上好多贴,都没有解决.Top
13 楼shanshuiboy()回复于 2006-07-05 11:20:06 得分 3
清除TOMCAT的缓存,把WORD目录下的文件删除,重启TOMCATTop
14 楼dekkerhyp411(上上网学学习)回复于 2006-07-05 13:06:32 得分 3
UPTop
15 楼guanggan123(红泪 ㊣)回复于 2006-07-05 19:19:31 得分 0
完美的解决!太高兴了Top




