Android+ssh项目综合实践
Android+SSH综合项目实践 在我们集成struts2+spring+hibernate,也就是所谓的S2SH,不可避免的要引入struts2-spring- plugin.jar插件。当引入这个插件后,原先所struts创建的action类,交给了spring创建。在struts2-spring- plugin.jar中有一个struts-plugin.xml,里面声明了action类由spring工厂创建。在struts2插件文档里,这样写着“The Spring Plugin works by overriding the Struts ObjectFactory to enhance the creation of core framework objects。”这个插件重写了struts的对象工厂,当创建一个action类时,它会根据struts的配置文件的class属性的值与 spring配置文件中的id属性的值相匹配。如果没有与之相匹配,将会像没有使用这个插件前一样创建,然后由spring自动装配。 【Android+SSH 项目综合实践】是一个典型的Java后端开发集成案例,主要涉及的技术栈包括Android、Struts2、Spring和Hibernate。在这个项目中,Android客户端与基于SSH(Struts2、Spring、Hibernate)的服务器端进行交互,实现数据的交换和业务逻辑处理。 在SSH框架集成中,Struts2负责表现层的管理,Spring则处理业务逻辑和服务层的事务,而Hibernate用于持久化数据到数据库。特别地,当我们在项目中引入`struts2-spring-plugin.jar`插件后,Struts2的Action类不再由Struts本身创建,而是交由Spring容器管理。`struts-plugin.xml`是Struts2插件的核心配置文件,它声明了Action类的创建将由Spring工厂来执行。这个插件的工作原理是通过重写Struts的ObjectFactory,使得在创建核心框架对象时,如果发现Action类的`class`属性与Spring配置文件中的`id`属性相匹配,那么就会由Spring来实例化并自动装配该Action。如果不匹配,Struts会按照未使用插件的方式创建Action。 在搭建SSH框架环境时,首先要进行的是Struts2框架的搭建: 1. 创建Web工程,并添加Struts2所需的JAR包。 2. 在`web.xml`中配置Struts2的Filter,以启动Struts2。 3. 创建`struts.xml`配置文件,定义Action及其行为。 4. 设计项目的包结构,包括DAO层、Service层、Action层、ORM层(数据模型和实体类)、Interceptor层(Struts拦截器)和Util层(工具类)。 接下来是Spring框架的添加: 1. 使用MyEclipse的Spring工具添加Spring框架,创建`applicationContext.xml`配置文件。 2. 添加Spring的基本包,包括必要的依赖如AspectJ和Annotation相关的JAR。 3. 引入`struts2-spring-plugin.jar`,这是Struts2与Spring集成的关键,它使得Spring能够管理和初始化Action。 配置Struts2和Spring的结合: 1. 确保Struts2配置正确,包括Struts相关的JAR包、`struts.xml`和`web.xml`的配置。 2. 引入`struts2-spring-plugin.jar`,并在Spring配置文件中指定Action的bean定义,使得Spring能够接管Action的生命周期。 数据库设计方面,通常会根据项目需求来创建数据库表,确保字段和约束合理,这里以MySQL为例,需要设置正确的字符集(例如UTF-8),并建立数据库、表及外键约束。 在Android客户端,我们需要实现与SSH服务器的通信,这通常通过HTTP请求或WebSocket等网络协议来实现,客户端会发送请求到服务器,服务器通过SSH框架处理请求,执行业务逻辑,最后将结果返回给Android客户端。 总结来说,这个项目综合实践涵盖了Android客户端开发与SSH后端服务的集成,涉及到了前端与后端的通信、后端框架的搭建和配置、数据库设计以及Spring对业务对象的管理。这种集成方式有助于提高代码的可维护性和解耦性,使得各层职责分明,便于团队协作和后期扩展。
剩余21页未读,继续阅读
- woaiaudi2014-01-06文档写的比较详细 技术文档
- snowbird1002013-12-21技术文档,不是项目需求文档,我误会了。不过这些技术现在有更好的方式整合了
- jiazhuo682013-11-11还不错,正在组这方面……
- j2eesungc2013-06-24文档写的比较详细,有效果图就更好了
- 仇昱2019-04-18非常不错的资料,对我很有帮助。谢谢LZ分享。
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助