1.什么是Spring的AOP,它的功能是什么?
答:AOP是面向切面方面,相当于拦截器,可以在需要的地方插入逻辑,所谓的面向方面就是把相同的功能抽象出来,
2.JSP中动态INCLUDE与静态INCLUDE的区别?
答:动态INCLUDE用jsp:include动作实现
<jsp:include page=included.jsp flush=true />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面 <%@ include file=included.htm %>
3.JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。
JSP编译后是"类servlet"。
Servlet和JSP最主要的不同点在于,
Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。
而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。
JSP侧重于视图,Servlet主要用于控制逻辑。
4.MVC的各个部分都有那些技术来实现?如何实现?
MVC是Model-View-Controller的简写。
Model 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),
View 是应用的表示面(由JSP页面产生),
Controller 是提供应用的处理过程控制(一般是一个Servlet),
通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。
5.简介Struts2执行流程?
Struts 2的工作流程与WebWork框架基本相同,所以说Struts2是WebWork的升级版本。
基本简要流程如下:
- 客户端浏览器发出HTTP请求。
- 根据web.xml配置,该请求被FilterDispatcher接收。
- 根据struts.xml配置,找到需要调用的Action类和方法,并通过IoC方式,将值注入给Aciton。
- Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。
- Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面。
6、返回HTTP响应到客户端浏览器。
6.Struts2中常见的拦截器有哪些?
答:上传,重复提交,数字转换,表单认证,国际化,等等
7.Spring管理事务有哪几种方式? ·
答: 有两种方式:基于XML配置文件的方式;
另一个是在业务方法上进行@Transactional注解,将事务规则应用到业务逻辑中。
8.为什么要用Hibernate
1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
- hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM(对象关系映射)实现。他很大程度的简化DAO层的编码工作
- hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。
4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。
9.hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。
update针对的是已存在的实体对象 。saveOrUpdate()对象存在与否都不会有任何影响
session的load()和get()的区别
load是只在缓存中加载数据
get是先缓存中查找或者缓存中没有到数据库中查找
10."=="和equals方法究竟有什么区别?
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。(简单说就是变量指向的对象的内存地址是否相同)
equals方法是用于比较两个独立对象的内容是否相同,它比较的两个对象是独立的