Struts2配置教程:指定请求后缀与开发环境搭建

需积分: 9 0 下载量 43 浏览量 更新于2024-08-18 收藏 4.09MB PPT 举报
"指定Struts2处理的请求后缀" 在Web开发领域,Struts2是一个非常流行的MVC框架,它是基于WebWork2发展而来的。Struts2与初代Struts1虽然名称相似,但在实际使用中两者存在显著差异。Struts2的主要优势在于其非侵入式设计、拦截器机制、类型转换器、多样的表现层支持、输入验证以及全面的国际化资源管理。 首先,Struts2的非侵入式设计意味着开发者不必紧密依赖Servlet API或Struts API,这增加了代码的可维护性和灵活性。开发者可以更自由地选择和替换框架组件,而不受特定API的限制。 其次,Struts2引入了拦截器(Interceptor)概念,这使得AOP(面向切面编程)得以实现。拦截器可以在请求处理前、后执行额外的操作,如登录检查、性能监控、异常处理等,极大地增强了框架的功能性。 再者,Struts2自带的类型转换器(Type Converter)能够自动将请求参数转换为所需的Java类型,简化了数据处理的复杂性。这对于处理用户输入和绑定到模型对象特别有用。 此外,Struts2支持多种视图技术,包括JSP、FreeMarker、 Velocity等,这允许开发者根据项目需求选择最适合的表现层工具。 对于输入验证,Struts2允许对特定方法进行验证,确保数据的准确性。这样可以提前发现并处理错误,提高用户体验。 最后,Struts2的国际化(i18n)支持非常全面,可以管理全局、包级别和Action级别的资源文件,方便多语言环境的应用开发。 在搭建Struts2开发环境时,需要完成以下步骤: 1. 创建一个新的Web项目,例如名为“struts2”。 2. 将必要的Struts2库文件(jar包)导入到项目的lib目录下。这些通常包括核心库、依赖的Servlet容器库等。 3. 编写Struts2的核心配置文件“struts.xml”,这个文件定义了Action、拦截器链以及其他配置信息。 4. 在“web.xml”文件中配置Struts2的前端控制器(FilterDispatcher或StrutsPrepareAndExecuteFilter),以便启动Struts2框架。 在示例代码中,`OrderListAction` 类扩展了 `Action` 类,并实现了 `execute` 方法,这是Struts2中的核心方法,用于处理请求。`execute` 方法接收 `ActionMapping`、`ActionForm`、`HttpServletRequest` 和 `HttpServletResponse` 参数,这四个参数在Struts1中是常见的,但在Struts2中,Action类通常会直接继承自 `ActionSupport` 类,这样可以获得更多的内置功能,如国际化和错误处理支持。 Struts2通过其强大的特性和灵活性,成为了Java Web开发中的一个重要选择。它简化了许多常见任务,同时也提供了足够的扩展性来适应各种复杂的需求。

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 上传