D:\apache-tomcat-6.0.24\webapps\ROOT\Test 下三个JSP文件如下:
  
    index.jsp
   <%@page language="Java" contentType="text/html; charset=gb2312" import="java.sql.*"%>
    <html>
    <head><title>登录</title></head>
    <body>
 <form action="login.jsp" method="post"">
          登录名:<input type="text" name="txtUser">
   <p>&nbsp; 密码:<input type="password" name="txtPwd"></p>
   <p><input type="submit" value="登 录" name="btnOk"></p>
 </form>
    </body>
    </html>     login.jsp
   <%@page language="Java" contentType="text/html; charset=gb2312" import="java.sql.*"%>
    <jsp:useBean id="text" class="text.DBConn"/>
    <% 
 String strUserId=request.getParameter("txtUser");
 String strPwd=request.getParameter("txtPwd"); 
 
 if(strUserId == null || strPwd == null)
 {
  out.println("<script language=\"JavaScript\" type=\"text/javascript\">window.location.href=\"index.jsp\"</script>");
 }
 else
 {
  String sql = "select UserName from tbl_User where UserId='"+strUserId+"' and UserPwd='"+strPwd+"'";  
  ResultSet rs = db.executeQuery(sql);
  if(rs.next())
  {      
                        HttpSession Testsession = request.getSession();
   Testsession.setAttribute("UserName",rs.getString("UserName"));     
                        response.sendRedirect("main.jsp");
  }
  else
  {
   out.println("<script language=\"JavaScript\" type=\"text/javascript\">alert(\"错误的用户名或密码,请重试!\");window.location.href=\"index.jsp\"</script>");
  }  
 } 
    %>    main.jsp
      <%@page language="Java" contentType="text/html; charset=gb2312"%>
    <html>
    <head><title>登录</title></head>
    <body>
          欢迎你:<%=session.getAttribute("UserName")%>,你已经成功了!
    </body>
    </html>D:\apache-tomcat-6.0.24\webapps\ROOT\Test\WEB-INF\classes\text 下是DBConn.class
    代码如下:
package text;
    import java.sql.*;
    public class DBConn
    {
 String DBDriver =  "sun.jdbc.odbc.JdbcOdbcDriver";
 String DBUrl = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Test";
 String DBUser = "sa";
 String DBPsw = "123";
 Connection conn = null;
 PreparedStatement stmt = null;
 public DBConn()
 {
  try
  {
   Class.forName(DBDriver);
   conn = DriverManager.getConnection(DBUrl,DBUser,DBPsw);
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
 }
 public ResultSet executeQuery(String sql) throws Exception
 {
  try
  {
   this.stmt = null;
   this.stmt = conn.prepareStatement(sql);
   return this.stmt.executeQuery();
  }
  catch (Exception e)
  {
   e.printStackTrace();
   return null;
  }
 }
 public int executeUpdate(String sql) throws Exception
 {
  try
  {
   this.stmt = null;
   this.stmt = conn.prepareStatement(sql);
   return this.stmt.executeUpdate();
  }
  catch (Exception e)
  {
   e.printStackTrace();
   return 0;
  }
  
 }
 public void DBClose()
 {
  try
  {
   conn.close();
   stmt.close();
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
 }
     }D:\apache-tomcat-6.0.24\webapps\ROOT\Test\WEB-INF 下还有web.xml 和lib文件夹web.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">
    <display-name>Welcome to Java</display-name>
    <description>Welcome to Java</description>    
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>  
    </web-app>
lib下是msbase、mssqlserver、msutil三个jar文件,并且添加到了classpath中运行tomcat,在浏览器中打开http://localhost:8080/Test/
出现如下错误:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /Test/login.jsp(2,4) The value for the useBean class attribute text.DBConn 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:1217)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Generator.generate(Generator.java:3383)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.
请高手诊断

解决方案 »

  1.   

    JSP编译的问题。回复内容太短了!
      

  2.   


    D:\apache-tomcat-6.0.24\webapps\ROOT\Test\WEB-INF 下还有web.xml 和lib文件夹
    、、
    运行tomcat,在浏览器中打开http://localhost:8080/Test/
    。。这都不对吧。
      

  3.   

     The value for the useBean class attribute text.DBConn is invalid. 
      

  4.   

    你是通过jdbc-odbc桥链接的还是直接连接sqlserver的啊?
      

  5.   

    The value for the useBean class attribute text.DBConn is invalid. 
      

  6.   

    login.jsp
      <%@page language="Java" contentType="text/html; charset=gb2312" import="java.sql.*"%>
        <jsp:useBean id="text" class="text.DBConn"/>
        <%
    String strUserId=request.getParameter("txtUser");
    String strPwd=request.getParameter("txtPwd"); 这个 <jsp:useBean id="text" class="text.DBConn"/> 能输出来看看不?这个值类感觉有些问题。
      

  7.   

    http://blog.csdn.net/downmoon/archive/2009/07/16/4352914.aspxhttp://blog.csdn.net/downmoon/archive/2009/09/23/4585623.aspx
    http://www.connectionstrings.com/sql-server
      

  8.   

    The value for the useBean class attribute text.DBConn is invalid.