首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

在eclipse下不能用javabean,该如何处理

2013-09-11 
在eclipse下不能用javabean小弟初学JSP,现在正在用eclipse我按照书上和到网上找的资料配置好了开发环境后,

在eclipse下不能用javabean
小弟初学JSP,现在正在用eclipse
我按照书上和到网上找的资料配置好了开发环境后,JSP却一直不能正常运行,但又发现不了错误,只能来麻烦大家了,请帮帮忙

下面是我写的两个JAVABEAN和JSP文件

package   wen;
import   java.sql.*;
import   java.io.*;
import   java.util.Properties;
public   class   DBConnection  
{              
   
private   static   String   driver;
private   static   String   serverURL;
private   static   String   username;
private   static   String   password;
private   static   Connection   conn   =   null;
private   static   Statement   stmt   =   null;
private   static   String   connectionFileName= "connection.txt ";
private   String   str;

private   static   Object   initLock   =   new   Object();

    public   Connection   getConn()   {
            return   conn;
    }



public   static   Connection   getConnection()
{
                   
                   
if(conn   ==   null){
synchronized(initLock){
loadProperties();
try{
Class.forName(driver);
}
catch(ClassNotFoundException   e){
System.out.println(e.toString());
}
try{
conn   =   DriverManager.getConnection(serverURL,username,password);
}
catch(SQLException   e){
System.out.println(e.toString());
}
}

}
return   conn;
}


public   static   void   loadProperties(){
Properties   connectionAdmin   =   new   Properties();
System.out.println( "连接配置文件: "   +   connectionFileName);
try{
connectionAdmin.load(new   FileInputStream(connectionFileName));
}
catch(IOException   e){
System.out.println( "找不到文件 "   +   connectionFileName);
System.out.println(e.toString());
}
driver   =   (String)connectionAdmin.get( "driver ");
serverURL   =   (String)connectionAdmin.get( "serverURL ");
username   =   (String)connectionAdmin.get( "username ");
password   =   (String)connectionAdmin.get( "password ");

}

public   static   ResultSet   exec(String   sql){
ResultSet   rs   =   null;
try{
if(conn   ==   null){
getConnection();
}
Statement   stmt   =   conn.createStatement();
rs   =   stmt.executeQuery(sql);
}catch(SQLException   ex){
ex.printStackTrace();
}
return   rs;
}




package   wen;
import   java.sql.*;

public   class   IndexBean   {



public     ResultSet   getMoban(){


return   DBConnection.exec( "select   *   from   MoBan ");

}


}


<%@   page   language= "java "   %>
<%@   page   import= "java.sql.* "   %>
<jsp:useBean   id= "index "   class= "wen.IndexBean "   scope= "page "/>


<!DOCTYPE   HTML   PUBLIC   "-//w3c//dtd   html   4.0   transitional//en ">
<html>
<head>
<title> Lomboz   JSP </title>
</head>
<body   bgcolor= "#FFFFFF ">
<%
ResultSet   rs   =   index.getMoban();
while(rs.next()){
long   mb_id   =   rs.getLong( "MB_id ");
String   mb_name   =   rs.getString( "MB_name ");


%>
<table>
<tr>
<td> <%=mb_name%> </td>
</tr>
</table>
<%
}
%>
</body>
</html>

两天了,我一直找不出原因,麻烦大家帮忙看下问题在哪,这是报的错误

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:   /index1.jsp(3,0)   The   value   for   the   useBean   class   attribute   wen.IndexBean   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)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1175)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1117)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2164)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2214)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2220)
org.apache.jasper.compiler.Node$Root.accept(Node.java:457)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2164)
org.apache.jasper.compiler.Generator.generate(Generator.java:3322)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:199)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note   The   full   stack   trace   of   the   root   cause   is   available   in   the   Apache   Tomcat/5.5.23   logs.




[解决办法]
<%@ page import= "java.sql.* " %>

<!-- 这里加一句 -->
<%@ page import= "wen.* " %>

<jsp:useBean id= "index " class= "wen.IndexBean " scope= "page "/>

[解决办法]
没有显式声明构造函数
[解决办法]
LS正解
[解决办法]
javaBean中不带参数的构造方法不是必需的。


[解决办法]
看看有没有CLASS文件生成.
[解决办法]
估计楼主建的项目不是WEB项目,class应该放在WEB-INFO下
[解决办法]
org.apache.jasper.JasperException: /index1.jsp(3,0) The value for the useBean class attribute wen.IndexBean is invalid.


这个是页面报错啊 你看看你的页面 引用javabean 的时候是不是又问题啊
[解决办法]
同意楼上的
[解决办法]
不需要显示的写一个构造方法。

javabean 的写法只要没问题,引用没问题的话,是可以的。

public class名(){
一些内部属性

方法一

方法二

}


eclipse对jsp文件的管理是比较方便的,除了楼上各位的部署方法以外,还可以用 eclipse 的 file ---》 中的 Export 中,对jsp工程进行打包,生成 war文件,这个文件放在tomcat下,用浏览器就可以解压缩的。

最后回答你的问题:jababean是 jsp中一个部分,和 eclipse 这个IDE 没有任何关系! IDE只是工具而已!
[解决办法]
显示的构造方法是多此一举,所有属性都有相对应的get和set对,大小写也很严格区分,同意楼上的说法,与IDE环境没有关系
[解决办法]
HAHA,你是用的MyEclipse查件吗?如果你没用这个查件,那你可麻烦了,和楼上的几位说的一样,你要弄xml classes文件下保存bean的calss文件,等等,以后你用过滤器,舰艇器等等,你最好先用个MyEclipse查件,这样就方便多了, 记得把项目传到TOMCAT服务器上
[解决办法]
不是代码的问题.
其实就是对javabean的部署和使用过程不了解.

把javabean.class文件放到WEB-INF/CLASSES/wen 下边 再重新调用一次就因该可以了.


我的异常网推荐解决方案:The server encountered an internal error () that prevented it from fulfilling this request.,http://www.myexception.cn/java-web/317.html

热点排行