快速业务通道

Struts开发指南之工作流程 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
request);   MessageResources messages = getResources(request);   User user = null;   // Validate the request parameters specified by the user   ActionErrors errors = new ActionErrors();   String username = (String)   PropertyUtils.getSimpleProperty(form, "username");   String password = (String)   PropertyUtils.getSimpleProperty(form, "password");   UserDatabase database = (UserDatabase)   servlet.getServletContext().getAttribute(Constants.DATABASE_KEY);   if (database == null)    errors.add(ActionErrors.GLOBAL_ERROR,    new ActionError("error.database.missing"));   else {    user = getUser(database, username);    if ((user != null) && !user.getPassword().equals(password))     user = null;    if (user == null)     errors.add(ActionErrors.GLOBAL_ERROR,     new ActionError("error.password.mismatch"));   } // Report any errors we have discovered back to the original form if (!errors.isEmpty()) {   saveErrors(request, errors);   return (mapping.getInputForward()); } // Save our logged-in user in the session HttpSession session = request.getSession(); session.setAttribute(Constants.USER_KEY, user); if (log.isDebugEnabled()) {   log.debug("LogonAction: User ''" + user.getUsername() + "'' logged on in session " + session.getId()); } // Remove the obsolete form bean if (mapping.getAttribute() != null) {   if ("request".equals(mapping.getScope()))    request.removeAttribute(mapping.getAttribute());   else    session.removeAttribute(mapping.getAttribute()); } // Forward control to the specified success URI return (mapping.findForward("success")); } /** * Look up the user, throwing an exception to simulate business logic * rule exceptions. * * @param database Database in which to look up the user * @param username Username specified on the logon form * * @exception ModuleException if a business logic rule is violated */ public User getUser(UserDatabase database, String username) throws ModuleException { // Force an ArithmeticException which can be handled explicitly if ("arithmetic".equals(username)) {   throw new ArithmeticException(); } // Force an application-specific exception which can be handled if ("expired".equals(username)) {   throw new ExpiredPasswordException(username); } // Look up and return the specified user return ((User) database.findUser(username)); } }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号