| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2256 人关注过本帖
标题:高手帮帮我,关于jsp+bean的问题
只看楼主 加入收藏
zhangkangl
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-11-25
收藏
 问题点数:0 回复次数:10 
高手帮帮我,关于jsp+bean的问题
高手帮帮我,关于jsp+bean的问题
我在做一个jsp+bean连接数据查询时,出现以下错误,我是初学者,高手帮我看看
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: /copylogin.jsp(3,0) The value for the useBean class attribute moon.mybean.mybean is invalid.
 org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause
org.apache.jasper.JasperException: /copylogin.jsp(3,0) The value for the useBean class attribute moon.mybean.mybean is invalid.
 org.apache.(DefaultErrorHandler.java:39)
 org.apache.(ErrorDispatcher.java:405)
 org.apache.(ErrorDispatcher.java:146)
 org.apache.(Generator.java:1174)
 org.apache.(Node.java:1116)
 org.apache.(Node.java:2163)
 org.apache.(Node.java:2213)
 org.apache.(Node.java:2219)
 org.apache.(Node.java:456)
 org.apache.(Node.java:2163)
 org.apache.(Generator.java:3305)
 org.apache.(Compiler.java:198)
 org.apache.(Compiler.java:295)
 org.apache.(Compiler.java:276)
 org.apache.(Compiler.java:264)
 org.apache.jasper.(JspCompilationContext.java:563)
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
我猜想应该是bean无效的原因,可我不知道为什么bean无效,我的目录结构如下:
  E:\J2ee\Tomcat 5.5\webapps\link{copylogin.jsp                                                   
 E:\J2ee\Tomcat 5.5\webapps\link\WEB-INF\classes\moon\mybean\Mybean.class}
我的copylogin.jsp代码如下:
<%@ page c language="java" pageEncoding="GB18030"%>
<%@ page import="moon.mybean.Mybean" %>
<jsp:useBean id="login" class="moon.mybean.Mybean" scope="session"/>
<html>
  <head>
     <title>学生管理系统</title>
  </head>
   <body style="text-align:center">
       <br/>    <br/>     <br/>    <br/>     <br/>    <br/>
        <jsp:setProperty name="login" property="*"/>
       <form action="" method="post">
      
        <table border="1">
        <tr>
          <th>用户登录</th>
       </tr>
       <tr>
          <td>用户名 <input type=text name="loginname"></td>
       </tr>
       <tr>
          <td>密 码 <input type=password name="password"></td>
       </tr>
       </table>
       <input type=submit name="submit" value="确定">
       </form>
       <jsp:getProperty name="login" property="news"/>
   </body>
</html>
 Mybean.java代码如下:
package moon.mybean;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Mybean {
 String loginname;
 StringBuffer news=new StringBuffer();
  String password;
    public void setLoginname(String loginname){
      this.loginname=loginname;   
    }
    public String getLoginname(){
      return loginname;
    }
     
    public void setPassword(String password){
       this.password=password;
    }
    public StringBuffer getNews(){
     try{Class.forName("com.microsort.jdbc.sqlserver.SQLServerDriver");
    }
    catch(Exception ee){}
     Connection con;
   PreparedStatement sql;
         try{String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=studentmanagement";
            con=DriverManager.getConnection(uri,"sa","sa");
            sql=con.prepareStatement("select * from usertable where 用户名=? and 密码=?");
            sql.setString(1,loginname);
            sql.setString(2, password);
            ResultSet rs=sql.executeQuery();
            con.close();
            news.append("<table bord=1>");
            
            while(rs.next()){
             news.append("<tr>");   
             news.append("<td>"+rs.getString(1)+"</td>");
             news.append("<td>"+rs.getString(2)+"</td>");
             news.append("<td>"+rs.getString(3)+"</td>");
             news.append("<td>"+rs.getString(4)+"</td>");
             news.append("<td>"+rs.getString(5)+"</td>");
             news.append("</tr>");
            }
            news.append("</table>");
           }
         catch(SQLException exp){}      
     return news;   
        }
     }
