JDBC操作数据库

来源:互联网 发布:淘宝上评价怎么删除 编辑:程序博客网 时间:2024/06/05 20:29
      JDBC操作数据库,此实验主要是为了实现web项目连接数据库,进而在实验的过程中理解JDBC接口操作数据库的方法,并且能够熟练掌握数据的增删改查,其主要内容:
1. 在MySQL或其他DBS中创建一个数据库TestDB,其中创建表user,表至少3个字段(主键,用户名,密码),然后向数据库中插入若干条记录,这样便有了用户帐号。


2. 程序需要两个jsp页面和一个Servlet类,一个jsp页面可以是login.jsp(输入用户名与密码的界面),另一个页面是success.jsp,登录成功后的跳转页面。


3. 在Servlet类中得到request里的用户名和密码,使用JDBC相关操作到数据库中查询,处理查询结果。


可在Servlet的init方法中创建数据库的连接;


在doPost方法中处理查询,最后进行转发处理,可使用forword方法。


4. 登录界面login.jsp如下,将用户在JSP页面输入的用户名username和密码password,通过servlet到数据库中验证用户信息。通过验证,跳转到success.jsp提示登录成功,否则,在login.jsp页码提示错误。

其主要实现代码:(servlet类)

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
 * Servlet implementation class DataBase
 */
@WebServlet("/DataBase")
public class DataBase extends HttpServlet {
private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public DataBase() {
        super();
        // TODO Auto-generated constructor stub
    }


/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request,response);
}


/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String userName = request.getParameter("username");
String passWord = request.getParameter("password");
try {
Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost:3307/TestDB";
String username = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url,username,password);
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM user ";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
if(userName.equals(rs.getString("username"))){
if(passWord.equals(rs.getString("password"))){
request.getRequestDispatcher("success.jsp").forward(request,response);
return;
}
}

}
String message = "haha";
    request.setAttribute("message", message);
request.getRequestDispatcher("login.jsp").forward(request,response);

rs.close();
stmt.close();
conn.close();
} catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException e){
   e.printStackTrace();
}

}


}

0 0
原创粉丝点击