<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.*" %> <%@ page import="com.hanqi.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>用户列表 先启动FindUserList</title> </head> <body> <% Object obj = request.getAttribute("userlist"); if(obj != null) { ArrayList<User> array = (ArrayList<User>)obj; //遍历 for(User u : array) { out.print(u.getUserID() + "\t " + u.getUserName() + "\t " + u.getPassword() + "\t " +u.getUserTime()+ "\t <a href=‘DeleteUser?userid="+u.getUserID()+"‘>删除</a>" +"<form action=‘EditUser‘ method=‘get‘ >"+ "<input type=‘hidden‘ name=‘userid‘ value=‘"+ u.getUserID() +"‘ />" +" 用户名称:<input type=‘text‘ name=‘username‘ value=‘" + u.getUserName() + "‘ />" +"用户密码:<input type=‘password‘ name=‘password‘ value=‘"+u.getPassword()+"‘ />" +"<input type=‘submit‘ value=‘提交‘ /></form>"+ "" +"<br>"); } //DeleteUser? ?是要删除的userid } else { out.append("用户列表为空"); } %> <br> <br> <br> <a href="zhuce.jsp">注册新用户</a> </body> </html>
ShowUserList
package com.hanqi; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.util.*; import javax.servlet.*; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class FindUserList */ public class FindUserList extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public FindUserList() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); try { //加载数据库驱动,并注册到驱动管理器 Class.forName("oracle.jdbc.driver.OracleDriver"); //数据库连接字符串 String url = "jdbc:oracle:thin:@localhost:1521:orcl"; //获取connection对象 (个人理解为登陆数据库 并将数据关联) Connection conn = DriverManager.getConnection(url,"test","123654789"); //url,名称,密码 //判断是否有数据 if(conn != null) { //操纵数据库 String sql = "select * from t_user"; //执行sql语句的类 /* PreparedStatement pps = conn.prepareStatement(sql); */ Statement stm = conn.createStatement(); //执行查询,返回结果集 ResultSet rs = stm.executeQuery(sql); //数组的方式来进行 装载 和 传输 ArrayList<User> array = new ArrayList<User>();//将数据装载在数组中放置到其他地方进行输出 if(rs != null) { //遍历结果集 while(rs.next()) { //实体类装载记录 User u = new User(); u.setUserID(rs.getString("USER_ID")); u.setUserName(rs.getString("USER_NAME")); u.setPassword(rs.getString("PASSWORD")); u.setUserTime(rs.getString("USER_TIME")); /* //取值 要按照相应类型来取 rs.getString(""); // 按字段名来取 rs.getString(0); // 括号内 columnIndex 是 列的序号 字段序号是从 1 开始算的 rs.getDouble(0); //注意要取值的类型 */ //将装载的数据传输 array.add(u); response.getWriter().append("USER_ID = "+ rs.getString("USER_ID")+";<br>"); response.getWriter().append("USER_NAME = "+ rs.getString("USER_NAME")+";<br>"); response.getWriter().append("PASSWORD = "+ rs.getString("PASSWORD")+";<br>"); response.getWriter().append("USER_TIME = "+ rs.getString("USER_TIME")+";<br>"); } request.setAttribute("userlist", array); //释放 rs.close(); } else { response.getWriter().append("结果集为空"); } //关闭 释放资源 stm.close(); conn.close(); } else { } } catch (ClassNotFoundException e) //仅捕获一类特定异常 { // TODO Auto-generated catch block e.printStackTrace(); response.getWriter().append(e.getMessage()); } catch (Exception e) //捕获所有异常 { // TODO Auto-generated catch block e.printStackTrace(); response.getWriter().append(e.getMessage()); } //页面跳转 request.getRequestDispatcher("ShowUserList.jsp").forward(request,response); } private void zhuanma() { // TODO Auto-generated method stub } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
FindUserList
package com.hanqi.common; import java.sql.*; public class DBHelper { //获取connection对象 static 静态方法 不需要调用他的实例化 public static Connection getConnection() throws Exception //工具类中异常不要用try catch { //加载数据库驱动,并注册到驱动管理器 Class.forName("oracle.jdbc.driver.OracleDriver"); //数据库连接字符串 String url = "jdbc:oracle:thin:@localhost:1521:orcl"; //获取connection对象 (个人理解为登陆数据库 并将数据关联) Connection conn = DriverManager.getConnection(url,"test","123654789"); //url,名称,密码 return conn; } }
--封装类--
package com.hanqi; import java.io.IOException; import java.sql.*; import java.text.SimpleDateFormat; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.hanqi.*; import java.util.*; import java.util.Date; /** * Servlet implementation class SaveUser */ public class SaveUser extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public SaveUser() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //转码,固定写法 request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); //获取当前时间 Date dt = new Date(); //格式化时间 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String sj = sdf.format(dt); //获取内容 String userID = request.getParameter("userid"); String userName = request.getParameter("username"); String pw = request.getParameter("password"); //判断输入的内容 if(userID == null || userID.trim().length() == 0) { //输出内容 response.getWriter().append("用户代码不能为空"); } else if(userName == null || userName.trim().length() == 0) { response.getWriter().append("用户姓名不能为空"); } else { try { //加载数据库驱动,并注册到驱动管理器 Class.forName("oracle.jdbc.driver.OracleDriver"); //数据库连接字符串 String url = "jdbc:oracle:thin:@localhost:1521:orcl"; //获取connection对象 (个人理解为登陆数据库 并将数据关联) Connection conn = DriverManager.getConnection(url,"test","123654789"); //url,名称,密码 //判断是否有数据 if(conn != null) { //操纵数据库 String sql = "insert into t_user (user_id,user_name,password,user_time) values (?,?,?,?)"; //另外一种方法: //String sql = "insert into t_user (user_id,user_name,password) values (‘" + userID + "‘)"; //执行sql语句的类 PreparedStatement pps = conn.prepareStatement(sql); //转码 userName = new String(userName.getBytes("ISO-8859-1"),"UTF-8"); //post 提交方式不用转码 get方式需要转码 //将操纵数据库中数据类名编下顺序便于输入 pps.setString(1, userID); pps.setString(2, userName); pps.setString(3, pw); pps.setString(4, sj); int row = pps.executeUpdate(); //执行sql语句并返回所影响的行数 if(row > 0) { //response.getWriter().append("保存"+ row +"条数据成功"); response.sendRedirect("FindUserList"); //直接跳转到用户列表 } else { response.getWriter().append("保存数据失败"); } //关闭 释放资源 pps.close(); conn.close(); } else { } } catch (Exception e) //仅捕获一类特定异常 { // TODO Auto-generated catch block e.printStackTrace(); response.getWriter().append(e.getMessage()); } } } private void zhuanma() { // TODO Auto-generated method stub } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
SaveUser
package com.hanqi; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.hanqi.common.DBHelper; import java.sql.*; /** * Servlet implementation class DeleteUser */ public class DeleteUser extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public DeleteUser() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //转码 request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); String userid = request.getParameter("userid"); if(userid != null && userid.trim().length() > 0) { try { Connection conn = DBHelper.getConnection(); //DBHelper 静态方法 不需要实例化 if(conn != null) { // String sql = "delete from t_user where user_id = ‘"+userid+"‘"; //直接组合 String sql = "delete from t_user where user_id = ?"; //使用占位符 PreparedStatement pst = conn.prepareStatement(sql); pst.setString(1, userid); int row = pst.executeUpdate(); //返回数值 数值代表删除的行数 response.sendRedirect("FindUserList"); pst.close(); conn.close(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { response.getWriter().append("userid不能为空!"); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
DeleteUser
package com.hanqi; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.hanqi.common.DBHelper; /** * Servlet implementation class EditUser */ public class EditUser extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public EditUser() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); //接受相关参数 String userID = request.getParameter("userid"); String userName = request.getParameter("username"); String pw = request.getParameter("password"); //判断输入的内容 if(userID == null || userID.trim().length() == 0) { //输出内容 response.getWriter().append("用户代码不能为空"); } else if(userName == null || userName.trim().length() == 0) { response.getWriter().append("用户姓名不能为空"); } else { try { Connection conn = DBHelper.getConnection(); if(conn != null) { //操纵数据库 select sysdate from dual; String sql = "update t_user set user_name = ?, password = ? where user_id = ?"; //另外一种方法: //String sql = "insert into t_user (user_id,user_name,password) values (‘" + userID + "‘)"; //执行sql语句的类 PreparedStatement pps = conn.prepareStatement(sql); //转码 userName = new String(userName.getBytes("ISO-8859-1"),"UTF-8"); //post 提交方式不用转码 get方式需要转码 //将操纵数据库中数据类名编下顺序便于输入 pps.setString(3, userID); pps.setString(1, userName); pps.setString(2, pw); int row = pps.executeUpdate(); //执行sql语句并返回所影响的行数 //关闭 释放资源 pps.close(); conn.close(); response.sendRedirect("FindUserList"); /* if(row > 0) { response.getWriter().append("保存"+ row +"条数据成功"); } else { response.getWriter().append("保存数据失败"); } */ } else { } } catch (Exception e) //仅捕获一类特定异常 { // TODO Auto-generated catch block e.printStackTrace(); response.getWriter().append(e.getMessage()); } } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
EditUser
package com.hanqi; //关于用户的实体类 public class User { //用户代码 private String UserID; public String getUserID() { return UserID; } public void setUserID(String userID) { this.UserID = userID; } //用户名称 private String UserName; public String getUserName() { return UserName; } public void setUserName(String userName) { UserName = userName; } //密码 private String Password; public String getPassword() { return Password; } public void setPassword(String password) { Password = password; } //时间 private String UserTime; public String getUserTime() { return UserTime; } public void setUserTime(String userTime) { UserTime = userTime; } }
User
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>用户注册</title> <script type="text/javascript"> function yanz() { if (zhugan.userid.value == "") { alert("用户代码不能为空!"); return false; } if(zhugan.username.value == "") { alert("用户名称不能为空!"); return false; } if(zhugan.password.value == "") { alert("登陆密码不能为空!"); return false; } /* if(zhugan.passwore.value == "") { alert("确认密码不能为空!"); return false; } */ if(zhugan.password.value != zhugan.passwore.value) { alert("登陆密码与确认密码不相同!"); return false; } return true; } </script> </head> <body> <form id="zhugan" action="SaveUser" method="get" onSubmit="return yanz();"> 用户代码:<input id="userid" type="text" name="userid" width=30 /> <br><br> 用户名称:<input id="username" type="text" name="username" width=30 /> <br><br> 登录密码:<input id="password" type="password" name="password" width=30 /> <br><br> 确认密码:<input id="passwore" type="password" name="pueren" width=30 /> <br><br> <input type="submit" value="提交" /> </form> </body> </html>
注册页面
时间: 2024-10-14 21:17:36