<ccid_code>package action;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionError;import org.apache.struts.action.ActionErrors;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.action.ActionServlet;import bussness.UserInfoBo;import entity.UserInfoForm;public final class LogonAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { UserInfoForm userInfoForm = (UserInfoForm) form; //从web层获得用户名和口令 String username = userInfoForm.getUsername().trim(); String password = userInfoForm.getPassword().trim(); //声明错误集对象 ActionErrors errors = new ActionErrors(); //校验输入 if(username.equals("")){ ActionError error=new ActionError("error.missing.username"); errors.add(ActionErrors.GLOBAL_ERROR,error); } if(password.equals("")){ ActionError error=new ActionError("error.missing.password"); errors.add(ActionErrors.GLOBAL_ERROR,error); } //调用业务逻辑 if(errors.size()==0){ String validated = ""; try{ UserInfoBo userInfoBo=new UserInfoBo(); validated =userInfoBo.validatePwd(username,password); if(validated.equals("match")){ //一切正常就保存用户信息并转向成功的页面 HttpSession session = request.getSession(); session.setAttribute("userInfoForm", form); return mapping.findForward("success"); } } catch(Throwable e){ //处理可能出现的错误 e.printStackTrace(); ActionError error=new ActionError(e.getMessage()); errors.add(ActionErrors.GLOBAL_ERROR,error); } } //如出错就转向输入页面,并显示相应的错误信息 saveErrors(request, errors); return new ActionForward(mapping.getInput()); } }</ccid_code> |
相关推荐
Struts原理与实践(1) - Java - New - JavaEye论坛.mht
### Struts原理与实践 #### 一、Struts框架概览 **Struts**框架,作为Java Web开发领域内的一款成熟且广泛应用的框架,自问世以来便受到开发者们的青睐。Struts框架的核心设计理念在于实现MVC(Model-View-...
罗会波的《Struts原理与实践》这本书深入浅出地解析了Struts的核心概念和技术,帮助开发者全面理解和掌握这一框架。 1. **MVC设计模式**:Struts将Web应用的业务逻辑、数据模型和用户界面分离,使得开发者可以独立...
在本资料"Struts原理与实践(五)"中,我们将深入探讨Struts的核心概念、工作流程以及实际应用中的关键点。 首先,Struts框架的基础是MVC模式。Model代表业务逻辑,View负责显示,Controller则协调这两者。在Struts...
Struts是Java Web开发中的一个开源框架,由Apache软件基金会维护。它主要基于Model-View-Controller(MVC)设计模式,旨在简化企业...通过阅读《Struts原理与实践(一)》PDF文档,可以更深入地了解和掌握Struts框架。
本文主要讨论Struts中JDBC的工作原理以及在实践中的基本配置。 一、JDBC工作原理 JDBC是Java平台提供的一个标准API,它允许Java应用程序与各种类型的数据库进行通信。JDBC的核心包括两个包:java.sql和javax.sql。...
6. ActionServlet与RequestDispatcher:Struts的ActionServlet接收请求后,通过RequestDispatcher将请求转发给相应的Action,Action执行完毕后,再通过Dispatcher返回响应到合适的视图。 通过Struts,开发者可以...
提供的文档可能涵盖了这些主题,从"struts原理与实践(1).doc"到"struts原理与实践(7).doc"逐步深入,"Java学习阶段需研究的开源项目.doc"则可能介绍了一些相关的Java学习资源。阅读这些文档将有助于全面理解和掌握...
在"Struts原理与实践(二)"这个主题中,我们将深入探讨Struts框架的核心概念、工作原理以及实际应用。 **1. Struts框架的核心组件** - **ActionServlet**: Struts框架的核心控制器,负责接收HTTP请求,解析请求...
在本文中,我们将深入理解Struts的基本原理,并通过一个简单的登录示例来演示其工作流程。 首先,我们需要了解MVC模式。在MVC架构中,Model负责处理数据和业务逻辑,View负责展示用户界面,而Controller则作为两者...
Struts 是一个开源的Java Web应用程序框架,专为构建企业级Web应用而设计。它遵循Model-View-Controller (MVC)设计模式,旨在...通过学习和实践Struts,开发者可以更好地理解和掌握Web应用的架构设计,提升自身技能。
Struts 2继续发展,提供了与现代开发工具和实践的集成,如RESTful API支持、AJAX集成等。 通过深入理解Struts的工作原理,开发者可以更好地利用其特性,提高开发效率,同时也能为将来学习其他MVC框架打下坚实的基础...
Struts 是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它主要负责处理用户请求,管理业务逻辑,以及与视图层的交互。在本篇文章中,我们将深入探讨如何利用Struts 实现一个文章发布系统,...
在本文中,我们将深入探讨Struts2的原理和实践,以一个简单的登录示例来阐述其关键组件和工作流程。 首先,我们来看一下开发Struts2应用的基本步骤: 1. **定义视图(Views)**:视图通常由JSP页面组成,负责展示...
2. **.xml配置文件**: 主要有两个XML文件,`validator-rules.xml`和`validation.xml`。前者定义了校验规则,后者则指定需要校验的表单(forms)及其组件。 3. **资源绑定**: 提供本地化的标签和错误消息。这些消息...
Struts 是一个流行的Java Web开发框架,主要用于...在实践中,开发者需要关注字符集的转换,确保在客户端和服务器之间传输数据时不会丢失或混淆信息。同时,合理地组织和管理资源文件,可以使代码更整洁,更容易维护。
Struts 是一个经典的Java Web开发框架,主要用于构建MVC(模型-视图-控制器)架构的应用程序。在国际化(i18n)编程方面,Struts 提供了强大的支持,使得应用能够根据用户所在地区和语言环境显示相应的内容。本文将...
其中,ActionContextCleanUp过滤器是可选的,但它在Struts2与其他框架(如SiteMeshPlugin)的集成中扮演了重要角色,确保了环境的干净与隔离,防止不同请求之间的数据污染。 #### 3. FilterDispatcher调用 接下来...