1 应用服务器有哪些:weblogic,jboss,tomcat

2 Hibernate优于JDBC的地方

1)对jdbc访问数据库进行了封装,简化了数据访问层的重复代码

2)Hibernate 操作数据库是面向对象的操作

3介绍下Struts2的工作原理

1 读取配置文件。加载struts控制器

2 用户请求 用户提交表单或调用URL向WEB应用程序服务器提交请求,请求的数据用HTTP协议上传给WEB服务器。

3 通过struts控制器进行处理

4 经过一系列的拦截器处理

5 进行业务逻辑的处理

6 响应给用户JSP将结果展现给用户

为什么要用?

1)JSP,Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的烦乱

2)基于Struts开发的应用:

不用考虑公共问题

专心在业务实现上

结构统一,易于学习、维护

新手也可以写出好程序

4 struts框架提供了哪些辅助功能

1)自动收集数据(成员变量)

2)支持类型转换

3)国际化

4)异常处理

5)标签

5 hibernate的工作原理

1 读取并解析配置文件

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

3 打开Session

4 创建事务Transaction

5 持久化操作

6 提交事务

7 关闭Session

8 关闭SessionFactory

为什么要用?

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

2 Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作

3 hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。

6 hibernate的对象状态有哪几种,并简单介绍下

1临时状态:内存对象,并没有保存在数据库

2 持久化状态:已经保存在数据库并纳入了session缓存中

3 游离状态:已经保存在数据库中,但没有纳入session缓存中

7 J2EE 共有23种设计模式,说出其中几个常用的:

工厂模式(Factory)单例模式(Singleton)

适配器模式(Adapter) 代理模式(Proxy)

模板方法模式(Template Method)

8 spring 的优点

1.降低了组件之间的耦合性,实现了软件各层之间的解耦

2.可以使用容易提供的众多服务,如事务管理,消息服务等

3.容器提供单例模式支持

4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能

5.容器提供了众多的辅助类,能加快应用的开发

6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等

7.spring属于低侵入式设计,代码的污染极低

8.独立于各种应用服务器

9.spring的DI机制降低了业务对象替换的复杂性

10.spring的高度开发性,并u强制应用完全依赖于spring,开发者可以自由选择spring         的部分或全部。

9什么是DI机制

依赖注入(Dependecy Injection)和控制反转(Inversion of Control)是同一个概念,

具体的讲:当某个角色

需要另一个角色协助的时候,在传统的程序设计过程中,通常调用者来创建被调用者的实例。但在spring中 创建被调用者的工作不再有调用者来完成,因此成为控制反转。创建被调用者的工作由spring来完成,然后注入调用者 因此称为依赖注入。

Spring以动态灵活的方式来管理对象,注入的两种方式,设置注入和构造注入。

设置注入的优点:直观,自然

构造注入的优点:可以在构造器中决定依赖关系的顺序。

10 什么是AOP

面向切面编程(AOP)完善spring的依赖注入(DI),面向切面编程在spring中主要表现为两个方面

1 面向切面编程提供声明式事务管理

2 spring支持多用户自定义的切面

面向切面编程(AOP)是对面向对象编程(oop)的补充,

面向对象编程将程序分解成各个层次的对象,面向切面编程将程序运行过程分解成各个切面。

AOP从程序运行角度考虑程序的结构,提取业务处理过程的切面,oop是静态的抽象,AOP是动态的抽象,是对应用执行过程中的步骤进行抽象,从获得步骤之间的逻辑划分。

AOP 框架具有的两个特征:

1.各个步骤之间的良好隔离性

2.源代码无关性

11 为什么要用spring

Spring是一个轻量级的IOC和AOP框架

IOC(控制反转)意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这个称为控制反转

AOP(面向切面),它将那些影响多个类的行为封装到可重用的模块中,面向对象是把问题从同类事物中抽象出来,面向切面是把问题从不同类问题中抽象出来。

12 什么是Hibernate的延迟加载

延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓的延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。

13 说下Hibernate 的缓存机制

一、hibernate的一级缓存

a)         Hibernate支持两个级别的缓存,默认只支持一级缓存

b)        每个Session内部自带一个一级缓存;

c)         某个Session被关闭时,其对应的一级缓存自动清除;

二、hibernate的二级缓存

二级缓存独立于session,默认不开启;

14hibernate的查询方式

本地SQL查询、Criteria、Hql

15 Hibernate中类之间的关联关系有几种(如:一对多,多对多的关系)

Many-to-many              one-to-many   may-to-many               one-to-one

16 struts1和struts2的区别

1 struts1控制servlet            struts2控制Filter

2 struts1 收集数据是 ActionForm  Struts2 成员变量

3 struts1 execute(Resquest,Response)

Struts2  execute()

