题目:

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

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

第二步:编写登陆界面(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的用户和密码,一个是自己写的登陆窗口的用户名和密码,在命名上一定要注意区分

不足之处欢迎补充*&*

JDBC-oracle(登陆)的更多相关文章

  1. JavaWeb 例子 JDBC+JSP登陆注册留言板

    注册页面: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...

  2. JDBC模拟登陆及SQL语句防注入问题

    实现模拟登陆效果:基于表Tencent package boom; import java.sql.Connection; import java.sql.DriverManager; import ...

  3. jdbc:oracle:thin:@192.168.3.98:1521:orcl(详解)

    整理自互联网 一. jdbc:oracle:thin:@192.168.3.98:1521:orcljdbc:表示采用jdbc方式连接数据库oracle:表示连接的是oracle数据库thin:表示连 ...

  4. Oracle登陆及修改用户密码

    16:20 2013/7/7 Oracle 登陆 管理员登陆 sqlplus sys/root as sysdba (密码认证)这个root是安装数据库最初你输入的口令 sqlplus     /as ...

  5. 关于jdbc Oracle数据库连接的URL错误

    今天写了个java类连接oracle,抛出了这个问题 java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@127 ...

  6. jdbc oracle 连接字符串

    1.普通SID方式 jdbc:oracle:thin:username/password@x.x.x.1:1521:SID 2.普通ServerName方式 jdbc:Oracle:thin:user ...

  7. mvc模式jsp+servel+jdbc oracle基本增删改查demo

    mvc模式jsp+servel+jdbc oracle基本增删改查demo 下载地址

  8. JDBC Oracle sys 用户连接

    Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection( &quo ...

  9. 【转】jdbc:oracle:thin:@192.168.3.98:1521:orcl(详解)

    整理自互联网 一. jdbc:oracle:thin:@192.168.3.98:1521:orcljdbc:表示采用jdbc方式连接数据库oracle:表示连接的是oracle数据库thin:表示连 ...

  10. 一、JDBC的概述 二、通过JDBC实现对数据的CRUD操作 三、封装JDBC访问数据的工具类 四、通过JDBC实现登陆和注册 五、防止SQL注入

    一.JDBC的概述###<1>概念 JDBC:java database connection ,java数据库连接技术 是java内部提供的一套操作数据库的接口(面向接口编程),实现对数 ...

随机推荐

  1. Failed to find provider info for com.tencent.mm.sdk.plugin.provider

    微信启动的时候可以调用,微信没启动,调用支付报这个错误. 我的问题是 微信发开着的jar包不是最新的,去官方网站下一个最新的就可以成功了.

  2. Migrate a Domain-based Namespace to Windows Server 2008 Mode

    TechNet Library Scripting with Windows PowerShell Windows and Windows Server Automation with Windows ...

  3. 二叉树遍历(Java实现)

    二叉树遍历(Java实现)   主要是二叉树的遍历,包括递归遍历和非递归遍历 import java.util.ArrayDeque; import java.util.ArrayList; impo ...

  4. 【Trapping Rain Water】cpp

    题目: Given n non-negative integers representing an elevation map where the width of each bar is 1, co ...

  5. 重新安装Linux自带的JDK

    1.卸载现有jdk 查看本机已经安装的JDK的版本: [root@mcb ~]# java -version java version "1.6.0" OpenJDK Runtim ...

  6. scripts

    Shell Script:================================================================ 示例1:[root@server0 ~]# ...

  7. poj1111(单身快乐)

                                                                                                         ...

  8. [oldboy-django][4python面试]有关yield那些事

    1 yield 在使用send, next时候的区别(举例m = yield 5) 无论send,next首先理解m = yield 5 是将表达式"yield 5 "的结果返回给 ...

  9. Eclipse 4.6(最新版本) js文件不能F3

    解决办法........我是没找到解决4.6版本的办法!不过可以换一个版本!猜想是因为 最新版本强制要求使用jdk1.8所导致的~!  换了一个4.5版本就一切Ok 换上主题一样漂亮护眼

  10. 【Luogu】P4067储能表(数位DP)

    题目链接 好的 看到这题之后我一直在想反演,然后想不出来,一度以为自己脑子有问题 然后我脑子真的有问题,这题tm根本就不是反演 设f[i][j][k][l]表示现在已经DP到从高位往低数的第i位,有没 ...