搜索更多相关主题的帖子: bean jsp 
2007-11-30 23:14
a276202460
Rank: 2
等 级:新手上路
威 望:4
帖 子:392
专家分:1
注 册:2007-4-10
收藏
得分:0 
就是找不到bean 是路径的问题 你在向上反一级就是bean的class中加点 应该能找到 没咋写过usebean

2007-12-01 05:21
无缘今生
Rank: 2
等 级:新手上路
威 望:3
帖 子:523
专家分:7
注 册:2007-6-25
收藏
得分:0 
你的代码没有问题。
类的位置也没有问题。
你重启服务器试试。

时不再来!!!
2007-12-03 14:48
zhangkangl
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-11-25
收藏
得分:0 
非常感谢2楼与3楼的帮助,我按照你们方法试过了,可问题依然存在,求大家帮帮我,帮我看看问题到底出在哪里呀
2007-12-03 23:05
netstriker
Rank: 1
等 级:新手上路
威 望:1
帖 子:257
专家分:0
注 册:2007-3-24
收藏
得分:0 
帮你改了一下,你的jsp文件好像多了一个字符 c
  
    <%@ page    C     language="java" pageEncoding="GB18030"%>
<%@ page import="moon.mybean.Mybean" %>
<jsp:useBean id="login" class="moon.mybean.Mybean" scope="session"/>
<html>
  <head>
     <title>学生管理系统</title>
  </head>
   <body style="text-align:center">
       <br/>    <br/>     <br/>    <br/>     <br/>    <br/>
        <jsp:setProperty name="login" property="*"/>
       <form action="" method="post">
      
        <table border="1">
        <tr>
          <th>用户登录</th>
       </tr>
       <tr>
          <td>用户名 <input type=text name="loginname"></td>
       </tr>
       <tr>
          <td>密 码 <input type=password name="password"></td>
       </tr>
       </table>
       <input type=submit name="submit" value="确定">
       </form>
       <jsp:getProperty name="login" property="news"/>
   </body>
