J2EE考试题目及答案Word文件下载.docx
- 文档编号:16138214
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:12
- 大小:27.66KB
J2EE考试题目及答案Word文件下载.docx
《J2EE考试题目及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《J2EE考试题目及答案Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
用它来架起对象和关系型数据库的桥梁,可解决对象层次的映射、对象关系的映射以及对象的持久化问题。
4、简述一下如何使用Hibernate实现对象持久化的过程(可画图或用伪码描述)
STEP1:
创建Configuration对象。
在这一步中主要为了进行配置文件的装载操作,读取所有的配置文件并进行解析、
STEP2:
创建SessionFactory对象。
通过创建好的Configuration对象可以创建一个sessionFactory对象的实例,同时是生成Session对象实例的工厂,他在整个应用中应该是,唯一的。
STEP3:
创建Session对象。
Session对象类似于数据库的连接对象,可以理解为与数据库建立的一个连接,但是他的功能要比JDBC中的Connection对象丰富很多。
STEP4:
开始一个事务。
在Java中定义一个事务操作的开始,这是使用Hibernate进行持久化操作必不可少的步骤
STEP5:
进行持久化操作。
在这个步骤中可以读取或者保存Java对象。
STEP6:
结束事务。
在操作完成之后还要进行显式的结束事务的操作。
STEP7:
关闭Session。
类似于释放数据库的连接。
5、为什么要实现序列化?
1、序列化以某种存储形式使自定义对象持久化
2、序列化将对象转换为可传输方式从一个地方传递到另一个地方
3、序列化使程序更具维护性
6、比较一下sessionFactory中的opensession()和getcurrentsession()方法
1、getCurrentSession创建的session会和绑定到当前线程,而openSession不会。
2、getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭
7、比较一下session中的load()和get()方法,以及如何保证每次都是从数据库读取而不是在缓存中读?
load()和get()方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。
其区别在于:
如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException。
Load方法可返回实体的代理类实例,而get方法永远直接返回实体类。
load方法可以充分利用内部缓存和二级缓存中的现有数据,而get方法则仅仅在内部缓存中进行数据查找,如没有发现对应数据,将越过二级缓存,直接调用SQL完成数据读取。
8、Action接受用户参数输入,主要有哪几种方式?
我们常用的是哪一种?
1.Action属性接收参数;
2.Domainmodal(域模型)接收参数;
3.Modaldriven接收参数。
常用第一种跟第二种
9、在struts中实现一个action有哪几种方式?
最常用的是哪种?
1.定义一个普通的类,类中只要有一个publicStringexecute()方法且返回一个字符串即可。
2.定义一个类,实现Action接口,xwork2.Action这个包的
3继承xwork2.ActionSupport这个类。
最常用的是第三种
10、在struts.xml中Result的type常用的有四种类型
1)dispatcher2)redirect3)chain4)redirectAction
哪些是服务器跳转?
哪些是客户端跳转?
dispatcher和chain是服务器端跳转,所以客户端只发起一次请求
redirect和redirectAction是客户端跳转,所以客户端发起两次请求。
11、j2ee是技术还是平台还是框架?
它主要包含哪些技术,列举并简单描述2到3个技术?
J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。
J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。
JDBC:
是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
RMI:
RMI协议调用远程对象上的方法。
它使用了序列化方式在客户端和服务器端传递数据。
RMI是一种被EJB使用的更底层的协议。
12、MVC的各个部分都有哪些技术来实现?
如何实现?
MVC是Model-View-Controller的简写。
"
Model"
代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),"
View"
是应用的表示面(由JSP页面产生),"
Controller"
是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。
这些组件可以进行交互和重用。
13、什么是JNDI?
JNDI是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDISPI的实现,由管理者将JNDIAPI映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。
14、举例并简单描述2到3种动态网页开发技术。
1、PHP,是英文超文本预处理语言HypertextPreprocessor的缩写。
PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。
2、ASP,它是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。
ASP的网页文件的格式是.asp,现在常用于各种动态网站中。
15、简单描述浏览器输入http:
//localhost:
8088/myFirstweb/Firstservlet访问web资源的过程(也就是servlet工作的时序图)(提示,解释地址→用端口号和地址访问服务器→访问资源)。
1.浏览器会将请求打包成http请求数据包,发送给web服务器,
2.web服务器中的servlet引擎解析请求并封装为一个HttpServletRequest对象(包含了请求数据),同时创建个HttpServletResponse对象。
3.servlet调用servlet的service()方法,并将HttpServletReque,HttpServletResponse对象作为参数传递给servlet实例
4.servlet可以从HttpServletRequest对象中获得请求数据,并处理,当然,servlet也可能要访问数据库。
然后将处理之后的结果放到HttpServletResponse中。
5.servlet引擎从HttpServletResponse中取数据,并将数据打包成http数据包发送给浏览器。
16、开发servlet服务器程序三种方法。
开发servlet有三种方法:
a,实现servlet接口;
b,继承GenericServet;
c,继承HttpServlet
17、通过httpservlet去开发servlet,需要重写doGet和doPost方法。
这是常用的方式,请简述Get与Post方法的区别。
(1)get是从服务器上获取数据,post是向服务器传送数据。
在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;
POST方式,数据放置在HTMLHEADER内提交。
(2)对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服
务器端用Request.Form获取提交的数据。
(3)GET方式提交的数据最多只能有1024字节,而POST则没有此限制。
(4)安全性问题。
使用Get的时候,参数会显示在地址栏上,而Post不会。
所以,还是
使用post为好。
18、简述http返回包中的状态码200,302,404,500的意义。
[200]请求已成功,请求所希望的响应头或数据体将随此响应返回。
[302]请求的资源现在临时从不同的URI响应请求。
[404]请求失败,请求所希望得到的资源未被在伺服器上发现。
[500]伺服器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理.
19、简述请求重定向(response.sendRedirect)和请求转发(getRequestDispatcherforward)的区别。
1、forward()只能将请求转发给同一个Web应用中的组件,而sendRedirect()方法不仅可以重定向到当前应用程序中的其他资源,还可以重定向到其他站点的资源。
2、sendRedirect()方法重定向的访问过程结束后,浏览器地址栏中显示的URL会发生改变,由初始的URL地址变成重定向的目标URL;
而调用forward()方法的请求转发过程结束后,浏览器地址栏保持初始的URL地址不变。
3、forward()方法的调用者与被调用者之间共享相同的request对象和response对象;
而sendRedirect()方法调用者和被调用者使用各自的request对象和response对象,它们属于两个独立的请求和响应过程。
20、Hibernate拒绝连接、服务器崩溃的原因?
最少写三个?
1.db没有打开
2.网络连接可能出了问题
3.连接配置错了
4.驱动的driver,url是否都写对了
5.LIB下加入相应驱动,数据连接代码是否有误
6.数据库配置可能有问题
7.当前联接太多了,服务器都有访问人数限制的
8.服务器的相应端口没有开,即它不提供相应的服务
9hibernate有哪些缓存,分别怎么使用?
10你对hibernate的了解到了一个什么样的程度?
11写出一个sql语句体现hibernate中一对多的关系
21、Update()和saveOrUpdate()的区别?
update()方法操作的对象必须是持久化了的对象。
也就是说,如果此对象在数据库中不存在的话,就不能使用update()方法。
saveOrUpdate()方法操作的对象既可以使持久化了的,也可以使没有持久化的对象。
如果是持久化了的对象调用saveOrUpdate()则会
更新数据库中的对象;
如果是未持久化的对象使用此方法,则save到数据库中。
22、Hibernate的三种状态之间如何转换?
当对象由瞬时状态(Transient)一save()时,就变成了持久化状态。
当我们在Session里存储对象的时候,实际是在Session的Map里存了一份,也就是它的缓存里放了一份,然后,又到数据库里存了一份,在缓存里这一份叫持久对象(Persistent)。
Session一Close()了,它的缓存也都关闭了,整个Session也就失效了,这个时候,这个对象变成了游离状态(Detached),但数据库中还是存在的。
当游
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- J2EE 考试 题目 答案