1.简述J2EE的四层模型
1.客户层组件可以是基于web方式的(静态HTML、applets等),也可以是基于传统客
户机方式的(客户端专用的客户程序或软件);
2.Web层组件可以是JSP页面或servlets;
3.业务层主要用来处理逻辑,也满足金融、电信、银行、零售以及其他业务领域的需求。
这些逻辑是由运行在业务层上的企业级Java Bean(EJB)来进行处理;
4.EIS层组件包括通用数据库系统、企业基础建设系统、大型机事务处理系统及其他的
遗留信息系统
2.什么是对象持久化
何谓“持久化” 持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。
3.简述一下O/R Mapping为什么我们使用它
1、jdbc操作数据库很繁琐
2、sql语句编写并不是面向对象的
3、可以在对象和关系表之间建立关联来简化编程
4、O/R Mapping简化编程
5、O/R Mapping跨越数据库平台
4.简述一下如何使用Hibernate实现对象持久化进程(可画图或用伪码描述)
通过DAO(Data Accss Object)和ORM(Object Relational Mapping)实现数据的持久化操作。在这种数据持久化实现方案中,通过DAO来实现对Java对象与数据库中数据之间的相互转换,同时他还包括了数据库的连接管理、事务管理以及对象的缓冲管理等功能。
这种数据持久化解决方案的实现方法的示意图图下:业务层--->DAO--->ORM --->数据库
5.为什么要实现序列化
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。
7.比较一下SessionFactory中的opensession()、getcurrentsession()方法
a)opensession:每次打开一个新的session,需要close
b)getcurrentsession:从上下文找,有就用旧的,没有就建立新的。事务提交自动close。
用途:界定事务边界。
8.Action接受用户参数输入主要有哪几种方式?最常用的是哪几种
9.在Struts中实现一个Action有哪些种方式?最常用的是哪种
从ActionSupport继承
10.在structs xml中Result的type常用有四种类型
dispatcher
redirect
chain
redirectAction
哪些是服务器跳转哪些是客户端跳转
11.J2EE是技术还是平台还是框架它主要包含哪些技术列举并举例描述2到3个技术
J2EE 本身是一个标准,一个为企业分布式应用的开发提供的标准平台。
J2EE 也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA 等技术。
12.MVC的各个部分都有哪些技术来实现?如何实现?
MVC 是Model-View-Controller 的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB 组件实现), "View" 是应用的表示面(由JSP 页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。
13.什么是JNDI
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。
14.举例并简单概述2到3种动态网页开发技术
15.简单概述浏览器输入http://localhost8080/myFirstweb/FirstServlet访问web资源的过程(也就是servlet工作的时序图)。提示:解释地址->用端口号和地址访问服务器->访问资源。16.开发servlet服务器程序三种方法。
17.通过httpservlet去开发servlet,需要重写doGet和doPost方法,这是常用的方式,请简述Get和Post方法的区别。
get请求:浏览器直接输入、表单默认提交、链接
发送的数据放在请求行的地址后面、发送的数据量小、不安全。
post请求:
表单设置了method=”post”
发送的数据放在了实体内容里面,发送的数据量大,相对来说安全不管是get/post请求,发送的数据都没有加密
18.简述http返回包中的状态码200,302,404,500的意义。
200:访问成功(表示一切正常,返回的是正常请求结果)
302:临时重定向(指出被请求的文档已被临时移动到别处,此文档的新的URL在Location响应头中给出)
304:未修改(表示客户机缓存的版本是最新的,客户机应该继续使用它。)
404:访问的文件不存在(服务器上不存在客户机所请求的资源)
500:内部服务器错误(服务器端的CGI、ASP、JSP等程序发生错误)
19.简述请求重定向和请求转发的区别。
1、本质上的不同:重定向是一件事已经做完,转发是一件事还没有做完,交给另一件事
继续做。
2.转发地址栏没有变化;重定向地址栏有变化
3.转发在服务器端完成的;重定向是在客户端完成的
4..转发的是同一次请求;重定向是两次不同请求
5.转发不会执行转发后的代码;重定向会执行重定向之后的代码
6.转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成