JSP案例_简单实现用户信息的增、删、查、改
1.案例要求
一个简单的jsp页面与mysql的结合,实现用户信息的增、删、查、改的案例
2.案例分析
(1)在mysql创建数据库,创建用户表
(2)创建对应的jsp页面
(3)在jsp文件中连接数据库,获取输入值,进行对应的数据库操作
3.代码分析
(1)数据库设计:简单的用户表,为了简单,只有两列
(2)JSP页面设计注重实现功能,界面简单粗暴!
4.代码实现
(1)数据库代码-sql语句:
CREATE DATABASE test; USE test; -- 用户表 CREATE TABLE USER( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) )
(2)JSP代码:
index.jsp:
doadd.jsp:<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <form action="doadd.jsp"> <h2>数据录入</h2> 输入姓名: <input type="text" name="username" /> <button type="submit">插入数据</button> </form>
dodel.jsp:<%@page import="java.sql.*"%> <%@page import="com.mysql.jdbc.Driver"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% //获取传递过来的数据 String name = request.getParameter("username"); //out.print(name); //加载驱动 Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "root"; //获取连接对象 Connection conn = DriverManager.getConnection(url, user, password); //定义sql语句 String sql = "insert into user values(null,?)"; //预编译 PreparedStatement stmt = conn.prepareStatement(sql); //设置参数 stmt.setString(1, name); //执行参数 int count = stmt.executeUpdate(); /* if(count!=0){ out.print("插入成功!"); } */ conn.close(); %> <script type="text/javascript"> window.location = "show.jsp"; </script>
doupdate.jsp:<%@page import="java.sql.*"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% //获取传递过来的id String i = request.getParameter("id"); int id = Integer.parseInt(i); //out.print(id); //加载驱动 Class.forName("com.mysql.jdbc.Driver"); //获取连接对象 String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "root"; Connection conn = DriverManager.getConnection(url, user, password); //定义sql语句 String sql = "delete from user where id=?;"; //预编译 PreparedStatement stmt = conn.prepareStatement(sql); //设置参数 stmt.setInt(1, id); //执行 int count = stmt.executeUpdate(); %> <script type="text/javascript"> window.location = "show.jsp"; </script>
show.jsp:<%@page import="java.sql.*"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% //获取 String newname = request.getParameter("newname"); String idString = request.getParameter("id"); int id = Integer.parseInt(idString); Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "root"; Connection conn = DriverManager.getConnection(url, user, password); String sql = "update user set name=? where id=?;"; PreparedStatement stmt = conn.prepareStatement(sql); stmt.setString(1, newname); stmt.setInt(2, id); int count = stmt.executeUpdate(); %> <script> window.location="show.jsp"; </script>
showupdate.jsp:<%@page import="java.sql.*"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 当前所有用户列表: <table border="2" width="300"> <tr> <td>id</td> <td>姓名</td> <td>删除操作</td> <td>修改操作</td> </tr> <% //加载驱动 Class.forName("com.mysql.jdbc.Driver"); //获取连接对象 String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "root"; Connection conn = DriverManager.getConnection(url, user, password); /* if(conn!=null){ out.print("123"); } */ //定义sql语句 String sql = "select * from user;"; //预编译 PreparedStatement stmt = conn.prepareStatement(sql); //执行 ResultSet rs = stmt.executeQuery(); //数据显示 while(rs.next()){ //out.print(rs.getInt("id")+"-"+rs.getString("NAME")); %> <tr> <td><%=rs.getInt("id") %></td> <td><%=rs.getString("NAME") %></td> <td><a href="dodel.jsp?id=<%=rs.getInt("id") %>">删除</a></td> <td><a href="showupdate.jsp?id=<%=rs.getInt("id") %>">修改</a></td> </tr> <% } conn.close(); %> </table> <a href="index.jsp">继续添加</a>
<%@page import="java.sql.*"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 当前信息: <br /> <table border="2" width="300"> <tr> <td>id</td> <td>当前姓名</td> </tr> <% String idString = request.getParameter("id"); int id = Integer.parseInt(idString); Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "root"; Connection conn = DriverManager.getConnection(url, user, password); String sql = "select * from user where id=?;" ; PreparedStatement stmt = conn.prepareStatement(sql); stmt.setInt(1, id); ResultSet rs = stmt.executeQuery(); while(rs.next()){ %> <tr> <td><%=rs.getInt("id") %></td> <td><%=rs.getString("name") %></td> </tr> <% } %> </table> <form action="doupdate.jsp"> 请输入新的姓名: <input type="hidden" value="<%=request.getParameter("id") %>" name="id"/> <input type="text" name="newname"/> <button type="submit">确认修改</button> </form>
5.运行截图
数据录入:
数据显示:
数据删除:
数据修改:
6.案例总结
(1)注意web项目的部署和Tomcat的启动,mysql服务的启动
(2)如果代码正确刷新不出来,建议重新部署web项目,重启Tomcat
(3)注意导java包
(4)注意jdbc的语法以及驱动的导入,可参照前面的文章
(5)注意JSP页面里java代码和html代码的配合使用
(6)注意sql语句的正确编写
(7)注意加载驱动的语句
(8)预编译sql语句之后还要执行
(9)注意给预编译sql语句设置参数
(10)注意url的语法,用户名以及密码的正确性