?? 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() { } { 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 + -