日期:2014-05-18  浏览次数:20901 次

入门者提个问题!!!
tomcat下有个文件 t.jsp 内容如下:

<jsp:useBean id="d" class="java.util.Date"/>
<%=d%>

运行正常.

可是我自己的 bean 怎么就不行了呢,比如此类 WEB-INF/classes/test/Dt.class,代码如下

package test;
public class Dt{
public String getDate(){
return (new java.util.Date()).toString();
}
}

放在jsp里就不行
<jsp:useBean id="d" class="test.Dt"/>
<%=d.getDate()%>

运行错误提示说:
org.apache.jasper.JasperException: /t.jsp(1,1) The value for the useBean class attribute test.Dt is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
..............

就是照抄网上的 “Hello World” 也不行,是不是tomcat没配置对哦?请指教,谢谢!!!!!

------解决方案--------------------
用不了JAVABEAN,你的tomcat和你的jdk是不是一个版本呢?

程序没有错误。

将你jdk安装目录下\lib里面的tools.jar和dt.jar复制到tomcat目录\common\lib文件夹里面试试。
最好下载个.exe直接安装的文件,不要.zip的。
还不行的话把2个格式的文件都下载了。解压.zip的,将其中一个文件夹复制了移动到.exe格式tomcat文件夹中覆盖掉原来的,具体是哪个文件我给忘了。前提是你能打开基本的jsp页面。

还不行的话自己搜索下吧。
------解决方案--------------------
<jsp:useBean id="d" class="test.Dt"/ > 
<%=d.getDate()% > 

改成

<jsp:useBean id="d" class="test.Dt">
<%=d.getDate() %>
</jsp:useBean>
------解决方案--------------------
坐沙发的说得对,tomcat寻找资源的路径不是classpath,而是\common\lib文件夹
------解决方案--------------------
是路径问题
------解决方案--------------------
尽量不要给文件放到root下,自己建个目录,然后从server.xml中指过去!
------解决方案--------------------
路径问题
------解决方案--------------------
tomcat设置的问题

 <Host name="127.0.0.1" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" reloadable="true" docBase="D:\Tomcat 5.5\webapps\WebRoot" workDir="D:\Tomcat 5.5\webapps\WebRootwork" />
</Host>

这是我的server.xml 里的 关于host的设置
可以参考一下
------解决方案--------------------
package test; 
public class Dt

public String getDate()

return (new java.util.Date()).toLocaleString();