studentclient.java

来自「100多M的J2EE培训内容」· Java 代码 · 共 447 行

JAVA
447
字号
package bmpsample;

//package j2eebootcamp.developingEJB.chapter9.web.servlet;

/**
 *
 * StudentClient
 *
 *
 * Author: 	Pravin Tulachan, pvt@javacamp.com
 * Date:	Sept 15 2001
 * Version:	1.0
 *
 */

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import javax.jms.*;
import javax.naming.*;
import java.sql.*;
import java.util.*;
import java.rmi.*;
import javax.rmi.PortableRemoteObject;
import javax.ejb.*;

//import j2eebootcamp.developingEJB.chapter9.student.StudentHome;
//import j2eebootcamp.developingEJB.chapter9.student.Student;

public class StudentClient
    extends HttpServlet {
  Context jndictx = null;
  private StudentBmpHome studentHome = null;
  private StudentBmp student = null;
  private String primaryKey = null;
  String password = null;
  String first = null;
  String last = null;
  String email = null;
  String phone = null;
  String company = null;

  public void init() {

    //look up jndi context
    try {
      jndictx = new InitialContext();

      studentHome = (StudentBmpHome) PortableRemoteObject.narrow(jndictx.lookup(
          "StudentBmp"), StudentBmpHome.class);

    }
    catch (NamingException ne) {
      System.out.println(" Error creating JNDI context: " + ne.toString());
      System.exit(1);
    }
    catch (Exception e) {
      System.out.println(" init() :" + e.getMessage());
      System.exit(1);
    }

  }

  public void doPost(HttpServletRequest req, HttpServletResponse resp) {
    String action = req.getParameter("requestAction");

    if (action.equals("CreateStudent")) {
      System.out.println(" Servlet -- Create Student ");
      createStudent(req, resp);

    }
    else if (action.equals("GetCollection")) {
      System.out.println("--- StudentClient -- look for collection ---");
      searchByCompany(req, resp);
    }
    else if (action.equals("ListSchedules")) {
      System.out.println("--- StudentClient -- list schedules---");
      try {
        listAllClasses(req, resp);
      }
      catch (RemoteException re) {
        System.out.println(" remote exception " + re.getMessage());
      }
    }
    else if (action.equals("AddSchedule")) {
      System.out.println("--- StudentClient -- add a schedue to the Roster ---");

      try {
        addAClass(req, resp);
      }
      catch (RemoteException re) {
        System.out.println(" remote exception " + re.getMessage());
      }

    }
    else if (action.equals("DeleteSchedule")) {
      System.out.println(
          "--- StudentClient -- remove a schedule from the Roster ---");

      try {
        deleteAClass(req, resp);
      }
      catch (RemoteException re) {
        System.out.println(" remote exception " + re.getMessage());
      }

    }
    else {
      try {
        student = studentHome.findByPrimaryKey(primaryKey);

        if (action.equals("ModifyPassword")) {
          String newPassword = req.getParameter("NewPassword");
          modifyPassword(req, resp, newPassword);
        }
        else if (action.equals("ModifyFirstName")) {
          String newFirstName = req.getParameter("NewFirstName");
          modifyFirstName(req, resp, newFirstName);
        }
        else if (action.equals("ModifyLastName")) {
          String newLastName = req.getParameter("NewLastName");
          modifyLastName(req, resp, newLastName);
        }
        else if (action.equals("ModifyPhone")) {
          String newPhone = req.getParameter("NewPhone");
          modifyPhone(req, resp, newPhone);
        }
        else if (action.equals("ModifyEmail")) {
          String newEmail = req.getParameter("NewEmail");
          modifyEmail(req, resp, newEmail);
        }
        else if (action.equals("ModifyCompanyName")) {
          String newCompanyName = req.getParameter("NewCompanyName");
          modifyCompanyName(req, resp, newCompanyName);
        }
        else if (action.equals("RemoveStudent")) {
          String studentID = req.getParameter("StudentID");
          removeStudent(req, resp, studentID);
        }

        else {
          System.out.println("StudentClient -- Unknown request!");
        }
      }
      catch (FinderException fe) {
        System.out.println(" StudentClient finder exception =" + fe.getMessage());
      }
      catch (RemoteException re) {
        System.out.println(" StudentClient remote exception =" + re.getMessage());
      }
      catch (Exception e) {
        System.out.println(" StudentClient exception =" + e.getMessage());
      }

    } //if-else

  }

  public void createStudent(HttpServletRequest req, HttpServletResponse resp) {
    // read the input parameters and then call appropriate method method
    System.out.println("************ StudentClient ************\n");

    primaryKey = req.getParameter("PrimaryKey");
    password = req.getParameter("Password");
    first = req.getParameter("First");
    last = req.getParameter("Last");
    email = req.getParameter("Email");
    phone = req.getParameter("Phone");
    company = req.getParameter("Company");

    try {
      //access the EJB
      System.out.println("****** StudentClient() -- before create() ***");
      student = studentHome.create(primaryKey, password, first, last, email,
                                   phone, company);

      //set attribute to pass it off to jsp page
      req.setAttribute("PrimaryKey", primaryKey);
      req.setAttribute("OldPassword", password);
      req.setAttribute("OldFirstName", first);
      req.setAttribute("OldLastName", last);
      req.setAttribute("OldEmail", email);
      req.setAttribute("OldPhone", phone);
      req.setAttribute("OldCompanyName", company);

      //call the JSP
      RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(
          "/ModifyStudent.jsp");
      dispatcher.forward(req, resp);

    }
    catch (CreateException ce) {
      System.out.println(" create exception =" + ce.getMessage());
    }
    catch (ServletException e) {
      System.out.println("servlet exception =" + e.getMessage());
    }
    catch (RemoteException e) {
      System.out.println(" remote exception =" + e.getMessage());
    }
    catch (IOException e) {
      System.out.println(" io exception =" + e.getMessage());
    }

  }

  public void searchByCompany(HttpServletRequest req, HttpServletResponse resp) {
    // read the input parameters and then call appropriate method method
    System.out.println("\n\n************ StudentClient ************\n");

    company = req.getParameter("Company");

    try {
      //access the EJB
      System.out.println(
          "****** StudentClient() -- before searchByCompany() ***");
      ArrayList primaryKeyList = (ArrayList) studentHome.findByCompanyName(
          company);

      Iterator i = primaryKeyList.iterator();

      while (i.hasNext()) {
        StudentBmp stud = (StudentBmp) i.next();
        String studentID = (String) stud.getPrimaryKey();
        System.out.println("StudentClient list - collection id : " + studentID +
                           "\n");
      }

      req.setAttribute("pKeyList", primaryKeyList);
      req.setAttribute("companyName", company);

      //call the JSP
      RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(
          "/DisplayCollection.jsp");
      dispatcher.forward(req, resp);

    }
    catch (FinderException fe) {
      System.out.println(" finder exception =" + fe.getMessage());
    }
    catch (ServletException e) {
      System.out.println("servlet exception =" + e.getMessage());
    }
    catch (RemoteException e) {
      System.out.println(" remote exception =" + e.getMessage());
    }
    catch (IOException e) {
      System.out.println(" io exception =" + e.getMessage());
    }

  }

  public void modifyPassword(HttpServletRequest req, HttpServletResponse resp,
                             String newPassword) throws RemoteException {

    System.out.println(" *** StudentClient -- modidfyPassword() newPassowrd = " +
                       newPassword);
    student.setPassword(newPassword);
    password = student.getPassword();
    callJSP(req, resp);

  }

  public void modifyCompanyName(HttpServletRequest req,
                                HttpServletResponse resp, String newCompanyName) throws
      RemoteException {

    System.out.println(
        " *** StudentClient -- modidfyCompanyName() newCompanyName = " +
        newCompanyName);
    student.setCompanyName(newCompanyName);
    String changedCompanyName = student.getCompanyName();
    System.out.println(" modidfyCompanyName() Get New CompanyName =" +
                       changedCompanyName);
    company = changedCompanyName;
    callJSP(req, resp);

  }

  public void modifyFirstName(HttpServletRequest req, HttpServletResponse resp,
                              String newFirstName) throws RemoteException {
    System.out.println(
        " *** StudentClient -- modidfyFirstName() newFirstName = " +
        newFirstName);
    student.setFirstName(newFirstName);
    String changedFirstName = student.getFirstName();
    System.out.println(" modidfyFirstName() Get New Firstname =" +
                       changedFirstName);
    first = changedFirstName;
    callJSP(req, resp);

  }

  public void modifyLastName(HttpServletRequest req, HttpServletResponse resp,
                             String newLastName) throws RemoteException {
    System.out.println(" *** StudentClient -- modidfyLastName() newLastName = " +
                       newLastName);
    student.setLastName(newLastName);
    String changedLastName = student.getLastName();
    System.out.println(" modidfyLastName() Get New LastName =" +
                       changedLastName);
    last = changedLastName;
    callJSP(req, resp);
  }

  public void modifyPhone(HttpServletRequest req, HttpServletResponse resp,
                          String newPhone) throws RemoteException {
    System.out.println(" *** StudentClient -- modidfyPhone() newPhone = " +
                       newPhone);
    student.setPhone(newPhone);
    String changedPhone = student.getPhone();
    System.out.println(" modidfyPhone() Get New Phone =" + changedPhone);
    phone = changedPhone;
    callJSP(req, resp);
  }

  public void modifyEmail(HttpServletRequest req, HttpServletResponse resp,
                          String newEmail) throws RemoteException {

    System.out.println(" *** StudentClient -- modidfyEmail() newEmail = " +
                       newEmail);

    student.setEmail(newEmail);
    String changedEmail = student.getEmail();
    System.out.println(" modidfyEmail() Get New Email =" + changedEmail);
    email = changedEmail;
    callJSP(req, resp);
  }

  public void removeStudent(HttpServletRequest req, HttpServletResponse resp,
                            String studentID) throws RemoteException {

    System.out.println("\n *** StudentClient -- removeStudent() studentID = " +
                       studentID);
    try {
      student.remove();
      req.setAttribute("removed", studentID);
      System.out.println(" removed a student ");
      //call the JSP
      RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(
          "/ConfirmDelete.jsp");
      dispatcher.forward(req, resp);
    }
    catch (RemoveException e) {
      System.out.println(" remove exception " + e.getMessage());
    }
    catch (ServletException e) {
      System.out.println("servlet exception =" + e.getMessage());
    }
    catch (RemoteException e) {
      System.out.println(" remote exception =" + e.getMessage());
    }
    catch (IOException e) {
      System.out.println(" io exception =" + e.getMessage());
    }

  }

  private void callJSP(HttpServletRequest req, HttpServletResponse resp) {
    System.out.println("\n*** in StudentClient -- callJSP() **********");
    //System.out.println(" -- firstName = "+first+",  lastName="+last);

    //set attribute to pass it off to jsp page
    req.setAttribute("PrimaryKey", primaryKey);
    req.setAttribute("OldPassword", password);
    req.setAttribute("OldFirstName", first);
    req.setAttribute("OldLastName", last);
    req.setAttribute("OldEmail", email);
    req.setAttribute("OldPhone", phone);
    req.setAttribute("OldCompanyName", company);
    try {

      RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(
          "/ModifyStudent.jsp");
      dispatcher.forward(req, resp);
    }
    catch (ServletException se) {
      System.out.println(" *** StudentClient dispatcher error =" +
                         se.getMessage());
    }
    catch (Exception e) {
      System.out.println(" error =" + e.getMessage());
    }
  }

// --------------------- roster related calls ----------------------
  public void addAClass(HttpServletRequest req, HttpServletResponse resp) throws
      RemoteException {

    System.out.println(" *** StudentClient -- addAClass() --------- ");
    String schedID = req.getParameter("ScheduleID");
    try {
      student.addASchedule(schedID);
    }
    catch (RosterDAOException ex) {
    }
    listAllClasses(req, resp);

  }

  public void deleteAClass(HttpServletRequest req, HttpServletResponse resp) throws
      RemoteException {

    System.out.println(" *** StudentClient -- deleteAClass() --------- ");
    String schedID = req.getParameter("ScheduleID");
    try {
      student.deleteASchedule(schedID);
    }
    catch (RosterDAOException ex) {
    }
    listAllClasses(req, resp);
  }

  public void listAllClasses(HttpServletRequest req, HttpServletResponse resp) throws
      RemoteException {
    Vector list = new Vector(20);
    try {
      list = student.getScheduleList();
    }
    catch (RosterDAOException ex) {
    }
    System.out.println(
        " *** StudentClient -- listAllClasses() ------- size => " + list.size());

    for (int i = 0; i < list.size(); i++) {
      System.out.println("-- StudentClient -- schedule -->" + list.get(i));
    }

    req.setAttribute("schedList", list);
    try {

      RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(
          "/DisplayClassList.jsp");
      dispatcher.forward(req, resp);
    }
    catch (ServletException se) {
      System.out.println(" *** StudentClient dispatcher error =" +
                         se.getMessage());
    }
    catch (Exception e) {
      System.out.println(" error =" + e.getMessage());
    }

  }

} //;-) end of the Servlet client.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?