</html>

    在java文件里
  package moon.mybean;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Mybean {
    String loginname;
    StringBuffer news=new StringBuffer();
  String password;
    public void setLoginname(String loginname){
      this.loginname=loginname;   
    }
    public String getLoginname(){
      return loginname;
    }
     
    public void setPassword(String password){
       this.password=password;
    }
    public StringBuffer getNews(){
     try{Class.forName("com.microsort.jdbc.sqlserver.SQLServerDriver");
    }
    catch(Exception ee){}
  /*   Connection con;
   PreparedStatement sql;
         try{String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=studentmanagement";
            con=DriverManager.getConnection(uri,"sa","sa");
            sql=con.prepareStatement("select * from usertable where 用户名=? and 密码=?");
            sql.setString(1,loginname);
            sql.setString(2, password);
            ResultSet rs=sql.executeQuery();
            con.close();
            news.append("<table bord=1>");
            
            while(rs.next()){
             news.append("<tr>");   
             news.append("<td>"+rs.getString(1)+"</td>");
             news.append("<td>"+rs.getString(2)+"</td>");
             news.append("<td>"+rs.getString(3)+"</td>");
             news.append("<td>"+rs.getString(4)+"</td>");
             news.append("<td>"+rs.getString(5)+"</td>");
             news.append("</tr>");
            }
            news.append("</table>");
           }
         catch(SQLException exp){}
         */                  //因为我这里是调试没有数据库,所以暂时用这样的方法代替.
        news.append("www.);
        news.append("www.);
     return news;   
        }
     }

     经过上面修改,已经可以运行了,不会出现异常,但是在news变量中,我禁用了上数据库的代码,其他的没有改,估计是在数据库执行的时候出现了问题,所以令bean无效.
2007-12-04 00:30
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
The value for the useBean class attribute moon.mybean.mybean is invalid.

可惜不是你,陪我到最后
2007-12-04 10:19
风月_无边
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:60
帖 子:2960
专家分:652
注 册:2007-1-19
收藏
得分:0 
也許是配置的有問題﹗

我的网站 http://www.
2007-12-04 14:46
zhangkangl
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-11-25
收藏
得分:0 
非常感谢5楼的兄弟那么仔细的帮助,我按照5楼[url=http://bbs.]netstriker[/url] 的做法试了一下,这时在copylogin.jsp中的确能够显示出Mybean中的数据了,不过还是有些疑问不太明白
我是用MyEclipse开发工具来做的,当我在修改Mybean之前(即没有屏蔽数据库操作代码段),用myeclipse打开copylogin.jsp时其中有两行代码会显示如下信息
   
图片附件: 游客没有浏览图片的权限,请 登录注册
<%@ page import="moon.mybean.Mybean" %>
   
图片附件: 游客没有浏览图片的权限,请 登录注册
<jsp:useBean id="login" class="moon.mybean.Mybean" scope="session"/>
这时点击
图片附件: 游客没有浏览图片的权限,请 登录注册
这个黄色的错误提示按钮后出现了以下提示The import moon.mybean.MyBean is never used
这时如果执行copylogin.jsp文件,就出现了当初发帖时的错误。
我按照5楼兄弟的做法修改了Mybean(即屏蔽数据库操作代码段),这时执行copylogin.jsp文件,能够显示出Mybean中的数据,且没有错误提示。
不过我用myeclipse打开copylogin.jsp时其中两行代码依然显示如下信息
   
图片附件: 游客没有浏览图片的权限,请 登录注册
<%@ page import="moon.mybean.Mybean" %>
   
图片附件: 游客没有浏览图片的权限,请 登录注册
<jsp:useBean id="login" class="moon.mybean.Mybean" scope="session"/>
点击
图片附件: 游客没有浏览图片的权限,请 登录注册
这个黄色的错误提示按钮后出现了以下提示The import moon.mybean.MyBean is never used
我想这个意思依然是bean不能启用吧,只不过这时执行copylogin.jsp文件能够显示出Mybean中的数据了,这到底是什么原因,请大家告诉我一下原因。

[[italic] 本帖最后由 zhangkangl 于 2007-12-5 04:18 编辑 [/italic]]
2007-12-05 03:57
scdmike
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-1-12
收藏
得分:0 
我把你的代码复制下来,我放到tomcat下应用。证明访问数据库的代码,存在错误。第一个问题是:con.close();关闭的太早了。
我这里只是修改了这一个地方,就可以运行。并且,在没有修改前也没有出现你描述的那种情况。应该是楼上的大哥说的那样,是这个Bean存在问题的缘故。
2007-12-05 17:37
zhangkangl
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-11-25
收藏
得分:0 
郁闷呀,为什么同样一个问题,楼上的兄弟做了修改就能够运行,一到我这里运行就达不到同样的效果呢,既然楼上的兄弟用我的代码,得到了正确的结果,
那就证明不是代码的问题,是配置的问题了,我用的是xp系统,myeclipse开发工具,tomcat服务器,安装的是sql2000个人版,打了sp4补丁,下载了jdbc补丁,并且其中的的msbase.jar,mssqlserver.jar;msutil.jar三个驱动文件复制到了E:\J2ee\jdk1.5.0_08\jre\lib\ext\目录之下,还有一点就是我的jdk在安装完成以后,直接用javac编译文件就出错,但安装了myeclipse开发工具以后,在工具中可以正常编译文件。不知道这有没有影响,最后还请大家帮忙,帮我找找原因,我实在是被这个问题弄的焦头烂额了,谢谢!

[[italic] 本帖最后由 zhangkangl 于 2007-12-6 07:55 编辑 [/italic]]
2007-12-06 02:52
快速回复:高手帮帮我,关于jsp+bean的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022666 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved