<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>ATM Web Demo </b>
Phần demo chưa đề cập đến thông tin giao dịch của khách hàng
Tạo Package atm, lưu các class của bài trước vào Package này.
Bổ sung method cho class Database
<b>package</b>
atm;
<b>import</b>
java.sql.Connection;
<b>import</b>
java.sql.DriverManager;
<b>import</b>
java.sql.ResultSet;
<b>import</b>
java.sql.Statement;
<b>public</b>
<b>class</b>
Database {
<b>private</b>
Connection
con
=
<b>null</b>
;
<b>private</b>
Statement
stmt
=
<b>null</b>
;
<b>private</b>
ResultSet
result
=
<b>null</b>
;
<b>public</b>
Connection getConnectDB() {
<b>try</b>
{
<i>Class.forName("com.mysql.jdbc.Driver"); </i>
con
= DriverManager
<i>.getConnection( </i>
"jdbc:mysql://localhost:3306/ATM?useUnicode=true&characterEncoding=UTF-8",
"root", "");
<b>return</b>
con
;
}
<b>catch</b>
(Exception e) {
System.out.println("Error: " + e);
<b>return</b>
<b>null</b>
;
}
}
<b>public</b>
<b>void</b>
closeConnect() {
<b>try</b>
{
<b>if</b>
(
result
!=
<b>null</b>
) {
result
.close();
}
<b>if</b>
(
stmt
!=
<b>null</b>
) {
stmt
.close();
}
<b>if</b>
(
con
!=
<b>null</b>
) {
con
.close();
}
</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>
System.out.println(e);
}
}
<b>public</b>
<b>void</b>
loadData(){
<b>try</b>
{
getConnectDB();
Statement st =
con
.createStatement();
String sql = "Select * from lophoc";
ResultSet rs = st.executeQuery(sql);
<b>while</b>
(rs.next()) {
System.out.println(rs.getString("tenlop"));
}
con
.close();
}
<b>catch</b>
(Exception e) {
/* sai kết nối */
System.out.println(e);
}
}
<b>public</b>
<b>void</b>
loadKhachHang(){
<b>try</b>
{
getConnectDB();
Statement st =
con
.createStatement();
String sql = "Select * from KhachHang";
ResultSet rs = st.executeQuery(sql);
<b>while</b>
(rs.next()) {
System.out.println(rs.getString(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"
\t"+rs.getString(4));
}
con
.close();
}
<b>catch</b>
(Exception e) {
System.out.println(e);
}
}
<b>public</b>
ResultSet loadKhachHang(
<b>int</b>
makh){
<b>try</b>
{
getConnectDB();
Statement st =
con
.createStatement();
String sql = "Select * from KhachHang where makh = "+makh;
ResultSet rs = st.executeQuery(sql);
<b>if</b>
(rs !=
<b>null</b>
)
<b>return</b>
rs;
<b>else</b>
</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>
}
<b>catch</b>
(Exception e) {
System.out.println(e);
<b>return</b>
<b>null</b>
;
}
}
<b>public</b>
ResultSet loadTaiKhoan(
<b>int</b>
makh){
<b>try</b>
{
getConnectDB();
Statement st =
con
.createStatement();
String sql = "Select soTaiKhoan, loaiTaiKhoan, soDu, TaiKhoan.makh
from TaiKhoan, KhachHang where TaiKhoan.makh = KhachHang.makh and KhachHang.makh =
"+makh;
ResultSet rs = st.executeQuery(sql);
<b>if</b>
(rs !=
<b>null</b>
)
<b>return</b>
rs;
<b>else</b>
<b>return</b>
<b>null</b>
;
}
<b>catch</b>
(Exception e) {
System.out.println(e);
<b>return</b>
<b>null</b>
;
}
}
<b>public</b>
<b>void</b>
updateTaiKhoan(
<b>long</b>
makh,
<b>double</b>
sodu){
<b>try</b>
{
getConnectDB();
Statement st =
con
.createStatement();
String sql = "update TaiKhoan set sodu = (sodu - " + sodu + ")
where TaiKhoan.makh = "+makh;
st.executeUpdate(sql);
}
<b>catch</b>
(Exception e) {
System.out.println(e);
}
}
<b>public</b>
<b>void</b>
infoConnectDB(){
<b>if</b>
(getConnectDB() !=
<b>null</b>
)
System.out.println("Kết nối database thành công");
<b>else</b>
System.out.println("Kết nối database không thành công");
}
<b>public</b>
<b>static</b>
<b>void</b>
main(String[] args) {
Database db =
<b>new</b>
Database();
</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>
db.loadData();
//Gọi phương thức hiển thị dữ liệu
db.closeConnect();
}
}
Tạo các trang JSP
test-database.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<%@ page import="atm.*"%>
<html>
<body>
<%
Database db = <b>new</b> Database();
<b>if</b>(db.getConnectDB() != <b>null</b>)
out.println("Thành công");
<b>else</b>
out.println("Không thành công");
%>
</body>
</html>
Khach-hang.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%@ page import="atm.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Khách hàng</title>
</head>
<body>
<table style="width: <i>400px</i>">
<tr>
<td>Mã KH</td>
<td>Tên khách hàng</td>
<td>Địa chỉ</td>
</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>
Database db = <b>new</b> Database();
<b>int</b> makh1 = 1; //giả sử khách hàng thứ nhất nhập mã pin và giao dịch
ResultSet rs1 = db.loadKhachHang(makh1);
<b>if</b>(rs1.next())
out.println("<td>"+rs1.getInt(1)+"</td>"+
"<td>"+rs1.getString(2)+"</td>"+
"<td>"+rs1.getString(3)+ "</td>");
%>
</tr>
</table>
</body>
</html>
login.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<script type="text/javascript">
// Khai báo kiểm tra giá trị nhập trên trình khách
<b>function</b> checkinput(){
<b>if</b>(document.form1.username.value==""){
alert("Xin vui long nhap makh");
document.form1.username.focus();
<b>return</b> <b>false</b>;
}
<b>if</b>(document.form1.password.value=="" ){
alert("Xin vui long nhap ma pin");
document.form1.password.focus();
<b>return</b> <b>false</b>;
}
<b>return</b> <b>true</b>;
}
</script>
</head>
<body>
<form action=login_authentication.jsp name=form1 method=post onSubmit="return
checkinput();">
<table style= "text-align: <i>center</i>">
<tr>
<td colspan="2">
<h4 style="font-weight:<i>bold</i>">Đăng nhập hệ thống</h4><hr>
</td>
</tr><tr>
<td colspan=2>Vui lòng nhập mã khách hàng và mã pin</td>
</tr>
<tr>
</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>
<td><input type="text" name="makh" size="30" maxlength="50"></td>
</tr>
<tr>
<td >Mã pin</td>
<td><input type="password" name="mapin" size="32" maxlength="10"></td>
</tr>
<tr>
<td > </td>
<td> </td>
</tr><tr>
<td ><input type=submit value="Đăng nhập"></td>
<td ><input type=reset value="Hủy"></td>
</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>
login_authentication.jsp
logout.jsp
<% //Trang logout.jsp
</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8></div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9></div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10></div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11></div>
<!--links-->