文档章节

【JSP+JDBC编程】实现简单的数据库增删改查

sugary
 sugary
发布于 2016/05/12 09:27
字数 695
阅读 62
收藏 0

JSP+JDBC技术完成用户管理功能#

【1】主界面模块##

1)index.jsp###

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="java.sql.*"%>

<html>
<head>

<title>My JSP 'index.jsp' starting page</title>

</head>

<body>
	<%
		String url = "jdbc:mysql://localhost:3306/testdb"; //数据库连接串
		Class.forName("org.gjt.mm.mysql.Driver").newInstance(); //加载驱动程序
		Connection conn = DriverManager.getConnection(url, "root", "root"); //建立连接
		String sql = "select * from users";
		PreparedStatement pStmt = conn.prepareStatement(sql);
		ResultSet rs = pStmt.executeQuery();
	%>
	<table border="1" width="500">
		<tr>
			<th>编号</th>
			<th>姓名</th>
			<th>密码</th>
			<th colspan="2">操作</th>
		</tr>
		<%
			while (rs.next()) {
		%>

		<tr>
			<td>
				<%
					out.print(rs.getString("id"));
				%>
			</td>
			<td>
				<%
					out.print(rs.getString("username"));
				%>
			</td>
			<td>
				<%
					out.print(rs.getString("password"));
				%>
			</td>
			<td><a href="delete.jsp?id=<%=rs.getString("id")%>"  onclick="return confirm('确定删除该条记录?')">删除</a></td>
			<td><a href="edit.jsp?id=<%=rs.getString("id")%>">编辑</a></td>
		</tr>
		<%
			}
		%>

	</table>
	</br>
	<a href="register.jsp">添加新记录</a>

	<%
		//关闭
		rs.close();
		pStmt.close();
		conn.close();
	%>

</body>
</html>

新建模块##

1)register.jsp###

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>

<html>
<head>

<title>My JSP 'register.jsp' starting page</title>

</head>

<body>

	<form action="add.jsp">
		姓名:<input type="text" name="username"/><br>
		密码:<input type="text" name="password"/><br><br>
		<input type="submit" value="添加" />
	</form>

</body>
</html>

2)add.jsp###

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="java.sql.*"%>

<html>
<head>

<title>My JSP 'add.jsp' starting page</title>

</head>

<body>

	<%
		String url = "jdbc:mysql://localhost:3306/testdb"; //数据库连接串
		Class.forName("org.gjt.mm.mysql.Driver").newInstance(); //加载驱动程序
		Connection conn = DriverManager.getConnection(url, "root", "root"); //建立连接
		
		String sql = "insert into users values(null,?,?)";
		PreparedStatement pStmt = conn.prepareStatement(sql);
		
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		pStmt.setString(1, username);
		pStmt.setString(2, password);

		int cnt = pStmt.executeUpdate();
		if (cnt > 0) {
			response.sendRedirect("index.jsp");
		} else {
			out.print("用户已存在,<a href='register.jsp'>重新注册</a>");
		}

		//关闭
		pStmt.close();
		conn.close();
	%>
	
</body>
</html>

编辑模块##

1)edit.jsp###

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="java.sql.*"%>


<html>
<head>

<title>My JSP 'edit.jsp' starting page</title>

</head>

<body>

	<%
		String url = "jdbc:mysql://localhost:3306/testdb"; //数据库连接串
		Class.forName("org.gjt.mm.mysql.Driver").newInstance(); //加载驱动程序
		Connection conn = DriverManager.getConnection(url, "root", "root"); //建立连接

		String id = request.getParameter("id");
		String username = "";
		String password = "";

		String sql = "select * from users where id=?";
		PreparedStatement pStmt = conn.prepareStatement(sql);
		pStmt.setString(1, id);
		ResultSet rs = pStmt.executeQuery();
		while (rs.next()) {
			username = rs.getString("username");
			password = rs.getString("password");
		}
	%>
	
	<form action="modify.jsp">
		编号:<input type="text" name="id" readonly="readonly" value="<%=id %>" /><br>
		 姓名:<input type="text" name="username" value="<%=username %>"  /><br>
		  密码:<input type="text" name="password"  value="<%=password %>"/><br><br> 
		 <input type="submit" value="修改" />
	</form>
	
	<%
		//关闭
		pStmt.close();
		conn.close();

	%>

</body>
</html>

2)modify.jsp###

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="java.sql.*"%>

<html>
<head>

<title>My JSP 'modify.jsp' starting page</title>

</head>

