WEB开发网
开发学院软件开发Java Go-ForIt 记事:eXtreme DragonSlayers 学术报告,... 阅读

Go-ForIt 记事:eXtreme DragonSlayers 学术报告,第 4 部分

 2009-11-06 00:00:00 来源:WEB开发网   
核心提示: 用户在站点注册时,我们收集信息:他们的姓名、地址、电话号码、他们是消费者还是 PA 或者两者都是、信用卡信息、用户标识以及密码,Go-ForIt 记事:eXtreme DragonSlayers 学术报告,第 4 部分(4),然后这些信息将存储到数据库中,因为用户需是持久的且需参与事务的处理,如

用户在站点注册时,我们收集信息:他们的姓名、地址、电话号码、他们是消费者还是 PA 或者两者都是、信用卡信息、用户标识以及密码。然后这些信息将存储到数据库中。

因为用户需是持久的且需参与事务的处理,所以他们表现为一个实体 Bean,位于服务器端的 EJB 容器体内。HTML 页调用注册 Servlet。注册 Servlet 在客户端的 Web 容器中。它从请求对象中读取所有参数,并将其在用户对象中用 set 方法进行设置。分别地设置每个参数需要调用相应的 set 方法。由于我们不想在 User EJB 组件上使用远程方法调用,因此使用了一个叫做 UserDataBean 的客户端的 Bean。 这个 Bean 与客户端的 Servlet 位于同一个 Web 容器中。如下面的代码范例所示,该 Servlet 实例化了一个 UserDataBean ,并设置了其中的所有参数。

清单 1:注册 Servlet 设置 UserDataBean 中的数据

\** This is sample code for performTask method of Registration Servlet**\ 
public void performTask( 
   javax.servlet.http.HttpServletRequest req, 
   javax.servlet.http.HttpServletResponse res) { 
   //instantiate the Client Side Bean  
   UserDataBean user = new UserDataBean();      
   UserRegistersCommandBean dataCommand = new UserRegistersCommandBean(); 
   try { 
       /* 
       * Retrieve the form fields 
       */ 
       user.setAltphone(req.getParameter("alternatePhone")); 
       user.setCcname(req.getParameter("nameOnCreditCard")); 
       user.setCcnum(req.getParameter("creditCardNumber")); 
       user.setCctype(req.getParameter("creditCardType")); 
       // convert from the string to an SQL date type. 
       // Day doesn't matter so we use 28 in all cases 
       
       String dateString = 
           req.getParameter("expirationYear") 
               + "-" 
               + req.getParameter("expirationMonth") 
               + "-28"; 
       java.sql.Date date = java.sql.Date.valueOf(dateString); 
       user.setExpdate(date); 
       // 
       user.setFname(req.getParameter("firstName")); 
       user.setMidinit(req.getParameter("middleInitial")); 
       user.setLname(req.getParameter("lastName")); 
       user.setPassword(req.getParameter("password")); 
       user.setCity(req.getParameter("city")); 
       user.setStreet1(req.getParameter("address1")); 
       user.setStreet2(req.getParameter("address2")); 
       user.setTitle(req.getParameter("title")); 
       user.setTstamp(Long.toString(System.currentTimeMillis())); 
       user.setCctype(req.getParameter("creditCardType")); 
       user.setUserid(req.getParameter("userid")); 
       user.setState(req.getParameter("state")); 
       user.setZip(req.getParameter("zipCode")); 
       user.setEmail(req.getParameter("email")); 
       user.setPhone(req.getParameter("phone")); 
       user.setType(getUserType(req)); 
       /* 
       * Update database with new user information 
       */ 
       try { 
           dataCommand.setUser(user); 
           dataCommand.execute(); 
       } catch (Exception e) { 
        ......... 
       } 
       /* Create/update session object to record new user information */ 
       HttpSession session = null; 
       session = req.getSession(true); 
       session.putValue("user", user); 
       req.setAttribute("user", user); 
       String userType = user.getType(); 
       /* Forward to HTML View JSP */ 
       if (userType.equals(UserDataBean.CUSTOMER)) { 
           /* Forward to HTML View JSP */ 
           getServletConfig() 
               .getServletContext() 
               .getRequestDispatcher("pages/customer_main_menu.jsp") 
               .forward(req, res); 
       } else { 
           /* set the paErrandList in the session to null */ 
           com.goforit.ejb.Errand paErrandList = null; 
           session.putValue("paErrandList", paErrandList); 
           if (userType.equals(UserDataBean.PA)) { 
               /* Fill in PA Stuff */ 
               getServletConfig() 
                   .getServletContext() 
                   .getRequestDispatcher("pages/pa_profile_edit.jsp") 
                   .forward(req, res); 
           } else { 
               /* Forward to HTML View JSP */ 
               getServletConfig() 
                   .getServletContext() 
                   .getRequestDispatcher("pages/pa_profile_edit.jsp") 
                   .forward(req, res); 
           } 
       } 
   } catch (Throwable t) { 
    ........  
   } 
}

上一页  1 2 3 4 5 6 7  下一页

Tags:Go ForIt 记事

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接