首页 > 其他分享 >ssh框架原理及流程

ssh框架原理及流程

时间:2023-11-30 15:31:34浏览次数:34  
标签:缓存 框架 对象 流程 ActionForm hibernate ssh 组件

1.hibernate工作原理:

读取并解析配置文件

读取并解析映射信息,创建sessionFactory

打开session

创建事务transaction

持久化操作

提交事务

关闭session

关闭sessionFactory

   为什么使用:

对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码

是一个基于jdbc的主流持久性框架,一个优秀的ORM实现,很大程度上简化了DAO层的编码工作

使用Java反射机制,而不是字节码增强程序来实现透明性

是个轻量级框架,映射的灵活性很出色,支持各种关系数据库,从一对一到多对多的各种复杂关系

2.hibernate是怎么实现延迟加载的?

hibernate2延迟加载实现:a.实体对象 b.集合

hibernate3提供了属性的延迟加载功能

当hibernate在查询数据时,数据并没有存在内存中,当程序真正对数据的操作时,对象才存在于内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能

3.hibernate中怎样实现类之间的关系

类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many

4.说下hibernate的缓存机制

内存缓存存在hibernate中又叫一级缓存,属于应用事务级缓存

二级缓存:a)应用及缓存 b)分布式缓存 c)第三方缓存的实现

5.struts工作机制:

工作流程:在web应用启动时,就会加载初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放在各种配置对象。

当ActionServlet接收到一个客户请求时,将执行如下流程:

检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;

如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存在ActionForm对象中;

根据配置信息决定是否需要表单验证,如果需要验证,就调用ActionForm的validate()方法;

如果ActionForm的validate方法返回null或返回一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功;

ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute方法;

Action的execute方法返回一个ActionForward对象,ActionServlet在把客户请求转发给ActionForward对象指向的JSP组件;

ActionForward对象指向JSP组件生成动态网页,返回给客户;

为什么要用struts:

JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Struts便应运而生

基于Struts开发的应用由3类组件构成:控制器组件、模型组件、视图组件

6.struts是什么?

struts1是基于JSP和servlet的一个开源的Web应用框架,使用的是MVC的设计模式

struts2是基于webwork技术的框架,是sun和webwork公司联手开发的一个功能非常齐全的框架

struts2和struts1没有任何关系,是一个全新的框架

7.spring是什么?

spring是一个集成了许多第三方框架的大杂烩,其核心技术是IOC(控制反转,也称依赖注入)和AOP(面向切面编程)

AOP 让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用 AOP 后,公共服务 (比 如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。

IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straight construction),每一个对象都是用其协作对象构造的。因此是由容器管理协作对象(collaborator)。

Spring即使一个AOP框架,也是一IOC容器。 Spring 最好的地方是它有助于您替换对象。有了 Spring,只要用 JavaBean 属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。

8.hibernate是什么?

hibernate是基于ORM对象关系映射(完成对象数据到关系数据映射的机制)实现的,做数据持久化的工具

9.JSF是什么?

JavaServer Face是基于组件的web开发框架,跟sturts差不多的框架


标签:缓存,框架,对象,流程,ActionForm,hibernate,ssh,组件
From: https://blog.51cto.com/u_16207938/8631886

相关文章

  • 龙蜥操作系统 升级 openssh
    龙蜥8.8openssh升级步骤1.查看目前openssh版本rpm -qa|grep openssh2.安装rpm包制作需要的工具dnf install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel libXt-devel gtk2-devel make perl -ydnf install imake  -y3.官网下载openssh源码包ht......
  • 流程控制
    流程控制语句程序是由语句构成,流程控制方式有顺序结构分支结构循环结构最简单最常用的就是顺序结构,即语句从上至下一一执行【一】顺序结构顺序结构是指按照代码书写的顺序,一句一句执行,没有跳过、重复【二】分支结构分支结构根据条件的成立与否选择性的执行不同的......
  • iOS开发_UIKit框架使用总结
    1、经常使用的1.1基础UIView、UILabel、UIImage、UIColor、UIImageView、UITextField、UIButton、UIFont1.2列表UIScrollView、UITableView、UICollectionView、UITextViewUICollectionViewCell、UITableViewCell1.3其他UIViewController2、偶尔使用的2.1功能专用UIPickerView(......
  • 如何使用Selenuim浏览器自动化框架实现自动登录社交媒体账号和自动发布文章
    在当今社交媒体盛行的时代,程序员们经常需要在不同的平台上自动执行一些任务,比如登录社交媒体账号并发布文章。本文将介绍如何利用Selenium浏览器自动化框架实现这一任务,同时结合万媒易发多平台内容同步助手,提高文章发布的效率。技术栈为了实现自动登录社交媒体账号和自动发布文......
  • tita升级|考核流程支持自定义配置
    升级详情:“推荐你关注一下TitaOKR“1.考核流程中新增指标制定与确认流程Q1:在哪新增?小T:在考核模板的考核流程设置中,指标制定与指标确认流程节点有两种添加方式:1)考核模板中新增固定流程三,固定流程三为考核流程为“指标制定+指标确认+执行期+员工自评+同事评价+上级评价+绩效校......
  • (一)极速开发框架 - Ruoyi
    (一)极速开发框架-Ruoyi:https://zhuanlan.zhihu.com/p/484074325 Ruoyi框架【permission.js】【request.js】【store=>modules=>permission.js】【vite.config.js】:https://blog.csdn.net/m0_58293192/article/details/128440513?ops_request_misc=%257B%2522request%255Fid%2522......
  • 三大流程控制 分支控制if语句
    概述:顺序控制:没有加控制,默认从上到下,从左到右的执行顺序分支控制:根据不同的情况,来执行不同的语句循环控制:根据用户的输入,反复执行某段代码顺序控制:听其名而知其意,让程序可以顺序的执行分支控制让程序有选择的执行,分支控制的三种:1、单分支 2、双分支3、多分支if分支控制......
  • java集合框架(三)ArrayList常见方法的使用
    @[toc]##一、什么是ArrarListArrayList是Java中的一个动态数组类,可以根据实际需要自动调整数组的大小。ArrayList是基于数组实现的,它内部维护的是一个Object数组,默认初始化容量为10,当添加的元素个数超过了当前容量时,会自动扩容。ArrayList也被广泛用于Java中的集合框架,例如Java......
  • 流程控制
    循环结构初始化语句循环条件循环体迭代语句while循环[init_statements]whiletest_expression:body_statements[iteration_statements]使用while循环遍历列表和元组a_tuple={'fkit','crazyit','sdfghj'}i=0whilei<len(a_tuple):print(......
  • python基础之流程控制语句
    流程控制#控制事物的执行流程 流程控制,是计算机运算领域的用语,意指在程序运行时,个别的指令(或是陈述、子程序)运行或求值的顺序。三大流程控制结构:1.顺序结构:代码从上到下,全部执行2.分支结构:判断语句,代码有选择性的执行3.循环结构:重复执行某......