⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 registerevent.java

📁 小型论文管理系统 功能还不是很完善 有待改进
💻 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 + -