JDBC工具类连接数据库

来源:互联网 发布:6city类似软件 编辑:程序博客网 时间:2024/05/18 03:32

----------------------DBUtil类

package cn.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBUtil {
private DBUtil() {
}
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static final String URL = "jdbc:mysql://localhost:3306/demo1";
private static final String USER = "root";
private static final String PWD = "root";

// 获得连接
public static Connection getConn() throws SQLException {
Connection conn = DriverManager.getConnection(URL, USER, PWD);
return conn;
}
// 关闭资源
public static void myClose(Connection conn, PreparedStatement ps,ResultSet rs) throws SQLException {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
}

}

-------------------------------------------------------------LoginServlet类

package cn.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginServlet extends HttpServlet {
@Override
public void init() throws ServletException {
ServletContext application = this.getServletContext();
int c=0;
application.setAttribute("c",c);
System.out.println("上下文初始化完毕");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
String username=request.getParameter("username");
String password = request.getParameter("password");
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String url="jdbc:mysql://localhost:3306/demo1";
String user="root";
String pwd="root";
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
String sql="select count(*) from ta where username=? and password=?";
boolean flag=true;
try {
conn=DriverManager.getConnection(url, user, pwd);
ps=conn.prepareStatement(sql);
ps.setString(1, username);
ps.setString(2, password);
rs = ps.executeQuery();
if (rs.next()) {
int count=rs.getInt(1);
if (count!=1) {
flag=false;
}
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
if (rs!=null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (ps!=null) {
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (conn!=null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
if (flag) {
request.getSession().setAttribute("username",username);
response.sendRedirect("/fxm2/wel.do");
}else {
response.sendRedirect("/fxm2/login.html");
/*response.setHeader("refresh", "3;url=/fxm2/login.html");
PrintWriter pw = response.getWriter();
pw.write("<html>");
pw.write("<body>");
pw.write("3秒钟之后,跳转到登陆页面");
pw.write("</body>");
pw.write("</html>");*/

}

}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}