JDBC-oracle(登陆)

题目:

第一步:创建用户表,并插入数据(插入后记得commit

create table users
(
name varchar2(16),
password varchar2(16)
);
insert into users values('lisi','123');
insert into users values('zhangsan','123');

第二步:编写登陆界面(index.jsp)

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>    
    <title>index.jsp</title>
  </head>  
  <body>
    <form action="dologin.jsp">
        用户名:<input name="user" type="text"/><br>
        密码:<input name="password" type="text" /><br>
        <input type="submit" value="lojin" />
    </form>
  </body>
</html>

第三步:编写工具类(题目要求将COnnection的获取封装,我这里还封装了关闭连接的部分)(Util.jsva)

关闭注意事项:

1,关闭先判断(如果不为空在判断,防止未打开就关闭的空指针异常)

2,try{}catch(){}捕获异常

3,关闭后及时垃圾回收,xx=null;

package songyan.Util;

import java.sql.*;

public class Util {

    static Connection conn;
    static String sql="select * from users";
 
 
     static String driver= "oracle.jdbc.driver.OracleDriver";
    static String user= "scott";
    static String url="jdbc:oracle:thin:@localhost:1521:inspur";
    static String pass= "tiger";
    
    public static Connection getConnection() throws Exception
    {
        //加载驱动
         Class.forName(driver);
         //获取连接
         return DriverManager.getConnection(url,user,pass);
    }
    
    public static void closeAll(ResultSet rs,PreparedStatement sta,Connection conn) {
        //关闭连接
         if(rs!=null)
         {
             try{rs.close();}catch(Exception e){}
             rs=null;
         }
         if(sta!=null)
         {
             try{rs.close();}catch(Exception e){}
             rs=null;
         }
         if(conn!=null)
         {
             try{rs.close();}catch(Exception e){}
             rs=null;
         }
    }
}

第四步:编写处理页面(dologin.jsp)

注意:

1,导包(在开始就导入oracle驱动包,放在webinf中的lib目录下)

2,引入包,songyan.Util.*:自己写的工具

  java.sql.*:java提供的操作数据库的包

<%@ page language="java"  pageEncoding="UTF-8"%>
<%@ page import="java.util.*,songyan.Util.*,java.sql.*" %>
<html>
  <head>    
    <title>dolojin.jsp</title>
  </head>  
  <body>
    <%!
     Connection conn;
     PreparedStatement sta;
     ResultSet rs;
     String sql="select * from users";
 
      String driver= "oracle.jdbc.driver.OracleDriver";
     String user= "scott";
     String url="jdbc:oracle:thin:@localhost:1521:inspur";
     String pass= "tiger";
     String name="";
     String password="";
     %>
     <%
      try {
      name=request.getParameter("user");
      password=request.getParameter("password");
         conn=Util.getConnection();
         //获取sta对象
         sql="select * from users where name=? and password=?";
         sta=conn.prepareStatement(sql);
         sta.setString(1, name);
         sta.setString(2, password);
         
         //执行sql获取结果
         rs=sta.executeQuery();
         //处理结果
         if(rs.next())
         {
             request.getRequestDispatcher("success.jsp").forward(request, response);
         }else{
             response.sendRedirect("index.jsp");
         }
        
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
     finally{
         Util.closeAll(rs, sta, conn);
     }
      %>
  </body>
</html>

第五步:编写成功登陆界面

<%@ page language="java"  pageEncoding="UTF-8"%>
<html>
  <head>    
    <title>success</title>
  </head>  
  <body>
<%
out.print("登录成功");
 %>
  </body>
</html>

1.在整个过程中,修改.java文件或者修改WEB-INF中的内容都需要重启tomcat(也可以设置自动重启)

2.在这个题目中涉及到两个username,password,一个是你登陆oracle的用户和密码,一个是自己写的登陆窗口的用户名和密码,在命名上一定要注意区分

不足之处欢迎补充*&*

原文地址:https://www.cnblogs.com/excellencesy/p/8587244.html