文档章节

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

sugary
 sugary
发布于 2016/05/12 09:27
字数 695
阅读 70
收藏 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
【分享】WeX5的正确打开方式(7)——数据组件详解

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

没错就是酱紫
2016/07/12
253
0
对象序列化、反序列化、一键增删改查插件--YUDBModel

YUDBModel 直接实现 json 反序列化对象-对象增删改查数据库-对象序列化的插件 介绍 架构: 使用runtime和Sqlite实现NSObject扩展类YUDBModel,直接实现(json反序列化对象-对象增删改查数据库-...

BruceYu的博客
2017/05/16
85
0
SQL 存储过程的使用对数据的操作(整理思绪补基础)

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

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

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

yellowstronger
08/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android :报错Your project path contains non-ASCII characters.

报错内容如下 Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See ht......

lanyu96
4分钟前
0
0
[LintCode] Number of Islands(岛屿个数)

描述 给一个01矩阵,求不同的岛屿的个数。 0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。 样例 在矩阵: [ [1, 1, 0, 0, 0], [0, 1, 0, 0, ...

honeymose
5分钟前
0
0
Nginx平滑添加模块

Nginx已经编译安装并运行了一段时间, 然后某一天, 发现需要用到某个模块但当初没有编译, 这个时候怎么办呢? 卸载重新安装肯定可以的, 如果Nginx版本没有变更的话, 则有一个相对平滑的方法来添...

老菜鸟0217
10分钟前
0
0
spark安装测试

spark安装测试 由于本地已经安装好hadoop相关组件,所以本文是在yarn的基础上对spark进行安装及测试 确保hdfs及yarn成功启动,hadoop版本为2.7.3 安装scala,由于本人安装的spark是2.4.0,对应...

-九天-
23分钟前
3
0
周末看完了《电能计量自动化技术》

整体质量还行,下面分别将心得记录如下: 第一章:发展历程可以看看,现在算是智能电网阶段 2:讲主站系统。以文件进行各模块的交互很值得思考,尤其是批量数据,多团队合作的情况下。另外线...

max佩恩
43分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部