Struts2.1+Spring3.0+JPA1.0 .pdf
根据提供的文件信息,我们可以归纳出以下关键知识点,主要聚焦于Struts2框架的学习与应用: ### Struts2框架概述 **Struts2** 是一个基于Java的开源Web应用程序框架,它继承了Struts1的优点,并引入了许多新特性,如拦截器、支持多种视图技术等。Struts2采用了MVC(Model-View-Controller)架构模式,能够帮助开发者构建清晰、可维护的Web应用程序。 ### 搭建Struts2运行环境 #### 步骤 1. **创建Web项目**:使用Eclipse或其他IDE创建一个新的Web项目。 2. **配置Struts2**: - 将Struts2的核心配置文件`struts.xml`复制到项目的`src`目录下。 - 配置文件示例: ```xml <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.devMode" value="true"/> <package name="default" namespace="/" extends="struts-default"> <action name="hello"> <result>/hello.jsp</result> </action> </package> </struts> ``` 其中,`struts.devMode`用于指定是否启用开发模式。如果设置为`true`,则在开发过程中对配置文件的修改无需重启服务器即可生效。 - **命名空间**:通过`namespace`属性可以指定每个包的命名空间,有助于组织和管理多个不同的功能模块。 3. **添加依赖库**: - 复制Struts2及其依赖的jar包至项目的`WEB-INF/lib`目录下。 - 通常包括Struts2核心库、插件库以及其他第三方库如FreeMarker或Velocity等。 4. **配置Web.xml**: - 添加Struts2的Filter配置,用于拦截所有请求并进行处理。 ```xml <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` ### Action详解 **Action** 是Struts2中负责业务逻辑处理的主要组件。当用户通过浏览器发送请求时,Struts2框架会根据配置找到对应的Action进行处理,并返回结果给前端显示。 #### Action的动态调用方法 - 可以通过URL参数的形式动态调用Action中的不同方法,如`/actionName!methodName.action`。 #### Action通配符(wildcard)的配置 - 使用通配符可以方便地管理多个相似的Action实例,简化配置。 ```xml <action name="user_*" class="com.example.UserAction"> <result>/userResult.jsp</result> </action> ``` #### Action的属性接收参数 - **在Action添加成员属性接受参数**:可以通过在Action类中定义成员变量来接收表单提交的数据。 ```java public class UserAction { private String username; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } } ``` - **ModelDriven接收参数**:使用ModelDriven接口可以让Action类更加专注于业务逻辑处理,而具体的表单数据由单独的模型对象管理。 ### 数据验证 - 在Struts2中,可以通过注解、XML配置文件或编写自定义验证器等方式实现数据验证。 - 示例: ```java @RequiredStringValidator(message = "Username is required") private String username; ``` ### 访问Web元素 - **ActionContext方式**:通过`ActionContext`可以访问到Session、Request等Web容器内的对象。 - **IoC(控制反转)**:通过注入的方式获取Web元素,这种方式更为推荐。 ```java private HttpServletRequest request; @Inject public void setRequest(HttpServletRequest request) { this.request = request; } ``` ### Struts2配置文件模块化 - 为了更好地管理和维护大型项目,可以将Struts2的配置文件分割成多个小文件,并通过`include`标签进行合并。 ```xml <include file="sub-config.xml"/> ``` ### Result类型 - Struts2支持多种Result类型,包括但不限于:dispatcher、redirect、chain等。 ```xml <result type="dispatcher">/success.jsp</result> ``` ### OGNL表达式语言 - **Object-Graph Navigation Language (OGNL)** 是一种强大的表达式语言,用于在Struts2框架中访问Java对象。 - 示例: ```jsp <s:property value="#request.userName"/> ``` ### Struts2标签库 - Struts2提供了一系列丰富的标签库,如`<s:property>`、`<s:textfield>`等,用于简化页面开发。 ```jsp <s:textfield name="username" label="Username"/> ``` ### 国际化 - Struts2支持国际化处理,可以通过资源文件来管理不同语言的文本。 ```properties # messages_zh_CN.properties welcome.message=欢迎来到我们的网站! ``` - 在Action或配置文件中指定使用的资源文件。 ### 自定义拦截器 - 拦截器是Struts2的重要组成部分之一,可以在Action执行前后进行一些预处理或后处理操作。 - 示例: ```java public class MyInterceptor implements Interceptor { @Override public String intercept(ActionInvocation invocation) throws Exception { // Pre-processing logic String result = invocation.invoke(); // Post-processing logic return result; } } ``` 以上知识点涵盖了Struts2框架的基本概念、搭建步骤以及核心功能的应用,对于初学者来说是一个很好的入门指南。随着实践经验的积累,开发者还可以探索更多高级特性,如类型转换、文件上传下载、防止重复提交等功能,进一步提高Web应用的质量和性能。
剩余38页未读,继续阅读
- zhangy1106152014-12-12没什么实质内容。
- solokings2013-08-12骗人的,大家不要下,只有struts2的一点内容
- shiww02012-11-29很好很好的书
- 粉丝: 3
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Cisco 思科 CP-7945g 7965g sip模式固件 9.4.2
- 贪吃蛇方案设计的方法.zip
- 微信支付账单(20240731-20240731).zip
- minio20240920.tar
- 集成供应链(Integrated Supply Chain,ISC)核心业务流程再造,华为的最佳实践
- zabbix-server-pgsql-7.0-centos-latest.tar
- zabbix-web-apache-pgsql-7.0-centos-latest.tar
- Altium Designer 24.9.1 Build 31 (x64)
- 基于JAVA的人机对弈的一字棋系统设计与实现课程设计源代码,极大极小搜索和α-β搜索算法
- 电子回单_2024092100085000842531409053050071685353.pdf