jsp调用BEAN出问题,100分送上

emailjjs 2003-01-15 04:44:28
把<jsp:useBean id="ConBean" scope="session" class="operateDBA">加入jsp里出如下错误:

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: /loginbean.jsp(37,0) Unterminated tag
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:94)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:428)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:170)
at org.apache.jasper.compiler.Parser.parseBody(Parser.java:839)
at org.apache.jasper.compiler.Parser.parseUseBean(Parser.java:585)
at org.apache.jasper.compiler.Parser.parseAction(Parser.java:672)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:808)
at org.apache.jasper.compiler.Parser.parse(Parser.java:122)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:199)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:153)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:223)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:351)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:474)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:184)
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:260)
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:2415)
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:170)
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:432)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
at java.lang.Thread.run(Thread.java:479)

...全文
29 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
emailjjs 2003-01-15
  • 打赏
  • 举报
回复
OK,谢谢,给分
steven_cheng 2003-01-15
  • 打赏
  • 举报
回复
你的bean放在哪个目录下?应该在WEB-INF\classes\operateDBA
这个目录下
emailjjs 2003-01-15
  • 打赏
  • 举报
回复
也不行
steven_cheng 2003-01-15
  • 打赏
  • 举报
回复
加上包名可以吗?
emailjjs 2003-01-15
  • 打赏
  • 举报
回复
本人的TOMCAT安装目录:c:\Tomcat 4.1,只在C:\Tomcat 4.1\webapps\ROOT\WEB-INF下添加了classes目录,其它默认,jsp放在root下,.class文件在classes
shuhw 2003-01-15
  • 打赏
  • 举报
回复
steven_cheng(286)的方法不行吗
wxn008 2003-01-15
  • 打赏
  • 举报
回复
你的Bean似乎不符合JavaBean规范,没有get和set方法,JSP怎么去调它的内容呢?
steven_cheng 2003-01-15
  • 打赏
  • 举报
回复
<jsp:useBean id="ConBean" scope="session" class="operateDBA.operateDBA" />
把包名加上看看。
rs.clsoe();
这个方法写错了,close()
emailjjs 2003-01-15
  • 打赏
  • 举报
回复
本人是ODBC连接oracle,使用tomcat4.1
emailjjs 2003-01-15
  • 打赏
  • 举报
回复
我加上"/"后,报如下错误,可能实BEAN有问题:
org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 10 in the jsp file: /loginbean.jsp

Generated servlet error:
[javac] Compiling 1 source file

C:\Tomcat 4.1\work\Standalone\localhost\_\loginbean_jsp.java:50: cannot resolve symbol
symbol : class operateDBA
location: class org.apache.jsp.loginbean_jsp
operateDBA ConBean = null;
^



An error occurred at line: 10 in the jsp file: /loginbean.jsp

Generated servlet error:
C:\Tomcat 4.1\work\Standalone\localhost\_\loginbean_jsp.java:52: cannot resolve symbol
symbol : class operateDBA
location: class org.apache.jsp.loginbean_jsp
ConBean = (operateDBA) pageContext.getAttribute("ConBean", PageContext.SESSION_SCOPE);
^



An error occurred at line: 10 in the jsp file: /loginbean.jsp

Generated servlet error:
C:\Tomcat 4.1\work\Standalone\localhost\_\loginbean_jsp.java:55: cannot resolve symbol
symbol : class operateDBA
location: class org.apache.jsp.loginbean_jsp
ConBean = (operateDBA) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "operateDBA");
^



An error occurred at line: 29 in the jsp file: /loginbean.jsp

Generated servlet error:
C:\Tomcat 4.1\work\Standalone\localhost\_\loginbean_jsp.java:87: cannot resolve symbol
symbol : method clsoe ()
location: interface java.sql.ResultSet
rs.clsoe();
^
4 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:340)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:352)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:474)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:184)
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:260)
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
teddy_huang 2003-01-15
  • 打赏
  • 举报
回复
看看楼上的
emailjjs 2003-01-15
  • 打赏
  • 举报
回复
我的bean如下:
package operateDBA;

import java.io.*;
import javax.servlet.http.*;
import java.sql.*;

public class operateDBA //implements HttpSessionBindingListener
{
private Connection con=null;
final private String m_classname="sun.jdbc.odbc.JdbcOdbcDriver";
final private String m_url="jdbc:odbc:ora";
final private String m_user="11";
final private String m_password="11";

public operateDBA()
{
BulidConnection();
}
public void BulidConnection()
{
try
{
Class.forName(m_classname);
con=DriverManager.getConnection(m_url,m_user,m_password);
}
catch(Exception ex)
{
System.out.println("It can't connect the Datebase!!!");
}

}

public Connection getConnection()
{
if (con==null)
BulidConnection();
return this.con;
}
public void close()
{
try
{
con.close();
con=null;

}
catch(SQLException sex)
{
System.out.println(sex.toString());
}

}

//public void valueUnbound(HttpSessionBindEvent Event){}

/*public void valueUnbound(HttpSessionBindEvent Event)
{
if(con!=null)
close();

}*/
}
emailjjs 2003-01-15
  • 打赏
  • 举报
回复
%@ page contentType="text/html; charset=GBK" %>

<%@page import="java.sql.*" %>


<html>
<body>

<jsp:useBean id="ConBean" scope="session" class="operateDBA">

<%
Connection con=ConBean.getConnection();
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("SELECT * FROM KH_FHYC");
%>
<table border=1 width="100%">
<%
while (rs.next()){
%>
<tr>
<td><%=rs.getString("NAME")%></td>
</tr>
<%
}
%>
</table>

<%
rs.clsoe();
stmt.close();
%>


</body>

</html>
shuhw 2003-01-15
  • 打赏
  • 举报
回复
楼上的说对了
teddy_huang 2003-01-15
  • 打赏
  • 举报
回复
loginbean.jsp(37,0) Unterminated tag
标记未关闭,贴出source,大家帮你找
steven_cheng 2003-01-15
  • 打赏
  • 举报
回复
改为:
<jsp:useBean id="ConBean" scope="session" class="operateDBA" />

没有“/”程序认为你的标签不完整。
bmh2001 2003-01-15
  • 打赏
  • 举报
回复
你是不是的tomcat,如果是的话,应该把bean放在package下,然后再放在classes下

81,116

社区成员

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

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