深入理解Struts2:Action与Result原理及实战

需积分: 0 0 下载量 126 浏览量 更新于2024-07-25 收藏 2.16MB PDF 举报
"java_struts_day03.pdf" 本文件主要关注Java Struts框架的第三天学习内容,由达内IT培训集团提供。课程涵盖了Struts2框架中的关键概念,包括StrutsAction的核心、Result的基本原理以及相关的课堂练习。以下是详细的知识点解析: 1. StrutsAction核心 - Action基本原理: Struts2中的Action是处理用户请求的核心组件。每个HTTP请求都会创建一个全新的Action实例,这意味着Action是线程安全的,无需额外处理线程同步问题。Action对象会被放置在ValueStack的栈顶,便于视图层如JSP页面进行数据访问。 - 访问Session和Application: 有多种方式可以访问Session和Application。可以直接通过ActionContext获取上下文,然后从中获取Session或Application对象。例如,`ActionContext ctx = ActionContext.getContext(); Map session = ctx.getSession();` 或 `Map application = ctx.getApplication();` 在视图层,可以使用Struts标签 `<s:property value="#session"/>` 或 `<s:property value="#application"/>` 显示数据。另外,为了更好地管理Session,可以实现`SessionAware`接口,这将自动把Session映射到Action的属性中。 2. Result基本原理 - Result的概念与功能: Result是Struts2中用于控制请求响应过程的组件,它可以决定处理完Action后转向哪个页面或执行哪些操作。Result具有强大的灵活性,支持多种类型,如Redirect、Forward、Stream等,可以根据不同需求配置不同的Result类型来完成视图的跳转或数据的处理。 3. 课堂练习 - 实战演练: 学员需要完成一系列的编程任务,包括用户登录、注册功能的实现,以及增删改查的基础CRUD操作。这些练习旨在巩固对Struts2框架的理解,提高实际开发能力。 案例分析: - 案例1:Action演示:此案例可能涉及创建一个简单的Action类,实现execute方法,并观察Action如何处理请求和返回结果。 - 案例2:属性注入:展示了如何使用Struts2的依赖注入特性,将外部资源如Service层的对象注入到Action中,简化代码并提高可维护性。 - 案例3:Result演示:可能通过配置不同的Result类型,演示如何控制请求响应后的视图跳转。 - 案例4:综合练习01:这是一个综合性练习,可能包含登录、注册和CRUD操作的完整流程,要求学员运用所学知识实现一个功能完备的系统模块。 通过这些知识点的学习和案例实践,学员能够深入理解Struts2框架的工作机制,熟练掌握Action和Result的使用,以及如何在实际项目中应用这些技术。