Struts2.0框架深度解析:从介绍到实践

版权申诉
0 下载量 199 浏览量 更新于2024-07-02 收藏 1.24MB PPT 举报
"本资源为信息系统软件设计课程的第三章,重点讲解Struts2.0这一表现层技术,包括框架的介绍、Action的原理、Struts2.0的标签库和拦截器等内容,旨在深入理解Struts2.0在MVC模式下的应用和配置。" 在信息系统软件设计中,Struts2.0是一个重要的表现层框架,它的出现是WebWork与Struts1融合的结果。Struts2.0并非是Struts1的直接升级版,而是基于WebWork的技术基础,因此它拥有良好的稳定性和高性能。最新的版本是2.3.1.2,发布于2012年01月22日。 3.1 Struts2.0框架介绍 Struts2是一个遵循MVC模式的Java Web框架,它的设计理念是简化应用程序的开发。框架的核心是FilterDispatcher,这是一个过滤器,负责接收HTTP请求,并根据配置文件来调用相应的Action进行处理。Action是业务逻辑的执行者,它负责处理用户请求并生成模型数据。 3.2 Action知识 Action是Struts2中的关键组件,它实现了Action接口或扩展了ActionSupport类。Action负责接收来自用户的请求,执行业务逻辑,并通过Result返回到特定的视图。每个Action可以有多个结果,每个结果对应不同的视图。 3.3 Struts2.0标签 Struts2提供了一套丰富的标签库,这些标签使得在JSP页面上进行编程更加简洁,减少了Java代码的使用,提高了可读性和维护性。例如,s:form、s:textfield、s:submit等,它们可以直接绑定到Action的属性,方便数据的获取和提交。 3.4 Struts2.0拦截器 拦截器是Struts2中的一个重要特性,它允许在Action执行前后插入自定义逻辑。拦截器可以用来实现事务管理、日志记录、权限验证等功能。通过在struts.xml配置文件中定义拦截器栈,可以灵活地控制拦截器的执行顺序和行为。 3.5 Struts2体系架构和工作流程 Struts2的工作流程主要包括:用户发送HTTP请求,FilterDispatcher接收到请求后,通过ActionMapper确定Action,接着ActionInvocation负责调用Action,Action执行完成后,根据ActionResult返回的值,选择对应的视图进行渲染。整个过程中,拦截器可以介入并在适当的时候执行自定义逻辑。 Struts2的配置主要由两个文件组成:struts-default.xml是默认配置,定义了一些全局规则;而Struts.xml是应用的特定配置,用于定义Action、拦截器栈和结果视图等。 总结来说,Struts2.0通过提供强大的MVC支持、丰富的标签库和灵活的拦截器机制,极大地简化了Java Web应用的开发,提升了代码的可维护性和可扩展性。学习和掌握Struts2.0框架,对于信息系统软件设计的专业人士来说,是提升项目开发效率和质量的重要手段。

192.168.85.1 - - [26/Jun/2022:06:07:07 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 24 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 24 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 24 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 12925 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 12925 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 12925 192.168.85.1 - - [26/Jun/2022:06:07:11 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 200 14 192.168.85.1 - - [26/Jun/2022:06:08:06 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 15 192.168.85.1 - - [26/Jun/2022:06:08:16 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 1227 192.168.85.1 - - [26/Jun/2022:06:10:15 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 79 192.168.85.1 - - [26/Jun/2022:06:13:25 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 404 752 192.168.85.1 - - [26/Jun/2022:06:16:42 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 35 192.168.85.1 - - [26/Jun/2022:06:16:57 -0400] "GET //struts2-showcase/hhh.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:18:55 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 35 192.168.85.1 - - [26/Jun/2022:06:19:02 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 35 192.168.85.1 - - [26/Jun/2022:06:19:09 -0400] "GET //struts2-showcase/hhh1.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:19:34 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 400 192.168.85.1 - - [26/Jun/2022:06:20:37 -0400] "POST /struts2-showcase/index.action HTTP/1.1" 500 5 192.168.85.1 - - [26/Jun/2022:06:20:42 -0400] "GET //struts2-showcase/hhh1.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:20:46 -0400] "GET //struts2-showcase/hhh.jsp HTTP/1.1" 403 642 192.168.85.1 - - [26/Jun/2022:06:20:51 -0400] "GET /struts2-showcase/hhh.jsp HTTP/1.1" 403 642

2023-07-12 上传