下载此文档

2022J2EE框架面试题库[word可编辑】.doc


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
该【2022J2EE框架面试题库[word可编辑】 】是由【1130474171@qq.com】上传分享,文档一共【9】页,该文档可以免费在线阅读,需要了解更多关于【2022J2EE框架面试题库[word可编辑】 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。精品范文资料欢迎下载
精品范文资料欢迎下载
精品范文资料欢迎下载
2022J2EE框架面试题库
精品范文资料欢迎下载
精品范文资料欢迎下载
精品范文资料欢迎下载
J2EE框架面试题库
J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端运用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。以下是我整理的J2EE框架面试题库,希望大家仔细阅读!

参考答案:Servlet的生命周期主要为四个步骤实例化时调用构造方法,初始化init()、业务处理service()、销毁destory()。
1,启动tomcat时,调用Servlet的构造方法
2、init阶段:init()方法在Servlet实例化的时候调用,而且只调用一次(对于
Servlet的初始化,一般是第一次被恳求时;
标签的映射这个时候,我们可以配置元素中指定了子元素时,容器在启动的时候自动加载这些Servlet并调用init()方法),init()方法的作用是完成一些全局性的比较花费时间的初始化工作。
3、service()阶段:Servlet继承了父类的service()方法,那么前端URL发出的恳求不管是以get方式或者post方式,都将干脆走重写的service()方法,而不再走doGet()和goPost()方法。
4、终止阶段调用destroy()方法:Servlet容器关闭时调用,用来关闭Servlet占用的一些资源。

参考答案:,随着JavaEE6规范一起发布。该版本在前一版本()的基础上供应了若干新特性用于简化Web应用的开发和部署。其中有几项特性的引入让开发者感到特别奋:
1、异步处理支持:有了该特性,Servlet线程不再须要始终堵塞,直到业务处
理完毕才能再输出响应,最终才结束该Servlet线程。在接收到恳求之后,Servlet线程可以将耗时的操作委派给另一个线程来完成,自己在不生成响应的状况下返回至容器。针对业务处理较耗时的状况,这将大大削减服务器资源的占用,并且提高并发处理速度。
2、新增的注解支持:该版本新增了若干注解,用于简化Servlet、过滤器(Filter)和偷听(Listener)的声明,。
3、可插性支持:熟识Struts2的开发者肯定会对其通过插件的方式与包括
Spring在内的各种常用框架的整合特性记忆犹新。将相应的插件封装成JAR包
并放在类路径下,Struts2运行时便能自动加载这些插件。,开发者可以通过插件的方式很便利的扩充已有Web应用的功能,而不须要修改原有的应用。
4、原本文件上传时通过common-fileupload或者SmartUpload,上传比较麻烦,,并且供应了很便利进行文件上传的功能;
5、ServletContext的性能增加除了以上的新特性之外,ServletContext对象的
功能在新版本中也得到了增加。现在,该对象支持在运行时动态部署Servlet、
过滤器、偷听,以及为Servlet和过滤器增加URL映射等。以Servlet为例,过滤器与偷听与之类似。

参考答案:
Forward:转发,是服务器内部的一种转向行为,客户端并不能察觉,URL显示的依旧是转发前的地址;它属于一次Request恳求,转发目标页依旧可以运用
Request范围内的数据。运用场景:多用户多角色的系统依据登录用户进行模块的跳转。
Redirect:重定向,服务器会首先响应恳求端一个状态码,恳求端依据状态码再次发生的恳求,URL的地址会换成后一次恳求的地址;它属于两次Request恳求,所以第一次Request恳求范围内的数据将丢失,不能再从Request中获得数据。运用场景:Session过期(或未登录时)跳转到登录页,系统异样跳转到异样页。

参考答案:
Session:运行在服务器端,默认是保存在内存中,平安性高,可以存放对象,
可以设置生命周期,当服务器端维护Session对象过多的时候,会影响到服务器的性能,可以将一部分Session序列化到硬盘上存储。当用户第一次恳求生成Session对象时会生成sessionID用来标识此对象,SessionID将会返回给用户保存在Cookie中。
Cookie:是保存在客户端,一般不超过4k,用户客户端对cookie数据量也有限制,似乎20个左右,Cookie平安性低,可以被改写,而且简单被阅读器禁用,但假如Cookie完全被禁用,Session的会话功能也将失效。

参考答案:要写一个自己的session,首先要知道session的几个特点:第一,
能够进行对象的保存;其次,有一个唯一的识别码sessionID可以通过cookie中的sessionID来找到session对象;第三,就是可以设置session的有效期;解决这三点就可以来实现我们自己的session了;上面三个条件中最简单实现的就是sessinID,在Java中生成一个不重复的ID太简单了,这里用UUID生成一个32位序列作为唯一识别码token(token就是上面的sessionID,自己写时就不要用原来的名称了)。下面举荐三种方案,面试时依据自己的理解选择。
第一种Map方案:
1、定义一个全局的静态的Map对象(最好用线程平安的实现类);
2、用户首次访问时生成一个token作为Map中的key值,Map中的value
可以依据须要定义成对象,此对象里面肯定要有一个时间字段,来记录用户最近一次的'访问时间;
3、定义一个后台线程,用来监控Map中对象的日期与系统日期时间的差值,
当大于设定的时间时,就把对象从Map中删除(模拟session过期清理)。
其次种SQL方案:
1、建一张t_session表,里面的主键为token,至少有一个日期字段,其余
的字段依据保存的对象须要建立;
2、用户首次访问时生成一个token作为主键,同时插入一个当前日期;后
续只要用户对Session要操作的地方,就要更新t_session中的日期字段;
3、定义一个数据JOB,用来监控t_session中对象的日期与系统日期时间的
差值,当大于设定的时间时,就把对象从t_session中删除(模拟session过期清理)。
第三种缓存方案:
1、引入一个缓存Encache对象;
2、用户首次访问时生成一个token作为Encache中的key值,Value值可以
依据须要定义对象,最好是实现了序列化。
3、在缓存配置中声明一个过期日期。
综上:第一种方案有一个问题,就是当Map存和的对象足够多的时候,后台线
程在扫描的时候会不会造成前台用户操作Map对象的堵塞,从原理上是有这存
状况发生,总之随着Map存放的东西越多,性能下降的越厉害。其次种方案不
多说了,每次操作都可能引起后台数据表的操作,而且在线用户多的时候,只是这块就会占用许多的连接数,有点奢侈系统资源。第三种方案是我比较推崇的方试,不用再担忧过期时间的管理,缓存本身就有过期时间管理的机制,有人担忧Encache是与应用绑定发布的,不简单做分布式,其实多虑了,Encache本身支持分布式的,即使有问题,我们还有memcached等其它缓存呢。总之依据业务场景须要来选择就行了。

参考答案:get,post是前台与后台交互时两种恳求方式。
Get:从URL上看它是以明文的方式呈现(一般要对参数须要加密处理)在地
址栏中,而且它对提交的内容长度有限制,不能超过1024Btye;Get一般用于向服务器中恳求数据(查询时)。
Post:是一种自动加密的恳求方式,而且理论恳求的内容没有长度限制,一般用于表单提交,向服务器进行数据添加或者更新的时候运用。

参考答案:
1、写法不同,动态包含,而静态包
含;,,.html等文件。
2、动态包含是两个独立的文件,分别编译,但它总会动态检查被引入页中的
内容改变,在执行到jsp:include时动态引入被包含的文件,而且可以向被引入的页面中传递参数。静态包含相当于在编译前将被包含的文件插入到
本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!

2022J2EE框架面试题库[word可编辑】 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息