技术面试.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
struts2 1、struts2的运作流程。 答: 浏览器发送请求(核心控制器(拦截器 (Action(Result(逻辑组 件得到的数据返回并更新视图) (拦截器--》核心控制器 2、描述struts2的主要result类型及作用。 答: dispatcher默认类型 请求转发 redirect 重定向 redirectAction 重定向至action chain action链式处理 stream 用于向浏览器返回一个inputStream(用于下载) tiles结果类型: 用于与Tiles整合的结果类型。 velocity结果类型: 用于与Velocity模板整合的结果类型。 xslt结果类型: 用于与XML/XSLT模板整合的结果类型。 plainText结果类型: 显示原始文件内容的结果类型, jasper结果类型: 用于JasperReport整合的类型。 jsf结果类型: 用于与JSF整合的结果类型。 3、描述Action中validate验证步骤? 答: 1、类型转换器负责请求参数的类型转换,并将这些值设置成Action的属性值。 2、在类型转换中如果出现异常,将异常保存到ActionContext中,conversionError拦截器负责将其 封装到fieldError中,然后执行3,如无异常,直接进入3。 3、通过反射调用validatorXxx方法,Xxx代表处理用户请求的业务逻辑的方法名。 4、调用Action类的validator方法。 5、如果以上没有出现fieldError,则调用Action的业务处理方法,如有fieldError错误,转入input 逻辑视图所指定的视图资源 4、描述OGNL上下文概念。 答: OGNL(Object Graph Navigation Language),是一种表达式语言EL(Exression Language)。使用这种表达式语言,你可以通过某种表达式语法,存取Java对象树中的任意属性、调用Java对象树的方法、同时能够自动实现必要的类型转化。在Struts2里采用了XWork的OGNL方案,构建了OGNLValueStack的机制,从而解决了从View层传递到Controller层的数据流传的不匹配性。 在OGNL中如果搜索的数据不是值栈里存储的数据,而且其他对象中,特别是Struts2的ActionContext中的对象,则在访问这些对象时候,前面要加“#”。比如ognl.jsp中访问session和request对象时候代码中在request和session之前就有“#” 5、描述struts2拦截器开发步骤。 答:实现拦截器的步骤: a、自定义的拦截器: (1)自定义一个实现Interceptor接口(或者继承自AbstractInterceptor)的类 (2)在struts.xml中注册上一步中定义的拦截器 (3)在需要使用的Action中引用上述定义的拦截器,为了方便也可将拦截器定义为默认的拦截器,这样在不加特殊声明的情况下所有的Action都被这个拦截器拦截 b、内置的拦截器: 可以直接引用内置的拦截器如:defaultStack 6、描述struts2转换器运行原理。 答: Struts2的类型转换是基于OGNL表达式的,只要我们把HTML输入项(表单元素和其他GET/POET的参数)命名为合法的OGNL表达式,就可以充分利用Struts2的转换机制。 ??? 除此之外,Struts2提供了很好的扩展性,开发者可以非常简单的开发自己的类型转换器,完成字符串和自定义复合类型之间的转换。总之,Struts2的类型转换器提供了非常强大的表现层数据处理机制,开发者可以利用Struts2的类型转换机制来完成任意的类型转换。 实现TypeCoverter接口,或者继承DefaultTypeConverter实现类(该类实现了TypeCoverter接口),通过继承该实现类来实现自己的类型转换器。重写convertValue方法即可。 ??? 为了简化类型转换器的实现,Struts2提供了一个StrutsTypeConverter抽象类,这个抽象类是DefaultConverter的子类。实现了方法,并提供了2个不同转换方向的方法:Object convertToString(Map context,String[] values,Class toClass)和String convertFromString(Map context,Object o)。 7、描述自定义标签的类层次结构。 答: struts2框架的标签库分为三类: 用户界面标签:生成HTML元素 非用户界面标签:

文档评论(0)

yan666888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档