高级java工程师面试题及答案内容摘要:

用于对服务器请求的过滤,它与监听器最大的不同是:监听器只能够监听请求而无法改变原来的请求、而过滤器可以改变任何请求。 所有的过滤器都实现了filter接口中的doFilter方法来实现对请求的过滤,doFilter方法又使用了FilterChain这个传入的值实现过滤链,来进行层层的过滤。 Servlet过滤器的适用场合: A.认证过滤 B.登录和审核过滤 C.图像转换过滤 D.数据压缩过滤 E.加密过滤 F.令牌过滤 G.资源访问触发事件过滤 H. 其他(6) forward 和redirect的区别。 答:使用forward的时候浏览器不知道它所请求的具体资源来源,所以地址栏不会变;使用redirect,服务端根据逻辑,发送一个状态码,。 forward,转发页面和转发到的页面可以共享request里面的数据.redirect,不能共享数据. 框架部分 每题5分 共30分(1) 说出解析XML和读取Excel常用的框架有哪些。 答:XML—JDOM,dom4jExcel—POI(2) Spring中事务管理支持哪两种方式,并说明他们的优缺点。 列举几个Spring事务管理器。 列举几种Spring事务管理的配置方法。 1..Spring可以通过程序控制和声明两种方式管理事务。 程序控制可以精确的控制事务回滚的节点,但是程序与业务代码耦合在一起;声明方式低耦合,但是在对于复杂事务的控制上不如程序控制的方式。 ,hibernate事务控制管理器,JdoTransactionManager,JtaTransactionManager,OJB事务管理器第一种:每个bean都有一个代理第二种:所有bean共享一个代理基类第三种:使用拦截器第四种:使用tx标签配置管理器第五种:全注释(3) Struts2如何处理一表单多提交?Struts2 Action类需要实现一个Struts2自带的拦截器, ,并且在action中实现多个提交的方法名称,如果没有相应的方法名称。 例如: JSP页面s:form action=    s:textfield name=msglabel=输入内容/     s:submit name=save value=保存 align=left method=save/    s:submit name=print value=打印 align=left method=print/     /s:form在action类中必须包含如下方法:public String save()throws Exception{ (result,save[+msg+])。 return save。 }public String print() throws Exception{ (result,print[+msg+])。 }配置文件如下:action name=submit class=  result name=save//result  result name=print//result/action(4) hibernate中缓存等级及其区别应用1. 内部缓存存在Hibernate中又叫一级缓存,属于应用事物级缓存 2. 二级缓存: a) 应用及缓存 b) 分布式缓存 条件:数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被系统频繁使用、非 关键数据 c) 第三方缓存的实现(5) Spring生成的bean对象的生命周期有哪些种类。 并分别列举这些类型在实际项目中应用。 singleton 当一个bean的作用域设置为singleton, 那么Spring IOC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例。 换言之,当把一个bean定义设置为singleton作用域时,Spring IOC容器只会创建该bean定义的唯一实例。 这个单一实例会被存储到单例缓存(singleton cache)中,并且所有针对该bean的后续请求和引用都将返回被缓存的对象实例,这里要注意的是singleton作用域和GOF设计模式中的单例是完全不同的,单例设计模式表示一个ClassLoader中只有一个class存在,而这里的singleton则表示一个容器对应一个bean,也就是说当一个bean被标识为singleton时候, spring的IOC容器中只会存在一个该bean。 prototype prototype作用域部署的bean,每一次请求(将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法)都会产生一个新的bean实例,相当一个new的操作,对于prototype作用域的bean,有一点非常重要,那就是Spring不能对一个prototype bean的整个生命周期负责,容器在初始化、配置、装饰或者是装配完一个prototype实例后,将它交给客户端,随后就对该prototype实例不闻不问了。 不管何种作用域,容器都会调用。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。