当前位置: 代码迷 >> Java Web开发 >> jsp:useBean找不到种,为什么呢
  详细解决方案

jsp:useBean找不到种,为什么呢

热度:5785   发布时间:2013-02-25 21:17:11.0
jsp:useBean找不到类,为什么呢?
The value for the useBean class attribute login.loginbean is invalid.
在网上搜了好多帖子也不能解决,苦恼
eclipse里的tomcat项目,目录如下:
项目名
 |--web
  |--login
  |--logincheck.jsp
  |--index.jsp
 |--WEB-INF
  |--classes
  |--login
  |--loginbean.class
  |--lib
  |--src
  |--login
  |--loginbean.java
 |--work

下面贴代码:
logincheck.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="login.*" %>
<jsp:useBean id="userbean" class="login.loginbean" scope="page">
<jsp:setProperty name="userbean" property="*"/>
</jsp:useBean>
<%
if (user.checklogin()) 
{
String username = request.getParameter("username");
session.setAttribute("username", username);
%>
<jsp:forward page="success.jsp"/>
<%

else 
{
%>
 <jsp:forward page="failure.jsp"/>
<%
}
%>




loginbean.java
package login;
import java.sql.*;
public class loginbean 
{
private String username;
private String password;
public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}
public loginbean(){ 

username=""; 

password=""; 




public boolean checklogin() 
{
boolean loginflag = false;
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try 
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://10.54.0.134:1433;DatabaseName=sshtest","sa","oa");
stmt = con.createStatement();
String sql ="select * from tbluser where loginid='"+username+"' and passwd='"+password+"'";
  rs = stmt.executeQuery(sql);
while (rs.next()) 
{
if(password.equals(rs.getString("passwd")))
{
loginflag=true;
}
}

catch (Exception sqlex1) 
{
sqlex1.printStackTrace();

finally 
{
if (con != null) 
{
try 
{
con.close();

catch (SQLException sqlex2) 
{
sqlex2.printStackTrace();
}
}
}
return loginflag;
}


}

------解决方案--------------------------------------------------------
你把logincheck.jsp放在和WEB-INF同级目录下试一下.

------解决方案--------------------------------------------------------
那样写javabean是没有问题的,我觉得19楼说的是正解。为避免jsp文件都放到根目录下,可以在WEB-INF下建立个目录,全部放那里面啊~~只是在转页面的时候要注意点添加目录而已
------解决方案--------------------------------------------------------
|--WEB-INF 
|--classes 
|--login 
|--loginbean.class 
|--lib 
|--src 
|--login 
|--loginbean.java 
楼主请看,src文件夹是没有问题的,即使放在wen-inf下都是可以的,而你在<jsp:useBean/>中写的路径class="login.loginbean"按理说都是没有问题的,因为,你进入web-info/src/下,是看得见login文件夹和login文件夹下的loginbean.java类的,按理说都是可以的。但有时系统或者eclipse就是怪,给楼主几点解决的建议:
  相关解决方案