<%@ 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>
注册页面
package com.hanqi; import java.io.IOException; import java.sql.*; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 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"); //获取内容 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) " + "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); int row = pps.executeUpdate(); //执行sql语句并返回所影响的行数 if(row > 0) { response.getWriter().append("保存"+ row +"条数据成功"); } else { response.getWriter().append("保存数据失败"); } //关闭 释放资源 pps.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()); } } } /** * @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 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 = "insert into t_user (user_id,user_name,password) " // + "values (?,?,?)"; String sql = "select * from t_user"; //另外一种方法: //String sql = "insert into t_user (user_id,user_name,password) values (‘" + userID + "‘)"; //执行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")); /* //取值 要按照相应类型来取 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>"); } 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); } /** * @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
<%@ 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() + "<br>"); } } else { out.append("用户列表为空"); } %> </body> </html>
ShowUserList
时间: 2024-10-28 20:24:40