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> 密码:<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.
请高手诊断
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> 密码:<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.
请高手诊断
D:\apache-tomcat-6.0.24\webapps\ROOT\Test\WEB-INF 下还有web.xml 和lib文件夹
、、
运行tomcat,在浏览器中打开http://localhost:8080/Test/
。。这都不对吧。
<%@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"/> 能输出来看看不?这个值类感觉有些问题。
http://www.connectionstrings.com/sql-server