jsp中jdbc的使用

//jdbc的使用包括 connection、statement/preparestatement、resultset对象,首先要加载驱动类,然后建立连接。。。通常利用preparestatement快速注入参数,并且高效
//用statement的情况
<%
  boolean flag=false;
  Connection conn=null;
  Statement stmt=null;
  ResultSet rs=null;
  request.setCharacterEncoding("utf-8");
  String username=request.getParameter("username").trim();
  String password=request.getParameter("password").trim();
  //加载驱动
  try{
  Class.forName("com.mysql.jdbc.Driver");
  }catch(ClassNotFoundException e){
  e.printStackTrace();
  }
  try{
  //建立连接
  conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/shop", "root", "root");
  stmt=conn.createStatement();
  String sql="select * from user";
  rs=stmt.executeQuery(sql);
  while(rs.next()){
  if(rs.getString(2).equals(username)&&rs.getString(4).equals(password)){
  session.setAttribute("username", username);
  //设置session的最大有效时间,40分钟无操作,session将会失效
  session.setMaxInactiveInterval(40*60);
  out.println("欢迎您"+rs.getString(3));
  flag=true;
}  
  }
  if(!flag){
  response.sendRedirect("fail.jsp");
  }
 
  }catch(SQLException e){
  e.printStackTrace();
  }finally{
  //关闭连接
  try{
  if(null!=stmt){
  stmt.close();
  }
  if(null!=conn){
  conn.close();
  }
  }catch(SQLException e){
  e.printStackTrace();
  }
  }
 
  %>
//用preparestatement的情况
<%
  Connection conn=null;
  PreparedStatement pstate=null;
  ResultSet rs=null;
  request.setCharacterEncoding("utf-8");
  String username=request.getParameter("username").trim();
  String password=request.getParameter("password").trim();
  //加载驱动
  try{
  Class.forName("com.mysql.jdbc.Driver");
  }catch(ClassNotFoundException e){
  e.printStackTrace();
  }
  try{
  //建立连接
  conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/shop", "root", "root");
  String sql="select * from user where login=? and pass=?";
  pstate=conn.prepareStatement(sql);
  //在sql语句中设置参数?的值,1代表第一个
  pstate.setString(1, username);
  pstate.setString(2, password);
  rs=pstate.executeQuery();
  if(rs.next()){
  session.setAttribute("username", username);
  //设置session的最大有效时间,40分钟无操作,session将会失效
  session.setMaxInactiveInterval(40*60);
  out.println("欢迎您"+rs.getString(3));
  }else{
  System.out.println("登录失败!");
  response.sendRedirect("fail.jsp");
  }
  }catch(SQLException e){
  e.printStackTrace();
  }finally{
  //关闭连接
  try{
  if(null!=pstate){
  pstate.close();
  }
  if(null!=conn){
  conn.close();
  }
  }catch(SQLException e){
  e.printStackTrace();
  }
  }
 
  %>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是一个最简单,也是学习jsp必须会的一个入门实验----通过jdbc连接数据库。 采用jsp+access数据库实现,同时使用javabean通过jdbc连接数据库。运行结果将显示从数据库查询出的图书。里面包含了javabean的源代码及解释。 提示:如果是要下jsp图书管理系统的朋友,请下载我上传的另一个资源----jsp+access图书管理系统。就不要再下本资源了,本资源只是做了一个图书的表,用以连接数据库查询图书,并没有对图书的增、删、改功能。 javabean源代码: package sjob; import java.sql.*; public class connBook { private Statement state=null; private Connection conn = null; ResultSet results=null; public connBook() { } public void openConn()throws Exception //连接数据库 { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url="jdbc:odbc:book"; conn=DriverManager.getConnection(url,"",""); //数据库、用户名、密码 ,创建连接对象 } catch(SQLException e) //异常处理 { System.err.println("Data.executeQuery: " +e.getMessage()); } } public ResultSet queryResult(String query) { results = null; try { state=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); //创建访问数据库的对象 results=state.executeQuery(query); //查询并返回结果 } catch(SQLException e) { System.err.println("Data.executeQuery: " + e.getMessage()); } return results; } public void closeState() { try { state.close(); //关闭访问数据库的对象 } catch(SQLException e) { System.err.println("Date.executeQuery: " + e.getMessage()); } } public void closeConn() { try { conn.close(); //断开连接 } catch(SQLException e) { System.err.println("Data.executeQuery: " + e.getMessage()); } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值