文档章节

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

sugary
 sugary
发布于 2016/05/12 09:27
字数 695
阅读 59
收藏 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
滴滴出行java面试9个问题,你会几个?

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

W3Cschool
2017/12/08
0
0
数据库操作类《SqlHelper》

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

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

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

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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Ubuntu18.04 显卡GF-940MX安装NVIDIA-390.77

解决办法: 下面就给大家一个正确的姿势在Ubuntu上安装Nvidia驱动: (a)首先去N卡官网下载自己显卡对应的驱动:www.geforce.cn/drivers (b)下载后好放在英文路径的目录下,怎么简单怎么来...

AI_SKI
今天
0
0
深夜胡思乱想

魔兽世界 最近魔兽世界出了新版本, 周末两天升到了满级,比之前的版本体验好很多,做任务不用抢怪了,不用组队打怪也是共享拾取的。技能简化了很多,哪个亮按哪个。 运维 服务器 产品 之间的...

Firxiao
今天
0
0
MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
今天
0
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
2
0
openJDK之sun.misc.Unsafe类CAS底层实现

注:这篇文章参考了https://www.cnblogs.com/snowater/p/8303698.html 1.sun.misc.Unsafe中CAS方法 在sun.misc.Unsafe中CAS方法如下: compareAndSwapObject(java.lang.Object arg0, long a......

汉斯-冯-拉特
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部