Struts2入门与核心概念解析

需积分: 9 0 下载量 146 浏览量 更新于2024-09-14 收藏 765KB PDF 举报
"牧紫小岩的Struts2学习笔记主要探讨了Struts2与传统Struts1在Action创建模式上的差异,以及Struts2中常量加载的顺序。Struts2更倾向于每次请求创建新的Action实例,以实现更好的资源管理和隔离。理解Struts2的这些特性对于开发者来说至关重要。 在Struts2中,常量的查找顺序包括:struts-default.xml、struts-plugin.xml、struts.xml、struts.properties和web.xml。这些配置文件的优先级决定了在处理请求时使用的默认设置。 访问Web内置对象的方式多种多样,包括通过ActionContext.getContext()获取Map,实现RequestAware、SessionAware、ApplicationAware接口获取相关的Http对象,以及通过ServletActionContext.getRequest()获取HttpServletRequest对象。此外,实现ServletRequestsAware接口也能直接访问Http相关对象。 Result类型的多样性是Struts2另一个关键部分,如dispatcher用于转发请求,redirect用于重定向,chain用于链式调用其他Action,redirectAction用于跳转到另一个Action并执行。全局结果集(global-result)则提供了一种统一管理处理流程的方法。 讨论了MVC设计模式的应用,对比了Model1(JSP主导,Controller和View混杂)和Model2(Servlet作为Controller,分离了Controller和View)。Struts2遵循Model2的思想,其工作流程可以总结为:用户请求被Struts2核心Filter拦截,然后通过Servlet处理业务逻辑,最终将结果传递给JSP进行渲染。 Struts2的启动流程中,web.xml中的StrutsPrepareAndExecuteFilter扮演着核心角色,它拦截所有用户请求,确保框架能够参与到Web应用的生命周期中。理解这一核心过滤器的工作原理有助于开发者更好地集成和优化Struts2在项目中的应用。 这篇笔记提供了深入理解Struts2框架的关键概念,包括其Action的生命周期管理、配置文件的优先级、内置对象的访问方式、Result类型的使用以及MVC模式的具体实现。这对于希望学习和使用Struts2进行Web开发的人员来说是一份宝贵的参考资料。"