练习JavaWeb连接数据库
1.添加jar包。
建立动态java项目,在Web-INF文件夹下的lib文件夹里添加jar包。
区别:java中添加的jar包需要添加构建路径,而javaWeb中添加的jar不需要构建路径,自动添加。
2.创建请求页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="Check.jsp" method="post">
卡号:<input type="text" name="cardid"><br>
密码:<input type="password" name="password"><br>
按钮:<input type="submit" value="登录">
</form>
</body>
</html>
3.创建接收页面
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//接收验证
String cardid = request.getParameter("cardid");
String password = request.getParameter("password");
//数据验证
if(cardid.equals("")||password.equals(""))
{
out.write("请正确登录系统");
}
else if(cardid==null||password==null)
{
out.write("请正确登录系统");
}
else
{
out.write(cardid);
out.write(password); //连接数据库
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "test0816", "laoer123");
PreparedStatement ps = conn.prepareStatement("select * from t_balance where card_id=? and password=? ");
ps.setString(1, cardid);
ps.setString(2,password);
ResultSet rs =ps.executeQuery();
//数据验证
if(rs.next())
{
out.write("用户名和密码正确");
}
else
{
out.write("用户名或密码错误");
}
rs.close();
ps.close();
conn.close();
} %>
</body>
</html>
4.通过连接池连接数据库
(1)添加jar包,同上。
(2)在JavaResources - src- 创建java包 -创建类 ,并将配置文件放在src下
package com.hanqi.web; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; import com.mchange.v2.c3p0.ComboPooledDataSource;
//单例模式
public class CardDAO {
//构建连接池对象并配置
private ComboPooledDataSource cpds =new ComboPooledDataSource("helloc3p0"); public boolean checklogin(String cardid,String password)
{
boolean rtn =false;
try {
Connection conn = cpds.getConnection();
PreparedStatement ps = conn.prepareStatement("select * from t_balance where card_id=? and password=? ");
ps.setString(1, cardid);
ps.setString(2,password);
ResultSet rs =ps.executeQuery(); rtn=rs.next();
rs.close();
ps.close(); conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rtn;
} }
请求信息页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="Check2.jsp" method="post">
卡号:<input type="text" name="cardid"><br>
密码:<input type="password" name="password"><br>
按钮:<input type="submit" value="登录">
</form>
</body>
</html>
接收信息的页面
<%@page import="com.hanqi.web.CardDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
// 设置不缓存页面
response.setHeader("Cache-Control", "no-cache");
//定时跳转
//response.setHeader("refresh", "2;URL=http://www.baidu.com");
// String cardid = request.getParameter("cardid");
String password =request.getParameter("password");
if(cardid==null||password==null||
cardid.equals("")||password.equals(""))
{
out.write("请正确登录");
}
else
{
//检查登录信息
CardDAO cd = new CardDAO();
if(cd.checklogin(cardid, password))
{
//out.write("登录成功!"); response.getWriter().write("验证成功!");
//页面跳转
//response.sendRedirect("Main.jsp");
response.sendRedirect("http://www.baidu.com");
}
else
{
out.write("登录失败!");
//跳回登录页面
response.setHeader("refresh", "2;URL=loginin.jsp");
}
} %> </body>
</html>
附原本的图,不是以上程序




练习JavaWeb连接数据库的更多相关文章
- javaweb连接数据库并完成增删改查
一.连接数据库 1.mysql数据库的安装和配置 在网上找到了篇关于mysql的安装详细说明,供读者自己学习 https://www.jb51.net/article/23876.htm 2.mysq ...
- 用javaweb连接数据库用javabean、severlet实现增删改查
样 很重要的一点是建立数据库的连接 数据库是一切操作的前提 不管是增加 删除 修改 查询 都需要调用数据库连接程序 再就是java的类的编写 写完类后需要对其进行增删改查方法的 编写 这是dao层的 ...
- Javaweb连接数据库
在JSP中使用JDBC驱动连接mysql数据库. 1: 下载mysql的Java连接程序 2: 解压目录下的mysql-connector-java-5.0.24-bin.jar文件就是连接MySql ...
- psp 周计划2
日期\时间 开始时间 结束时间 中断时间 净时间 活动 备注 12/3 9:00 11:30 10:30 120分钟 自习,练习 教室 14:00 16:30 15:30 80分钟 练习 中午休息 1 ...
- 传智播客JavaWeb day10-jdbc操作mysql、连接数据库六大步骤
第十天主要讲了jdbc操作mysql数据库,包括连接数据库六大步骤(注册数据库驱动.获得连接对象connetion.生成传输器stament.执行查询获得ResultSet.遍历结果集.关闭资源).介 ...
- javaweb之连接数据库
最近做完了一个图书系统的增删改查,想着来总结一下这几个月的所学内容. 一.首先你需要在电脑上安装上mysql或者sql server(本文以mysql为例) mysql官网:MySQL :: Begi ...
- javaWeb 数据库连接池连接数据库
需要的公共jar包 mysql-connector-java-5.0.8-bin.jar(mysql数据库) ojdbc14.jar(oracle数据库) A.DBCP 需要jar包: commo ...
- javaweb登录界面连接数据库
实验关键截图 数据库界面 建表 2.登录界面 登陆失败 5 注册页面 5 注册成功 数据库截图
- JavaWeb 08_JSP+Dao+Bean+Servlet 实现登录注册(连接数据库,验证码登录,两周内免登陆等功能)
一.数据库db_01 表usert 字段username,password 二. 目录 三. 配置信息 四. 代码 index.jsp <script type="text/j ...
随机推荐
- Java数据结构和算法之栈与队列
二.栈与队列 1.栈的定义 栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表. (1)通常称插入.删除的这一端为栈顶(Top),另一端称为栈底(Bottom). (2)当表中没有元素时称为 ...
- 动态添加Marquee标签,并动态赋值与属性
前台加载js $(function(){ var publishStr="<%=publishText%>" var marqueeStr=" <mar ...
- 重写ScrollView 解决ScrollView嵌套viewpager事件冲突
import android.content.Context; import android.util.AttributeSet; import android.view.GestureDetecto ...
- Opencv读取与显示图片
#include "stdafx.h"#include "cv.h"#include "cxcore.h"#include "hi ...
- linux之各个文件夹作用
/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比如用户user的主目录就是/home ...
- Android——课堂整理:assets目录和手机外部存储
layout文件: <Button android:layout_width="match_parent" android:layout_height="wrap_ ...
- Learning to write a compiler
http://stackoverflow.com/questions/1669/learning-to-write-a-compiler?rq=1 Big List of Resources: A N ...
- Apache Shiro系列教程之三:Shiro的结构
Shiro的设计目标是简化应用的安全管理工作.软件通常是以用户为基础设计的.也就是说,我们经常是根据用户是怎样和我们的软件交互的来设计相关的用户接口.比如,你可能会说"如果是已经登录的用户与 ...
- SQL2000的三种“故障还原模型”
一.SQL2000的三种“故障还原模型” 在数据库属性的“选项”页,“故障还原模型”栏,共有三项选择:简单.完全.大容量日志记录.它们的根本差别在于SQL2000对数据库日志的维护方式不同.下面逐个讲 ...
- Joint Deep Learning for Pedestrian Detection笔记
1.结构图 Introduction Feature extraction, deformation handling, occlusion handling, and classification ...