1.动态include和静态include的写法和区别?
静态 <%@ include file=" "%> 在翻译阶段执行 子页面是原封不动的把页面的信息放到了父页面中
动态 <jsp:include page=" " flush="true"/> 在请求处理阶段执行 每个子页面和父页面中定义的 Scriptlet 是不会产生冲突
2.JSP中内置对象有哪些?
request 请求对象
response 响应对象
pageContext 页面上下文对象
session 会话对象
application 应用程序对象
out 输出对象
config 配置对象
page 页面对象
3.什么是Ajax,为什要使用Ajax?
是指一种创建交互式网页应用的网页开发技术,异步刷新机制。
局部刷新,减轻数据载入压力。
4.JSP的页面跳转方式有哪些?
1.forward跳转:<jsp:forward page="跳转页面地址" />
2.response跳转:response.sendRedirect("跳转页面地址");
5.如何理解MVC,平时在项目中如何应用?
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 jsp+Servlet+JavaBean 就是一种基础的基于mvc的开发模式。service是业务逻辑层,处理数据逻辑,验证数据,供外部调用,等于对dao,modal等进行了包装。dao是持久层,读写数据库,增删改查等方法
6.当浏览器关闭后,Session就销毁了吗?
存在于浏览器上的唯一标识符JSESSIONID(sessionid)消失了,但是服务器中存放的sessionid并没有立马销毁。
7.JAVA面向对象的特征有哪些?
抽象、继承、封装、多态性
8.Spring的两大特性分别是什么?Spring的作用是什么?
IOC,AOP
Spring框架主要用于与其他技术(struts,hibernate等)进行整合,
可将应用程序中的Bean组件实现低耦合关联.最终可以提高系统扩展
和维护性.
9.谈一谈对mybatis的理解?
优点:
1. 易于上手和掌握。
2. sql写在xml里,便于统一管理和优化。
3. 解除sql与程序代码的耦合。
4. 提供映射标签,支持对象与数据库的orm字段关系映射
5. 提供对象关系映射标签,支持对象关系组建维护
6. 提供xml标签,支持编写动态sql。
缺点:
1. sql工作量很大,尤其是字段多、关联表多时,更是如此。
2. sql依赖于数据库,导致数据库移植性差。
3. 由于xml里标签id必须唯一,导致DAO中方法不支持方法重载。
4. 字段映射标签和对象关系映射标签仅仅是对映射关系的描述,具体实现仍然依赖于sql。(比如配置了一对多Collection标签,如果sql里没有join子表或查询子表的话,查询后返回的对象是不具备对象关系的,即Collection的对象为null)
5. DAO层过于简单,对象组装的工作量较大。
6. 不支持级联更新、级联删除。
7. 编写动态sql时,不方便调试,尤其逻辑复杂时。
8 提供的写动态sql的xml标签功能简单(连struts都比不上),编写动态sql仍然受限,且可读性低。
9. 若不查询主键字段,容易造成查询出的对象有“覆盖”现象。
10. 参数的数据类型支持不完善。(如参数为Date类型时,容易报没有get、set方法,需在参数上加@param)
11. 多参数时,使用不方便,功能不够强大。(目前支持的方法有map、对象、注解@param以及默认采用012索引位的方式)
12. 缓存使用不当,容易产生脏数据。
10.请写出有哪些基本数据类型,并写出对应的包装类。
基本数据类型和包装类的对应表
byte | short | int | long | float | double | char | boolean |
Byte | Short | Integer | Long | Float | Double | Character | Boolean |
11.请写出常用的包
1 .java.lang包:java的核心类库,包含了运行java程序必不可少的系统类
2、java.io包:java语言的标准输入/输出类库
3、java.util包:Java的实用工具类库Java.util包。
4、java.util.zip包:实现文件压缩功能
5、java.lang.reflect包