?? registerservlet.java
字號(hào):
package testserv;
/**
* 用servlet登陸注冊(cè)
*/
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
public class registerServlet extends HttpServlet {
static final private String CONTENT_TYPE = "text/html; charset=GBK";
Connection connection;
// 定義Connection接口對(duì)象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 {
// 獲得個(gè)人注冊(cè)信息并存入對(duì)應(yīng)的字符串變量中
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>用戶注冊(cè)</title></head>");
out.println("<body>");
boolean existed = checkUser(name); // 檢測(cè)數(shù)據(jù)庫中是否存在重名
if (existed) // 有重名處理情況
{
out.println("<p align=center>對(duì)不起,此用戶名已經(jīng)存在!</p>");
out.println("<p align=center><a href='register.htm'>返回</a></p>"); // 返回注冊(cè)頁
}
else // 不存在重名處理情況
{
boolean identical = checkPass(password, pass_confirm); // 檢測(cè)密碼和密碼確認(rèn)是否一致
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中添加個(gè)人注冊(cè)信息
if (success)
{
out.println("注冊(cè)成功!<br>");
}
else
{
out.println("注冊(cè)失敗,請(qǐng)稍后再試!<br>");
}
out.println("<p align=center><a href='login.htm'>返回主頁</a></p>");
}
}
out.println("</body></html>");
}
public void destroy() {
}
public boolean checkUser(String name) // 檢測(cè)是否存在用戶名函數(shù)
{
boolean existed = false;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 實(shí)例化JDBC-ODBC橋的驅(qū)動(dòng)
String url = "jdbc:odbc:login"; // 設(shè)置連接字符串
connection = DriverManager.getConnection(url); // 連接數(shù)據(jù)庫
// 創(chuàng)建Statement接口對(duì)象
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) // 檢測(cè)密碼和密碼確認(rèn)是否一致函數(shù)
{
boolean identical = true;
if (!password.equals(pass_confirm))
{
identical = false;
}
return identical;
}
public boolean addRecord(String sql_base, String sql_info) // 添加記錄函數(shù)
{
boolean made = false;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 實(shí)例化JDBC-ODBC橋的驅(qū)動(dòng)
String url = "jdbc:odbc:login"; // 設(shè)置連接字符串
connection = DriverManager.getConnection(url); // 連接數(shù)據(jù)庫
// 創(chuàng)建Statement接口對(duì)象
Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
statement.executeUpdate(sql_base); // 向userbase表中插入數(shù)據(jù)
statement.close(); // 關(guān)閉statement對(duì)象
statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
statement.executeUpdate(sql_info); // 向userinfo表中插入數(shù)據(jù)
statement.close(); // 關(guān)閉statement對(duì)象
made = true;
}
catch(Exception ex) // 異常處理
{
ex.printStackTrace();
}
return made;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -