浅谈对SSH的理解

news/2024/7/7 20:17:47

ssh框架指的是Spring Struts2 and Hibernate,Spring可以理解为绿草丛,负责通过配置文件或注解管理组件之间的依赖关系,并提供了高效的事务管理功能,其出色的ioc和aop面向切面编程可以织入增强,并且具有很多spring注解可以减轻配置文件的负担,使得程序组件的依赖程度大大降低,成功实现了组件解耦和无损替换,并且由于Spring框架支持和其他页面交互框架如Struts,数据持久层框架如Hibernate具有很好的兼容性,因此在大型java EE企业框架中起着至关重要的作用。Struts2框架主要负责主持页面交互,基于mvc设计模式的struts2框架通过业务action可以处理不同的客户端请求,并且支持耦合和解耦两种方式在重写父类ActionSupport类的execute方法或其他处理请求的方法中轻松调用Servlet API,实现客户端服务器的通信,返回结果字符串,在配置文件中将结果字符串和jsp等view层的页面进行匹配,达到比较好的交互效果。同时,由于struts2带有强大的对象图导航语言ognl和拦截器interceptor.可以在提交表单时,自动对业务action中的和name属性值相同的action属性进行装配,由于业务action位于ognl的值栈valuestack中,因此在页面提交到服务器后会自动对匹配的属性进行自动装配autowired,此时ognl中的内置类型转换器就可以在装配时自动进行类型转换(因为默认提交的表单数据都是字符串类型),并且内置拦截器或自定义拦截器可以在业务action执行前后执行,因此struts2框架主要负责页面展示和交互。再来说说我们的数据持久层框架Hibernate,这是一个优秀的开源orm框架。它最大的特点就是在访问操作数据库中的数据时,可以摆脱对sql语句的束缚。它是基于面向对象的,因此hibernate自己的查询语言HQL是完全依据oop思想编写。在配置文件中配置好数据源和映射关系后,程序会根据组件之间的关联关系,如一对一,一对多,多对一,多对多等关联关系(前提成功配置了cascade属性和inversd属性以及组件之间的关联关系,也可以通过注解实现)自动生成sql语句操作数据。


http://lihuaxi.xjx100.cn/news/1863255.html

相关文章

[算法思考记录]力扣1094.拼车 C++【差分数组】

Problem: 1094. 拼车 Code /* 相当于在一条路上开车&#xff0c;乘客在某个时间点上车&#xff0c;他们会影响在下车之前的路程的车载人数。很明显这是差分的做法。*/ class Solution { public:bool carPooling(vector<vector<int>>& trips, int capacity) {v…

软件验收计划书

软件项目验收计划的作用主要有以下几点&#xff1a; 确保项目质量&#xff1a;通过项目验收&#xff0c;客户或相关方可以对项目的成果进行全面、系统的评估&#xff0c;以确保项目达到预期的质量标准。 发现和解决问题&#xff1a;在项目开发过程中&#xff0c;难免会存在一些…

法律情境扮演、逆向推理文字游戏、AIGC创作……见证AI极致生产力!

飞桨星河社区&#xff0c;以飞桨和文心大模型为核心&#xff0c;集开放数据、开源算法、云端GPU算力及大模型开发工具于一体&#xff0c;在大模型范式下&#xff0c;为开发者提供模型与应用的高效开发环境。在成立的5年以来&#xff0c;已汇集660万AI开发者&#xff0c;覆盖深度…

Kubernetes学习笔记-Part.07 Harbor搭建

目录 Part.01 Kubernets与docker Part.02 Docker版本 Part.03 Kubernetes原理 Part.04 资源规划 Part.05 基础环境准备 Part.06 Docker安装 Part.07 Harbor搭建 Part.08 K8s环境安装 Part.09 K8s集群构建 Part.10 容器回退 第七章 Harbor搭建 Docker-Compose是用来管理容器的…

Linux:dockerfile编写搭建mysql练习(10)

搭建了httpyum仓库 Dockerfile 主要文件 基于centos基础镜像 centos.repo yum仓库 db_init.sh mysql初始化脚本 run.sh 启动脚本 vim Dockerfile写入FROM centosMAINTAINER teacher lyRUN mkdir /etc/yum.repos.d/bak ; mv /etc/yu…

AntDesign去国际化 | router页面显示问题

删除 Ant Design Pro 中的【国际化】模块报错&#xff1a;Environment key “es2022“ is unknown 问题描述 使用 npm run i18n-remove 运行 “i18n-remove”: “pro i18n-remove --localezh-CN --write” 删除【国际化】模块时出现如下报错&#xff1a; 问题分析 报错的大致…

【论文解读:EXPLANING AND HARNESSING ADVERSARIAL EXAMPLES】

论文解读&#xff1a;EXPLANING AND HARNESSING ADVERSARIAL EXAMPLES 摘要引言相关工作对抗样本的线性解释非线性模型的线性扰动线性模型的对抗训练VS权重衰减深度网络的对抗训练不同模型的能力为什么对抗样本具有泛化性&#xff1f;可能的假设总结和讨论 摘要 许多机器学习模…

初试占比7成!只考一门数据结构+学硕复录比1:1的神仙学校,大连交通大学考情分析

大连工业大学 考研难度&#xff08;☆&#xff09; 内容&#xff1a;23考情概况&#xff08;拟录取和复试分析&#xff09;、院校概况、24专业目录、23复试详情、各专业考情分析、各科目考情分析。 正文1014字&#xff0c;预计阅读&#xff1a;3分钟 2023考情概况 大连工业…