<body>
	<%
		String url = "jdbc:mysql://localhost:3306/testdb"; //数据库连接串
		Class.forName("org.gjt.mm.mysql.Driver").newInstance(); //加载驱动程序
		Connection conn = DriverManager.getConnection(url, "root", "root"); //建立连接

		String sql = "update users set username=?,password=? where id=?";
		PreparedStatement pStmt = conn.prepareStatement(sql);

		String id = request.getParameter("id");
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		
		pStmt.setString(1, username);
		pStmt.setString(2, password);
		pStmt.setString(3, id);
		
		pStmt.executeUpdate();

		//关闭
		pStmt.close();
		conn.close();
		
		response.sendRedirect("index.jsp");
	%>

</body>
</html>

删除模块##

1)delete.jsp###

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="java.sql.*"%>

<html>
<head>

<title>My JSP 'delete.jsp' starting page</title>

</head>

<body>
	<%
		String url = "jdbc:mysql://localhost:3306/testdb"; //数据库连接串
		Class.forName("org.gjt.mm.mysql.Driver").newInstance(); //加载驱动程序
		Connection conn = DriverManager.getConnection(url, "root", "root"); //建立连接

		String sql = "delete from users where id=?";
		PreparedStatement pStmt = conn.prepareStatement(sql);

		String id = request.getParameter("id");

		pStmt.setString(1, id);
		pStmt.executeUpdate();
		
		//关闭
		pStmt.close();
		conn.close();
		
		response.sendRedirect("index.jsp");
	%>
</body>
</html>

© 著作权归作者所有

共有 人打赏支持
sugary
粉丝 4
博文 2
码字总数 1855
作品 0
武汉
程序员
mybatis学习笔记

mybatis是一个ORM框架,因为activiti使用了mybatis,所以学习下; mybatis单独运行可以不依靠任何框架,也不需要tomcat; 一,步骤概要: 1,手动创建数据库表,创建一个USER表; 2,创建核心...

安世博
2014/10/17
260
3
SQL 存储过程的使用对数据的操作(整理思绪补基础)

什么是存储过程? 存储过程是SQL语句和控制语句的 预编译集合 ,保存在数据库里,可由应用程序调用执行,而且容许用户声明变量,逻辑控制语句及其他强大的编程功能。而且允许用户声明变量、有...

SLoan_
2016/11/24
19
0
数据库操作类《SqlHelper》

一.背景 在看了一本书叫《Visual Studio 2010(C#)Windows数据库项目开发》后,觉得很多编程技术需要积累,因为一个简单的项目里包含的技术太多了,容易忘记。每次需要用到某个技术时,就免...

yellowstronger
08/05
0
0
滴滴出行java面试9个问题,你会几个?

此前,w3cschool app开发者头条发布了网易java面经、阿里巴巴java面经、小米java面经。 今天给程序员小伙伴们分享的是滴滴出行java面经。 通常而言,在学习java过程中,首先要学会自己抓住重...

W3Cschool
2017/12/08
0
0
【分享】WeX5的正确打开方式(7)——数据组件详解

本文是【WeX5的正确打开方式】系列的第7篇文章,详细介绍WeX5中数据组件的增删改查以及数据定位方法。 前言 上一篇 数据组件初探 我们简单介绍了数据组件的引入和底层结构以及特性,并实现了...

没错就是酱紫
2016/07/12
253
0

没有更多内容

加载失败,请刷新页面

加载更多

String ,  StringBuffer ,  StringBuilder的区别

String , StringBuffer , StringBuilder的区别 String 首先,String 是用来表示一个字符串常量的,它是一个不可变对象,意味着,一旦我们创建了某个字符串之后,就不能再改变它的值了,我们可...

tsmyk0715
52分钟前
2
0
区块链100讲:UTXO 和 Account 模型对比

在当前区块链世界中,主要有两种记录保存方式,UTXO 模式(Unspent Transaction Output) 和 Account 模式。Bitcoin 采用的是 UTXO 模型,Ethereum 采用的 Account 模型,同样 CITA 也采用了 ...

HiBlock
54分钟前
1
0
Vue中路由管理器Vue Router使用介绍(三)

一、路由定义添加动态参数定义 1.路由定义项,使用:xx 方式 定义动态参数 { path:'/user/:id/:name', name:'user', component:()=>import('./views/User.vue') ...

tianma3798
55分钟前
1
0
从ibdata文件恢复mysql数据

DROP TABLE 恢复【一】 Recover InnoDB dictionary Percona Data Recovery Tool 单表恢复

IT--小哥
58分钟前
1
0
常见设计模式UML图

常见设计模式UML图 本文主要总结常见的设计模式的UML图,方便查阅和思考。 创建型模式 简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式和单例模式,这五种设计模式主要处理对象的创建...

陶小陶
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部