📄 registerservlet.java
字号:
package loginservlet;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.util.*;import java.sql.*;/** * Title: 使用servlet用户登陆程序 * Description: 教学示范 * Copyright: Copyright (c) 2003 * Company: 北京师范大学计算机系 * @author 孙一林 * @version 1.0 */public class registerServlet extends HttpServlet { static final private String CONTENT_TYPE = "text/html; charset=GBK"; Connection connection; // 定义Connection接口对象connection public void init() throws ServletException { } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获得个人注册信息并存入对应的字符串变量中 String name = new String(request.getParameter("name").getBytes("8859_1")); String password = new String(request.getParameter("password").getBytes("8859_1")); String pass_confirm = new String(request.getParameter("pass_confirm").getBytes("8859_1")); String truename = new String(request.getParameter("truename").getBytes("8859_1")); String age_str = new String(request.getParameter("age").getBytes("8859_1")); int age = Integer.parseInt(age_str); String sex = new String(request.getParameter("sex").getBytes("8859_1")); String mail = new String(request.getParameter("mail").getBytes("8859_1")); String tel = new String(request.getParameter("tel").getBytes("8859_1")); response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>用户注册</title></head>"); out.println("<body>"); boolean existed = checkUser(name); // 检测数据库中是否存在重名 if (existed) // 有重名处理情况 { out.println("<p align=center>对不起,此用户名已经存在!</p>"); out.println("<p align=center><a href='register.htm'>返回</a></p>"); // 返回注册页 } else // 不存在重名处理情况 { boolean identical = checkPass(password, pass_confirm); // 检测密码和密码确认是否一致 if (!identical) // 密码不一致处理情况 { out.println("<p align=center>密码不一致!</p>"); out.println("<p align=center><a href='register.htm'>返回</a></p>"); } else // 密码一致处理情况 { String sql_base = "insert into userbase(user_name, user_password) values ('" + name + "', '" + password + "')"; String sql_info = "insert into userinfo(user_name, user_password, user_truename, user_age, user_sex, user_mail, user_tel) values "; sql_info+= "('" + name + "', "; sql_info+= "'" + password + "', "; sql_info+= "'" + truename + "', "; sql_info+= "" + age + ", "; sql_info+= "'" + sex + "', "; sql_info+= "'" + mail + "', "; sql_info+= "'" + tel + "')"; boolean success = addRecord(sql_base, sql_info); // 向表userbase和userinfo中添加个人注册信息 if (success) { out.println("注册成功!<br>"); } else { out.println("注册失败,请稍后再试!<br>"); } out.println("<p align=center><a href='login.htm'>返回主页</a></p>"); } } out.println("</body></html>"); } public void destroy() { } public boolean checkUser(String name) // 检测是否存在用户名函数 { boolean existed = false; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 实例化JDBC-ODBC桥的驱动 String url = "jdbc:odbc:login"; // 设置连接字符串 connection = DriverManager.getConnection(url); // 连接数据库 // 创建Statement接口对象 Statement statement = connection.createStatement(); String sql = "select * from userbase where user_name = '" + name + "'"; ResultSet rs = statement.executeQuery(sql); int recordCount = 0; while(rs.next()) { recordCount++; } if (recordCount>0) { existed = true; } } catch(Exception ex) // 处理异常 { ex.printStackTrace(); } return existed; } public boolean checkPass(String password, String pass_confirm) // 检测密码和密码确认是否一致函数 { boolean identical = true; if (!password.equals(pass_confirm)) { identical = false; } return identical; } public boolean addRecord(String sql_base, String sql_info) // 添加记录函数 { boolean success = false; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 实例化JDBC-ODBC桥的驱动 String url = "jdbc:odbc:login"; // 设置连接字符串 connection = DriverManager.getConnection(url); // 连接数据库 // 创建Statement接口对象 Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); statement.executeUpdate(sql_base); // 向userbase表中插入数据 statement.close(); // 关闭statement对象 statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); statement.executeUpdate(sql_info); // 向userinfo表中插入数据 statement.close(); // 关闭statement对象 success = true; } catch(Exception ex) // 异常处理 { ex.printStackTrace(); } return success; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -