javabean 简单问题

under 2004-11-21 09:03:46
tomcat5+windows server2003 jdk1.4——(jbuilder9 中代的)
//////////////////////////////////

helloWorld.java 内容如下
//////////////////////////
package test;

public class helloWorld {

public String name = "My first bean";

public String getHi()

{

return "Hello from " + name;

}

}
/////////////////////////////////

编译生成 helloWorld.class成功
///////////////////////////////
test.jsp 内容如下
////////////////////////////
<jsp:useBean id="helloBean" scope="session" class="test.helloWorld" />

<%= helloBean.getHi() %>

<%

helloBean.name = "JSP";

out.print(helloBean.getHi());

%>

//////////////////////////////
以上文件都放在tomcat5\webapps\ROOT\myapp目录中


http://localhost:8009/myapp/hi-bean.jsp 浏览
/////////////////////////////////

出现以下错误提示 //
大侠告诉我是为什么啊
大侠告诉我是为什么啊
大侠告诉我是为什么啊
大侠告诉我是为什么啊
大侠告诉我是为什么啊



type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: /myapp/hi-bean.jsp(2,0) The value for the useBean class attribute test.helloWorld is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1225)
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:3269)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:244)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
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)
大侠告诉我是为什么啊
大侠告诉我是为什么啊
大侠告诉我是为什么啊
大侠告诉我是为什么啊
大侠告诉我是为什么啊
////////////////////////////////
以下的平1.jsp可以顺利执行
<html>
<head>
<title>First Page</title>
</head>
<body>
<H3>Today is:
<%= new java.util.Date() %>
</H3>
</body>
</html>.
...全文
236 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
under 2004-11-23
  • 打赏
  • 举报
回复
感谢大家,终于搞定了!!!!
zhz586 2004-11-22
  • 打赏
  • 举报
回复
回复人: roeodo() ( ) 信誉:100
^_^ 错误原因很简单 你应该是没有在myapp下建一个WEB-INF目录
你可以按照这个顺序建一个:
+myapp
+WEB-INF
+lib(把jar文件放在这里)
+classes(如果你没有生成jar,把class文件放在这儿也行)
这样就可以啦

应该是这样!

Chrity 2004-11-22
  • 打赏
  • 举报
回复
hehe

你没把他放在同一个文挡里,在TOMCAT的安装目录中的MYAPP中建一个文档WEB-INF
接着在这个文档里再建一个LIB文档,然后把jar文件放在这个文件夹里面,
在LIB文档里再建一个CLASSES文档,然后把".class"文件放在这里就可以了



myapp/WEB-INF/lib/classes/test/helloWorld.class
runner001_cn 2004-11-22
  • 打赏
  • 举报
回复
完全,同意楼上
endstar 2004-11-22
  • 打赏
  • 举报
回复
用JBUILDER吧.省得麻烦
roeodo 2004-11-22
  • 打赏
  • 举报
回复
^_^ 兄弟 你还没有搞定呀 这样吧 你玩个简单的
你先把目录建好: webapps\ROOT\myapp\WEB-INF\classes
1、java文件
public class Test{
public String getName(){
return "shit! Tomcat";
}
}

2、生成Test.class
3、把Test.class放到\classes下
4、做一个jsp文件,如test.jsp
<jsp:useBean id="helloBean" scope="session" class="Test" />

<%= helloBean.getName() %>
5、http://localhost:8080/myapp/test.jsp


另外 我注意到你的端口开的是8009 为啥用这个 还有 就是你jsp页面名字是Test.jsp 但是在请求时用的是hi-bean.jsp 是写错了吗
xmm1981 2004-11-22
  • 打赏
  • 举报
回复
你还是重新建一个工程,系统的做,你这样不知道错在哪里,问题比较难找的,眼睛弄易看花,哈哈~~~
under 2004-11-22
  • 打赏
  • 举报
回复
我都试了,不行啊各位大侠,到底改怎么办啊,极度郁闷
各位帮帮忙啊
Sunboyjava 2004-11-22
  • 打赏
  • 举报
回复
UP 。。。
classjava 2004-11-22
  • 打赏
  • 举报
回复
你是放在ROOT里面,所以应该把class文件放在如下:
ROOT/WEB-INF/classes/test/helloWorld.class
test是包
这样最简单
Dynamic 2004-11-22
  • 打赏
  • 举报
回复
GOOD, 长见识
MYLiao 2004-11-22
  • 打赏
  • 举报
回复
package test;
public class helloWorld {
private String name="My first bean";
public String getName(){
return name;
}
public void setName(String name){
if(name!=null){
this.name=name;
}
}
}
编译后放到:
ROOT/WEB-INF/classes/test/helloWorld.class
under 2004-11-22
  • 打赏
  • 举报
回复
还是不行啊,大侠
an9ryfr09 2004-11-22
  • 打赏
  • 举报
回复
对,必须把文件放在WEB-INF的根目录或子目录下。除非你去修改TOMCAT的server.xml文件
haroyy 2004-11-21
  • 打赏
  • 举报
回复
你是放在ROOT里面,所以应该把class文件放在如下:
ROOT/WEB-INF/classes/test/helloWorld.class
fashchina 2004-11-21
  • 打赏
  • 举报
回复
呵呵
帮助顶
差不多是这样吧
不然应该能解决了
roeodo 2004-11-21
  • 打赏
  • 举报
回复
^_^ 错误原因很简单 你应该是没有在myapp下建一个WEB-INF目录
你可以按照这个顺序建一个:
+myapp
+WEB-INF
+lib(把jar文件放在这里)
+classes(如果你没有生成jar,把class文件放在这儿也行)
这样就可以啦

zhangchengxiao@hotmail.com MSN
meet_163 POPO
jFresH_MaN 2004-11-21
  • 打赏
  • 举报
回复
哎呀,你的问题比较大啊
你最好新建一个虚拟目录
然后jsp放在那个目录下
然后目录下在建一个WEB-INF文件夹,下面要有一个web.xml的配置文件,你就拷ROOT下面那个就行了
然后你的class文件要按包的结构放在WEB-INF下面的classes文件夹里面

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