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币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于深度学习的交通标志识别系统(django)源代码(完整前后端+mysql+说明文档+LW).zip
- 基于Maixcam下使用的控制舵机算法 只是示例,大家可以先搞定硬件再来使用
- BERNESE5.4中生成DE421.EPH所需的ascp文件时间间隔2050到2200
- BERNESE5.4中生成DE421.ERH所需的ascp文件从1900到2050的时间间隔
- 前端算法实战视频课程下载
- 2024121972kZUiEq.zip
- 动态仓储:vue+spring boot+sql
- 国家电网电力公司大型施工机具及安全工器具管理系统智能库房建设方案书
- 周立功CAN分析仪最新软件备份
- Qt 全流程实战企业级项目 - 云对象存储浏览器