//MySQL数据库中创建database account,表system1,system2.
create system1(name varchar(20),money double);
create system2(name varchar(20),money double);
insert into system1 values('dick',100000);
insert into system2 values('cll',5000);
//首先创建db6.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>db6.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<center>
<p><b>银行转账系统</b></p>
<form action="db6.jsp" method="post">
请输入金额:
<input type="text" name="money" />
<input type="submit" value="提交" />
</form>
</center>
</body>
</html>
//创建db6.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%@page import="java.sql.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>数据库事务操作</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<center>
<%
Connection con=null;
Statement stmt=null;
double money=Double.parseDouble(request.getParameter("money"));
String sql1="update system1 set money=money-"+money+"where name='dick'";
String sql2="update system2 set money=money+"+money+"where name='cll'";
String url="jdbc:mysql://localhost:3306/account?user=root&password=root&characterEncoding=gb2312";
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection(url);//连接数据库
con.setAutoCommit(false); //禁止自动提交事务
stmt=con.createStatement();
stmt.executeUpdate(sql1); //没有自动提交sql语句
stmt.executeUpdate(sql2); //也没有自动提交sql语句
con.commit(); //统一提交事务
out.println("<center><b>转账成功</b></center>");
out.println("<center>本次转账金额为:"+money+"人民币</center>");
}catch(SQLException e){
//如果其中一项SQL操作失败,就不会执行commit()方法,而是产生相应的sqlexception,
//此时就可以捕获异常代码块中调用rollback()方法撤销事务
con.rollback();
out.print("转账失败,原因:"+e.toString());
}finally{
if(stmt!=null){
stmt.close();
}
if(con!=null){
con.close();
}
}
%>
</center>
</body>
</html>
- 大小: 30.2 KB
- 大小: 30.6 KB
分享到:
相关推荐
《关键技术——JSP与JDBC应用详解》这本书深入探讨了Java服务器页面(JSP)和Java数据库连接(JDBC)这两个在Web开发中至关重要的技术。对于任何希望在Java平台上进行Web应用程序开发的程序员来说,理解和掌握这两项...
本主题将深入探讨如何使用JSP通过JDBC驱动来连接并操作不同类型的数据库,如MySQL、SQL Server、Oracle 9i以及Access。 首先,JSP是Java平台上的动态网页技术,它允许开发者在HTML代码中嵌入Java代码,从而在服务器...
在实际应用中,JSP与JDBC通常结合使用,通过JSP处理用户的请求,利用JDBC进行数据库操作。例如,用户在网页上提交表单,JSP接收请求,然后通过JDBC连接数据库,执行SQL(如插入、更新、删除或查询),最后将结果返回...
Servlet/控制器使用JDBC执行相应的数据库操作,然后重定向或转发到显示结果的JSP页面。 6. **事务管理**:如果涉及到多条SQL语句的操作(如同时修改多本图书的信息),JDBC的Connection对象可以开启和提交事务,...
最后,`PGJDBC.war`文件通常是一个Web应用程序的归档文件,包含使用JDBC连接PG数据库的Web应用的所有组件,如Servlet、JSP页面、JavaBeans等。部署这个WAR文件到支持Java Web应用的服务器(如Tomcat、Jetty等),...
在这个“jsp实现对数据库的增删改查操作”项目中,我们将会深入探讨如何使用JSP来与数据库进行交互,执行基本的数据操作:增加(Insert)、删除(Delete)、修改(Update)和查询(Select)。这些是任何Web应用开发...
总结,JSP和JDBC结合使用,可以在Web应用程序中实现与数据库的交互,包括删除操作。通过理解JSP的脚本元素和JDBC的API,开发者可以创建高效、可靠的数据库驱动的Web应用。在实际开发中,注意编写健壮的代码,确保...
在IT行业中,Java Server ...综上所述,JSP数据库应用涵盖了数据库连接、数据操作、安全性、性能优化等多个方面,是构建动态Web应用不可或缺的技术。理解和熟练掌握这些知识点对于成为一个专业的JSP开发者至关重要。
实验报告的目的是让学生熟悉如何在JavaServer Pages (JSP)中与数据库进行交互,特别是使用Java Database Connectivity (JDBC)技术。实验涵盖了多种数据库操作,包括查询、更新、添加和删除数据,以及利用预处理语句...
《JDBC API数据库编程实作教程》是一本深入讲解Java数据库连接(JDBC)技术的书籍,旨在帮助读者从基础知识到高级应用全面掌握数据库编程。该书不仅涵盖了Java语言的基本概念,还深入探讨了JDBC API如何在桌面应用...
在本示例中,我们看到一个简单的Web应用的登录和注册功能实现,使用了Java的JSP(JavaServer Pages)和JDBC(Java Database Connectivity)技术。以下是关键知识点的详细说明: 1. **JSP**: JSP是Java的一个标准...
本篇将详细讲解如何利用NetBeans IDE来实现JSP与数据库的连接,帮助你深入理解这一核心技能。 首先,你需要安装NetBeans IDE,这是一款强大的Java开发工具,支持多种项目类型,包括JSP应用。下载并安装完成后,打开...
在JSP中使用JDBC连接MySQL数据库,可以让Web应用实现数据的存储、检索、更新等操作。这是构建动态网站和应用程序时非常重要的能力。以下是使用JSP结合JDBC连接MySQL数据库需要掌握的知识点: 1. JDBC驱动下载与配置...
《关键技术JSP与JDBC应用详解》一书由张峋和杨三成共同撰写,主要聚焦于Java服务器页面(JSP)和Java数据库连接(JDBC)两大核心技术在实际开发中的应用。这本书深入探讨了如何有效地利用这两种技术来构建动态、数据...