java连接数据库mysql时候出现错误求解决
package dbbean;
import java.sql.*;
//import java.util.*;
public class DBBean {
private Connection conn;
private Statement stmt;
private ResultSet rs;
private String connStr="jdbc:mysql://localhost:3306/student";
public DBBean(){
if(conn!=null) return;
try{
Class.forName("com.mysql.jdbc.Dirver");
conn=DriverManager.getConnection( "jdbc:mysql://localhost:3306/student","root","123456");//建立和数据库之间的连接
}catch(ClassNotFoundException e){
//e.printStackTrace();
System.out.println("驱动的类名找不到异常。");
}catch(SQLException e){
//e.printStackTrace();
System.out.println("SQL语句异常。");
}
}
public ResultSet executeQuery(String sql){
//ResultSet rs=null;
try{
//获取驱动程序对象和指定树之间的连接对象
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/student","root","123456");
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}catch(SQLException e){
System.out.println();
}
return rs;
}
public int executeUpdate(String sql){
int result=0;
try{
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/student","root","123456");
stmt=conn.createStatement();
result=stmt.executeUpdate(sql);
}catch(SQLException e){
System.out.println();
}
return result;
}
public void close(){
try{
if(rs!=null){
rs.close();
rs=null;
}
if(stmt!=null){
stmt.close();
stmt=null;
}
if(conn!=null){
conn.close();
conn=null;
}
}catch(SQLException e){
e.printStackTrace();
}
}
public String getConnStr() {
return connStr;
}
public void setConnStr(String connStr) {
this.connStr = connStr;
}
}
<%--设置字符集,保证能够正确显示中文--%>
<%@ page contentType="text/html" pageEncoding="utf-8"import="java.sql.*"%>
<%--声明和创建数据库访问Bean的对象conn,生存时间改为session --%>
<jsp:useBean id="c" class="dbbean.DBBean" scope="session" />
<%--设置conn对象的connStr属性值为“jbdc:odbc:user”,及所连接的数据库的url,这里的user为数据库对应的数据源名 --%>
<jsp:setProperty name="c" property="connStr" value="com.mysql.jdbc.Dirver" />
<%
ResultSet rs=null;
//将session的生存时间设为无限大,避免因session过期引起的问题
session.setMaxInactiveInterval(-1);
//获取用户名
String username=request.getParameter("username");
//获取用户名进行中文转换,防止中文乱码问题
username=new String(username.getBytes("gb2312"));
//获取口令
String password=request.getParameter("password");
//对口令进行编码转换
password=new String(password.getBytes("gb2312"));
//查询数据表user中是否存在匹配记录
String sql="select * from user where name='"+username+"'and password='"+password+"' ";
System.out.println(sql+"2");
rs=c.executeQuery(sql);
System.out.println(sql+"3");
if(rs.next())
{
System.out.println(sql+"3");
//将登陆的id写入到session中
session.setAttribute("loginId",rs.getString("id"));
//将登陆用户写入到session中
session.setAttribute("username",rs.getString("name"));
//关闭数据库访问Bean对象
c.close();
//重定向到系统内部功能页面
response.sendRedirect("home.html");
}
else
{
//重定向到系统登录页面
response.sendRedirect("login.html");
}
%>
2013-4-6 15:16:14 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.process_jsp._jspService(process_jsp.java:90)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:879)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:600)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1703)
at java.lang.Thread.run(Thread.java:619)
select * from user where name='zhangsan'and password='123' 2
select * from user where name='zhangsan'and password='123' 3
2013-4-6 15:20:35 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.process_jsp._jspService(process_jsp.java:90)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:879)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:600)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1703)
at java.lang.Thread.run(Thread.java:619)