4 struts1 与ServletAPI耦合性强

Struts2与ServletAPI耦合性低

5 struts1 没有拦截器 struts2有拦截器(可以使代码各司其职)

6 struts1只能使用jstl标签,二struts2提供了OGNL表达式

Java知识总结--三大框架的更多相关文章

  1. java的老说三大框架

    一直不明白java的老说三大框架,怎么就一个SSH,今天终于有了一点点的了解. 三大框架就是Spring框架,Struts框架,Hibernate框架. Spring提供了管理业务对象的一致方法并且鼓 ...

  2. 个人对JAVA的SSH三大框架组合的偏见

    多数人JavaWeb的入门是学习SSH:struts+spring+hibernate:我在十年前(2006年)学习的,那时火的是struts1.x ,struts2还没诞生.   这三个框架组合,我 ...

  3. Java中的三大框架分别有什么用

    一.Spring Spring是一个解决了许多在J2EE开发中常见的问题的强大框架. Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯.Spring的架构基础是 ...

  4. java 三大框架 hibernate部分知识实现增删该查操作

    1.三层架构    表现层 web层(MVC是一个表现层的设计模型)    业务层 service层    持久层 dao层2.三大框架和三层架构的关系(建议学习三大框架的顺序:先学习hibernat ...

  5. java三大框架介绍

    常听人提起三大框架,关于三大框架,做了如下了解: 三大框架:Struts+Hibernate+Spring java三大框架主要用来做WEN应用. Struts主要负责表示层的显示 Spring利用它 ...

  6. SSH三大框架的知识题

    Struts 谈谈你对Struts的理解. 答: 1.struts是一个按MVC模式设计的Web层框架,其实它就是一个大大的servlet,这个Servlet名为ActionServlet,或是Act ...

  7. java 的 struts2 Spring Hibernate 三大框架的整合

    原理就不说了,直接上配置文件及代码,用来备用 首先,将三大框架所需要的jar包导入项目中 导入  struts2-spring-plugin-2.3.3.jar包  此包的作用是作为struts2 与 ...

  8. Java三大框架 介绍

    三大框架:Struts+hibernate+spring Java三大框架主要用来做WEN应用. Struts主要负责表示层的显示 Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作 ...

  9. java 三大框架 介绍

    三大框架:Struts+Hibernate+Spring Java三大框架主要用来做WEN应用. Struts主要负责表示层的显示 Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作 ...

随机推荐

  1. 从零开始学android开发-详细谈谈intent的startActivityForResult()方法

    1.两种实现activity跳转的方法 实现activity的跳转主要有两种方法,startActivity()和startActivityForResult();例如activity A跳转到act ...

  2. BZOJ 1143: [CTSC2008]祭祀river 最长反链

    1143: [CTSC2008]祭祀river Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline ...

  3. 支持向量机(SVM)算法的matlab的实现

    支持向量机(SVM)的matlab的实现 支持向量机是一种分类算法之中的一个,matlab中也有对应的函数来对其进行求解:以下贴一个小例子.这个例子来源于我们实际的项目. clc; clear; N= ...

  4. hdu 1712 ACboy needs your help 分组背包

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1712 Problem ...

  5. Chrome 扩展程序 CrxMouse 优化版 v3.0.1

    说明 CrxMouse 原版更新至 v2.7.8,跟进升级优化版至 v3.0.1. 改动说明: 1. 去除可能存在的后台数据上传隐患: 2. 解决鼠标右键拖动时的轨迹漂移问题. 3. 加入部分默认设置 ...

  6. pomelo 服务器开发常用术语

    gate服务器 一个应用的gate服务器,一般不参与rpc调用,也就是说其配置项里可以没有port字段,仅仅有clientPort字段,它的作用是做前端的负载均衡.客户端往往首先向gate服务器发出请 ...

  7. careercup-C和C++ 13.10

    13.10 用C编写一个my2DALLoc函数,可分配二维数组.将malloc函数的调用次数降到最少,并确保可通过arr[i][j]访问该内存. 解法: 这道题目最简单的方法就是先开一个数组来存储指向 ...

  8. eclipse安装android sdk后工具栏没有图标的设置

    如果没有出现这android图标,选择'Window>Customize Perspective...>Commands',并在'Available command groups'中勾选' ...

  9. iOS 本地自动打包工具

    1.为什么要自动打包工具? 每修改一个问题,测试都让你打包一个上传fir , 你要clean -> 编译打包 -> 上传fir -> 通知测试.而且打包速度好慢,太浪费时间了.如果有 ...

  10. c++算法联系,冒泡排序,bubble sort,插入排序,insert sort,

    #include <iostream.h> #define  MAX 100 void dispaly(int a[],int n) {     for(int i=0;i<n;i+ ...