📄 registerevent.java
字号:
/**
* 提交注册信息触发该类
*/
package stumanage.events;
import stumanage.events.EditRegisterEvent;
import stumanage.beans.*;
import java.util.ResourceBundle;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletContext;
import java.sql.*;
import javax.servlet.http.HttpSession;
public class RegisterEvent
extends EventHandleBase {
private boolean regSuccess = false;
private String roles; //保存注册用户的身份 student or teacher
public RegInfo regInfo = new RegInfo(); //保存注册失败信息
public RegisterEvent() {
}
/**
*
* @param sc ServletContext
* @param request HttpServletRequest
* @param response HttpServletResponse
* @throws IOException
* @throws ServletException
*/
public void process (ServletContext sc,
HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
HttpSession session = request.getSession();
user = (UserInfo)session.getAttribute("user");
//if(user!=null) {
// System.out.println(user.getUserID()+" "+user.getUsername());
// }
PreparedStatement stmt;
Connection con= null;
//request.setCharacterEncoding("GB2312");
roles = request.getParameter("role");
System.out.println(roles);
//UserInfo userinfo = (UserInfo)session.getAttribute("user");
/**
* 所有注册信息都为必填
*/
if((request.getParameter("userID")==null)||(request.getParameter("username")==null)||(request.getParameter("password")==null)||(request.getParameter("rePass")==null)||(roles==null)){
regInfo.setInfo("请输入所有信息");
session.setAttribute("user",null);
session.setAttribute("regInfo",regInfo);
System.out.println(regInfo.getInfo());
return;
}
/**
* 检查两次输入的密码是否一致
*/
if(!request.getParameter("password").equals(request.getParameter("rePass"))) {
regInfo.setInfo("您两次输入的密码不一致,请重新输入");
session.setAttribute("regInfo",regInfo);
session.setAttribute("user",null);
System.out.println(regInfo.getInfo());
return;
}
//session.setAttribute("user",userinfo);
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dsn = "jdbc:odbc:info";
System.out.println("jdbc:odbc:info");
con = DriverManager.getConnection(dsn);
String sql = new String();
//String username = request.getParameter("username");
//String password = request.getParameter("password");
/**
* 如果注册用户为学生,若在数据库中未找到注册用户输入的ID所对应的记录,则用学生用户信息表SInfo插入信息
*/
if(roles.equalsIgnoreCase("student")) {
sql = "Select SNo From SInfo Where SNo = ? ";
stmt = con.prepareStatement(sql);
stmt.setString(1,request.getParameter("userID"));
ResultSet rs = stmt.executeQuery();
if(rs.next()) {
regInfo.setInfo("您输入的学号已经注册,请重新输入");
session.setAttribute("regInfo",regInfo);
return;
}
sql = "INSERT INTO SInfo(SNo,SName,SPass) VALUES(?,?,?)";
}
/**
* 注册用户为老师,若在数据库中未找到注册用户输入的ID所对应的记录,则向老师用户信息表TInfo插入信息
*/
else {
sql = "Select TNo From TInfo Where TNo = ? ";
stmt = con.prepareStatement(sql);
stmt.setString(1,request.getParameter("userID"));
ResultSet rs = stmt.executeQuery();
if(rs.next()) {
regInfo.setInfo("您输入的老师编号已经注册,请重新输入");
session.setAttribute("regInfo",regInfo);
return;
}
sql = "INSERT INTO TInfo(TNo,TName,TPass) VALUES(?,?,?)";
}
//System.out.println(sql);
stmt = con.prepareStatement(sql);
//System.out.println("stmt = con.prepareStatement(sql);");
stmt.setString(1,request.getParameter("userID"));
String temp = new String(request.getParameter("username").getBytes("ISO8859_1"));
stmt.setString(2,temp);
stmt.setString(3,request.getParameter("password"));
System.out.println("stmt.setString");
stmt.executeUpdate();
user.setUserID(request.getParameter("userID"));
user.setPassword(request.getParameter("password"));
user.setUsername(temp);
user.setRole(roles);
session.setAttribute("user",user);
regSuccess = true;
} catch(Exception exc) {
regInfo.setInfo("发生异常,异常原因为:" + exc );
session.setAttribute("user",null);
System.out.println(regInfo.getInfo());
}
session.setAttribute("regInfo",regInfo);
//Debug.log (this, "process", "Using default process");
}
protected String getURL() {
ResourceBundle rd = ResourceBundle.getBundle("URL");
String url = null;
if (regSuccess) {
if (roles.equalsIgnoreCase("student")) {
url = rd.getString("SLOGIN");
}
else {
url = rd.getString("TLOGIN");
}
}
if(url!=null)
return url;
else {
url = rd.getString("REGERROR");
return url;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -