Error:Attribute has no value!!!!class放在classpath的路径里面或者当前WEB-INF目录下的classes中。
我也不知道class放在那里 放了好多地方都说有错 好郁闷呀
class放在webapps/你的应用程序目录/WEB-INF/class下
敬请指点!! 我按各位战友的指点都一一试过了,还是不行. 大家请看我从网上找的一个简单的列子,请分析一下原因出在什么地方?? 一:运行环境(j2sdk1.4.1_02+Apache Tomcat 4.0)二:helloWorld.java文件,如下:(该文件编译后的.class文件存放路径:D:\Apache Tomcat 4.0\webapps\ROOT\WEB-INF\test)package test; public class helloWorld { public String name="My first bean"; public String getHi() { return "Hello from"+name; } }三:index00.jsp文件,如下: <html> <head> <title>JavaBean 试验</title> </head> <body> <jsp:useBean id="helloBean" scope="session" class="test.helloWorld"/> <%=helloBean.getHi()%> <hr> <% helloBean.name="Jsp"; out.print(helloBean.getHi()); %> </body> </html> 四:出错情况,如下:Apache Tomcat/4.0.3 - HTTP Status 500 - Internal Server Error--------------------------------------------------------------------------------type Exception reportmessage Internal Server Errordescription The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated. An error occurred at line: 6 in the jsp file: /index00.jspGenerated servlet error: D:\Apache Tomcat 4.0\work\localhost\_\index00$jsp.java:60: Class test.helloWorld not found. test.helloWorld helloBean = null; ^ An error occurred at line: 6 in the jsp file: /index00.jspGenerated servlet error: D:\Apache Tomcat 4.0\work\localhost\_\index00$jsp.java:63: Class test.helloWorld not found. helloBean= (test.helloWorld) ^ An error occurred at line: 6 in the jsp file: /index00.jspGenerated servlet error: D:\Apache Tomcat 4.0\work\localhost\_\index00$jsp.java:68: Class test.helloWorld not found. helloBean = (test.helloWorld) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "test.helloWorld"); ^ 3 errors, 1 warning at org.apache.jasper.compiler.Compiler.compile(Compiler.java:285) at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:552) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:177) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:189) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107) at java.lang.Thread.run(Thread.java:536)--------------------------------------------------------------------------------
然后看一下你页面的每个连接是不是写对了,可能是连接没写对。
Tomcat4.0里面有那么多class,究竟应该把.class文件放在哪里啊?
哪位战友有没有一个实际的列子啊,可以给我参考一下吗?
我的email: [email protected]
不胜感激!
好郁闷呀
我按各位战友的指点都一一试过了,还是不行.
大家请看我从网上找的一个简单的列子,请分析一下原因出在什么地方??
一:运行环境(j2sdk1.4.1_02+Apache Tomcat 4.0)二:helloWorld.java文件,如下:(该文件编译后的.class文件存放路径:D:\Apache Tomcat 4.0\webapps\ROOT\WEB-INF\test)package test;
public class helloWorld
{
public String name="My first bean";
public String getHi()
{
return "Hello from"+name;
}
}三:index00.jsp文件,如下:
<html>
<head>
<title>JavaBean 试验</title>
</head>
<body>
<jsp:useBean id="helloBean" scope="session" class="test.helloWorld"/>
<%=helloBean.getHi()%>
<hr>
<%
helloBean.name="Jsp";
out.print(helloBean.getHi());
%>
</body>
</html>
四:出错情况,如下:Apache Tomcat/4.0.3 - HTTP Status 500 - Internal Server Error--------------------------------------------------------------------------------type Exception reportmessage Internal Server Errordescription The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.
An error occurred at line: 6 in the jsp file: /index00.jspGenerated servlet error:
D:\Apache Tomcat 4.0\work\localhost\_\index00$jsp.java:60: Class test.helloWorld not found.
test.helloWorld helloBean = null;
^
An error occurred at line: 6 in the jsp file: /index00.jspGenerated servlet error:
D:\Apache Tomcat 4.0\work\localhost\_\index00$jsp.java:63: Class test.helloWorld not found.
helloBean= (test.helloWorld)
^
An error occurred at line: 6 in the jsp file: /index00.jspGenerated servlet error:
D:\Apache Tomcat 4.0\work\localhost\_\index00$jsp.java:68: Class test.helloWorld not found.
helloBean = (test.helloWorld) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "test.helloWorld");
^
3 errors, 1 warning at org.apache.jasper.compiler.Compiler.compile(Compiler.java:285)
at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:552)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:177)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:189)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
at java.lang.Thread.run(Thread.java:536)--------------------------------------------------------------------------------
初学者河哮急盼您的回答?
叩首!
然后把你的helloworld.class放在这里
然后在编译,试试看可以不!
经过两天的奋战,终于调用JavaBean初步成功了!
我是研究了大家的宝贵意见之后,做出以下行动的:
方法一:我把.class文件直接放在:D:\Apache Tomcat 4.0\webapps\ROOT\WEB-INF\classes目录下,调用成功!
方法二:此时,我才恍然大悟,原来在我的D:\Apache Tomcat 4.0\webapps\ROOT\WEB-INF目录下原来没有classes目录,所以我自己建了classes目录,然后把.class文件放入其中,调用成功!
经过这翻“折磨”之后,我觉得调用JavaBean最关键的确实如大家所说,是.class文件的路径问题-----的的确确是太重要了!!!
非常感谢各位战友的帮助----雪中送炭啊!!!
希望以后我也能为大家做些什么!
Cheers!