的用法,最好有例子说明,请各位专家指点指点!

hongwanchun 2003-11-22 10:14:43
我试了很久用<jsp:useBean>调用.class文档就是不行!
我的系统配置:win2000+tomcat4.1+jdk.1.3.1+EditPlus 2
我的web目录: D:\tomcat\webapps\ROOT (test1.jsp)
我的classes目录:D:\tomcat\webapps\ROOT\WEB-INF\classes (prin.class)

//jsp test1.jsp
<%@page import="prin"%>
<jsp:useBean id="prin"
class="prin">
</jsp:useBean>
<% prin.pr %>

//java prin.java 编译成prin.class
public class prin
{
public void pr()
{
System.out.println("Hello World!");
}
}

错信息如下:
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: Unable to compile class for JSP

An error occurred at line: -1 in the jsp file: null

Generated servlet error:
[javac] Compiling 1 source file

D:\tomcat\work\Standalone\localhost\_\test1_jsp.java:59: not a statement
prin.pr
^
D:\tomcat\work\Standalone\localhost\_\test1_jsp.java:59: ';' expected
prin.pr
^
2 errors


at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:353)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
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:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:479)



--------------------------------------------------------------------------------

...全文
268 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongwanchun 2003-11-22
  • 打赏
  • 举报
回复

非常感谢您的指点(thefishwilldie)
我成功了!

to: Unicorn008(菜之鸟) 我是想学该方法!谢谢您的题点!

Unicorn008 2003-11-22
  • 打赏
  • 举报
回复
我们就用JBuilder搞.什么都不用调了...(对小程序来说..)
thefishwilldie 2003-11-22
  • 打赏
  • 举报
回复
classes目录要把路径加上 变成这样
D:\tomcat\webapps\ROOT\WEB-INF\classes\com\prin\Prin.class
Unicorn008 2003-11-22
  • 打赏
  • 举报
回复
我调试了.没有错呀...

henryhwc 2003-11-22
  • 打赏
  • 举报
回复
TO:thefishwilldie
是不是我的配置有问题
我的系统配置:win2000+tomcat4.1+jdk.1.3.1+EditPlus 2
我的web目录: D:\tomcat\webapps\ROOT (test1.jsp)
我的classes目录:D:\tomcat\webapps\ROOT\WEB-INF\classes (prin.class)
hongwanchun 2003-11-22
  • 打赏
  • 举报
回复
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: Unable to compile class for JSP

An error occurred at line: 0 in the jsp file: /test1.jsp

Generated servlet error:
[javac] Compiling 1 source file

D:\tomcat\work\Standalone\localhost\_\test1_jsp.java:41: cannot resolve symbol
symbol : class Prin
location: package prin
com.prin.Prin Prin = null;
^



An error occurred at line: 0 in the jsp file: /test1.jsp

Generated servlet error:
D:\tomcat\work\Standalone\localhost\_\test1_jsp.java:43: cannot resolve symbol
symbol : class Prin
location: package prin
Prin = (com.prin.Prin) pageContext.getAttribute("Prin", PageContext.PAGE_SCOPE);
^



An error occurred at line: 0 in the jsp file: /test1.jsp

Generated servlet error:
D:\tomcat\work\Standalone\localhost\_\test1_jsp.java:46: cannot resolve symbol
symbol : class Prin
location: package prin
Prin = (com.prin.Prin) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "com.prin.Prin");
^
3 errors


at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:353)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
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:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:479)



--------------------------------------------------------------------------------
thefishwilldie 2003-11-22
  • 打赏
  • 举报
回复
我通过了啊,运行正常啊,在出错的把出错信息贴出来看看
thefishwilldie 2003-11-22
  • 打赏
  • 举报
回复
<jsp:useBean id="prin" class="com.prin.Prin" scope="page"/>

<%

prin.pr(); //分号

%>
henryhwc 2003-11-22
  • 打赏
  • 举报
回复
TO:thefishwilldie(我不懂啊!!!)
请您再指点指点,我也在跟着学!
hongwanchun 2003-11-22
  • 打赏
  • 举报
回复

编译通过


<jsp:useBean id="Prin" class="com.prin.Prin" scope="page"/>
<% Prin.pr(); %> //调方法啊不是属性啊


package com.prin;
public class Prin
{
public Prin(){
}
public void pr()
{
System.out.println("Hello World!");
}
}

还是会出错
thefishwilldie 2003-11-22
  • 打赏
  • 举报
回复
test.java:2: class Prin is public, should be declared in a file named Prin.java
public class Prin
^
1 error
这个?〉 重命名你的java文件改大写啊,Prin.java
hongwanchun 2003-11-22
  • 打赏
  • 举报
回复
谢谢您的批评指导,再帮帮我!

package com.prin;
public class Prin
{
public Prin(){
}
public void pr()
{
System.out.println("Hello World!");
}
}
用javac编译时会有一个错误
thefishwilldie 2003-11-22
  • 打赏
  • 举报
回复

<jsp:useBean id="prin" class="com.prin.Prin" scope="page"/>

<%

prin.pr(); //分号

%>
thefishwilldie 2003-11-22
  • 打赏
  • 举报
回复
sorry ,构造函数大写 public Prin(){ //默认构造
}
thefishwilldie 2003-11-22
  • 打赏
  • 举报
回复
<%@page import="prin"%> //这个也可以不要
<jsp:useBean id="prin" class="com.prin.Prin" scope="page"/>
</jsp:useBean> //不要这个删掉
<% prin.pr() %> //调方法啊不是属性啊


package com.prin;
public class Prin //类名大写大哥
{
public prin(){ //默认构造
}
public void pr()
{
System.out.println("Hello World!");
}
}
hongwanchun 2003-11-22
  • 打赏
  • 举报
回复

修改成:
<%@page import="prin"%>
<jsp:useBean id="prin" class="prin" scope="page">
</jsp:useBean>
<% prin.pr %>

public class prin
{
public prin(){
}
public void pr()
{
System.out.println("Hello World!");
}
}
错误信息:
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: Unable to compile class for JSP

An error occurred at line: 6 in the jsp file: /test1.jsp

Generated servlet error:
[javac] Compiling 1 source file

D:\tomcat\work\Standalone\localhost\_\test1_jsp.java:61: ';' expected
out.write("\r\n");
^
D:\tomcat\work\Standalone\localhost\_\test1_jsp.java:60: cannot resolve symbol
symbol : class pr
location: class prin
prin.pr
^



An error occurred at line: -1 in the jsp file: null

Generated servlet error:
D:\tomcat\work\Standalone\localhost\_\test1_jsp.java:61: out is already defined in _jspService(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
out.write("\r\n");
^
3 errors


at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:353)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
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:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:479)



--------------------------------------------------------------------------------

thefishwilldie 2003-11-22
  • 打赏
  • 举报
回复

<jsp:useBean id="prin" class="prin" scope="page"/>

类的构造函数呢?
public class prin
{

public prin(){
}

public void pr()
{
System.out.println("Hello World!");
}
}

81,092

社区成员

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

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