题目:

第一步:创建用户表,并插入数据(插入后记得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. 【bzoj3339】Rmq Problem

    [bzoj3339]Rmq Problem   Description Input Output Sample Input 7 50 2 1 0 1 3 21 32 31 43 62 7 Sample ...

  2. Careercup - Microsoft面试题 - 5799446021406720

    2014-05-12 07:17 题目链接 原题: Given below is a tree/trie A B c D e F a<b<e<>>c<>d&l ...

  3. Codeforces 1139D(期望dp)

    题意是模拟一个循环,一开始有一个空序列,之后每次循环: 1.从1到m中随机选出一个数字添加进去,每个数字被选的概率相同. 2.检查这个序列的gcd是否为1,如果为1则停止,若否则重复1操作直至gcd为 ...

  4. [python][django学习篇][6]操作数据库

    查询(取)数据 >>> Category.objects.all() <QuerySet [<Category: Category object>]> > ...

  5. redis3.0.6版本的info信息解读

    127.0.0.1:6379> info# Serverredis_version:3.0.6redis_git_sha1:00000000redis_git_dirty:0redis_buil ...

  6. poj2914 Minimum Cut 全局最小割模板题

    Minimum Cut Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 8324   Accepted: 3488 Case ...

  7. selenium webdriver——元素定位

    元素定位: >>WebDriver提供了八种元素定位方法,在Python语言中,所对应的方法如下: >>id属性定位:有唯一性 find_element_by_id(" ...

  8. 【bzoj4668】冷战 并查集按秩合并+朴素LCA

    题目描述 1946 年 3 月 5 日,英国前首相温斯顿·丘吉尔在美国富尔顿发表“铁幕演说”,正式拉开了冷战序幕. 美国和苏联同为世界上的“超级大国”,为了争夺世界霸权,两国及其盟国展开了数十年的斗争 ...

  9. 【Luogu】P2173网络(LCT)

    题目链接 这次坑我的是与或的结合顺序…… 开十个LCT记录一下即可.以上. #include<cstdio> #include<cstring> #include<cst ...

  10. [SDOI2011][bzoj2286] 消耗战 [虚树+dp]

    题面: 传送门 思路: 看到所有询问中的点数总和是十万级别的,就想到用虚树~\(≧▽≦)/~啦 首先,树形dp应该是很明显可以看出来的: 设dp[u]表示以u为根的子树(不包括u)中的宝藏岛全部切断的 ...