JDBC-oracle(登陆)
题目:
第一步:创建用户表,并插入数据(插入后记得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(登陆)的更多相关文章
- JavaWeb 例子 JDBC+JSP登陆注册留言板
注册页面: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...
- JDBC模拟登陆及SQL语句防注入问题
实现模拟登陆效果:基于表Tencent package boom; import java.sql.Connection; import java.sql.DriverManager; import ...
- jdbc:oracle:thin:@192.168.3.98:1521:orcl(详解)
整理自互联网 一. jdbc:oracle:thin:@192.168.3.98:1521:orcljdbc:表示采用jdbc方式连接数据库oracle:表示连接的是oracle数据库thin:表示连 ...
- Oracle登陆及修改用户密码
16:20 2013/7/7 Oracle 登陆 管理员登陆 sqlplus sys/root as sysdba (密码认证)这个root是安装数据库最初你输入的口令 sqlplus /as ...
- 关于jdbc Oracle数据库连接的URL错误
今天写了个java类连接oracle,抛出了这个问题 java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@127 ...
- jdbc oracle 连接字符串
1.普通SID方式 jdbc:oracle:thin:username/password@x.x.x.1:1521:SID 2.普通ServerName方式 jdbc:Oracle:thin:user ...
- mvc模式jsp+servel+jdbc oracle基本增删改查demo
mvc模式jsp+servel+jdbc oracle基本增删改查demo 下载地址
- JDBC Oracle sys 用户连接
Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection( &quo ...
- 【转】jdbc:oracle:thin:@192.168.3.98:1521:orcl(详解)
整理自互联网 一. jdbc:oracle:thin:@192.168.3.98:1521:orcljdbc:表示采用jdbc方式连接数据库oracle:表示连接的是oracle数据库thin:表示连 ...
- 一、JDBC的概述 二、通过JDBC实现对数据的CRUD操作 三、封装JDBC访问数据的工具类 四、通过JDBC实现登陆和注册 五、防止SQL注入
一.JDBC的概述###<1>概念 JDBC:java database connection ,java数据库连接技术 是java内部提供的一套操作数据库的接口(面向接口编程),实现对数 ...
随机推荐
- Failed to find provider info for com.tencent.mm.sdk.plugin.provider
微信启动的时候可以调用,微信没启动,调用支付报这个错误. 我的问题是 微信发开着的jar包不是最新的,去官方网站下一个最新的就可以成功了.
- Migrate a Domain-based Namespace to Windows Server 2008 Mode
TechNet Library Scripting with Windows PowerShell Windows and Windows Server Automation with Windows ...
- 二叉树遍历(Java实现)
二叉树遍历(Java实现) 主要是二叉树的遍历,包括递归遍历和非递归遍历 import java.util.ArrayDeque; import java.util.ArrayList; impo ...
- 【Trapping Rain Water】cpp
题目: Given n non-negative integers representing an elevation map where the width of each bar is 1, co ...
- 重新安装Linux自带的JDK
1.卸载现有jdk 查看本机已经安装的JDK的版本: [root@mcb ~]# java -version java version "1.6.0" OpenJDK Runtim ...
- scripts
Shell Script:================================================================ 示例1:[root@server0 ~]# ...
- poj1111(单身快乐)
...
- [oldboy-django][4python面试]有关yield那些事
1 yield 在使用send, next时候的区别(举例m = yield 5) 无论send,next首先理解m = yield 5 是将表达式"yield 5 "的结果返回给 ...
- Eclipse 4.6(最新版本) js文件不能F3
解决办法........我是没找到解决4.6版本的办法!不过可以换一个版本!猜想是因为 最新版本强制要求使用jdk1.8所导致的~! 换了一个4.5版本就一切Ok 换上主题一样漂亮护眼
- 【Luogu】P4067储能表(数位DP)
题目链接 好的 看到这题之后我一直在想反演,然后想不出来,一度以为自己脑子有问题 然后我脑子真的有问题,这题tm根本就不是反演 设f[i][j][k][l]表示现在已经DP到从高位往低数的第i位,有没 ...