面试的时候Struts2面试官一般会出什么问题? 转载自:Struts2的工作原理一、说说Struts2的工作流程1、Struts 2框架本身大致可以分为3个部分:核心控制…struts2 是什么?有什么作用 作为web层框架应该大体实现以下功能:1.获取表单内容,并组织生成参数对象 2.根据请求的参数转发请求给适当的控制器 3.在控制器中调用业务接口 4.将业务接口返回的结果包装。struts2和springmvc有什么区别 从Struts2的发展过程来看,Struts2继承了Struts与WebWork的血脉,Struts2取两者之精华,形成新德框架,但是struts2还是更多的继承了struts的设计思想,并加入了WebWork的优点。在了解Struts2体系之前,让我们先看看struts2对struts做了哪些修改。Struts2与struts的不同主要体现在以下几个方面。(1)Action类1》在struts中都是使用抽象类编程而不是接口,因此他要求开发Action类继承一个抽象的基类,如DispatchAction等。2》Struts2则基于接口编程,我们的Action类可以实现一个Action接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。更加强大的是,在struts2中Action接口不是必需的,任何有execute()函数的pojo对象都可以用作struts2的Action类来使用。(2)线程模式1》struts的Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单列策略限制了struts Action能做的事,并且要在开发时特别小心,Action资源必须是线程安全的或同步的;2》struts2的Action对象为每一个请求产生一个实例,因此没有线程安全问题。(3)Servlet依赖1》struts的Action依赖于Servlet API,当一个Action被调用时。请介绍一下struts2中输入校验的实现方法有哪些 struts中提供两种校验方法:硬编码和校验框架;硬编码就是直接写validate()进行验证,validate()方法对应execute()方法。在action里也可以重新定义method方法,这样在对应的逻辑处理类中直接定义该方法对应的validate()方法。如定义了方法abc()public String abc(){System.out.print(\"hello\");return SUCCESS;}public void validateAbc(){/方法名为validate+方法名(第一个字母大写)System.out.println(\"vailidate abc\");首先执行validateAbc(),再执行validate()方法,再在执行abc();解决方法有两个:一是去掉validate()方法;二是将validate()方法重命名为validateExecute();}public void validate(){if(null=username|username.length()|username.length()>;10){表单中只显示FILED级别的错误信息,不显示ACTION级别的错误信息两种验证,FILEDERROR存放在MAP中会在标签库中显示,而actionerror是存放在LIST里,不会在标签库默认显示,所以页面中不会有错误提示this.addFieldError(\"username\",\"username invalid\");this.addActionError(\"username invalid\");}if(null=password|password.length()|password.length()>;10){this.addFieldError(。为什么要使用Struts2的 Struts2 是一个相当强大的Java Web开源框架,是一个基于POJO的Action的MVC Web框架。它基于当年的Webwork和XWork框架,继承其优点,同时做了相当的改进。1.Struts2基于MVC架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程。2使用OGNL进行参数传递。OGNL提供了在Struts2里访问各种作用域中的数据的简单方式,你可以方便的获取Request,Attribute,Application,Session,Parameters中的数据。大大简化了开发人员在获取这些数据时的代码量。3强大的拦截器Struts2 的拦截器是一个Action级别的AOP,Struts2中的许多特性都是通过拦截器来实现的,例如异常处理,文件上传,验证等。拦截器是可配置与重用的,可以将一些通用的功能如:登录验证,权限验证等置于拦截器中以完成一些Java Web项目中比较通用的功能。在我实现的的一Web项目中,就是使用Struts2的拦截器来完成了系统中的权限验证功能。4易于测试Struts2的Action都是简单的POJO,这样可以方便的对Struts2的Action编写测试用例,大大方便了5Java Web项目的测试。易于扩展的插件机制在Struts2添加扩展是一件愉快而轻松的事情,只需要将所需要的Jar包放到WEB-INF/lib文件夹中,在struts.xml。struts2连接数据库实现用户注册与登录 DOCTYPEhtml PUBLIC \"-//W3C//DTDHTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">;html;。Struts2中自定义Action三种方法中,都在啥时候用? ActionSupport类是一个工具类,它已经实现了Action接口。除此之外,它还实现了Validateable接口,提供了数据校验功能。通过继承该ActionSupport类,可以简化Struts 2的Action开发。在Validatable接口中定义了一个validate()方法,重写该方法,如果校验表单输入域出现错误,则将错误添加到ActionSupport类的fieldErrors域中,然后通过OGNL表达式负责输出。
随机阅读
- 医用机器人工程 机器人怎样在医用领域实际操作的?
- 歌词里有 夜未央梦一场 的一首古风 节奏舒缓的歌 是什么呀? 万水千梦一场什么歌
- 河南省邓州市彭桥镇赵河村 中牟县博爱县那个大
- 横道图的步骤 横道图中怎么确定工期?然后再按什么步骤画出横道图的?
- 梦见做b超肚子里长个东西 做梦梦见做B超肚子里的小孩求救
- 151汽车助力转向泵 汽车方向助力泵为什么容易坏
- 友人 下车引之元方入门而不顾
- 谁有泡沫之夏全集能发给我吗? 我的泡沫之夏全集
- 上海康城业主路那天那 上海康城丢东西   请看看(来自上海
- 什么叫转座基因? 转座因子和整合子
- “推进绿色发展”200字感悟 上海金山环保审计
- 台剧泡沫之夏 泡沫之夏电视剧全集Qvod在线观看_泡沫之夏全集高清迅雷DVD下载_泡沫之夏优酷土豆奇艺在线播放
- 如何从原子弹爆炸范围内逃生? 氯丁胶坑道服
- 请问宁波哪里能吃到正宗的羊蝎子? 广东中山哪里有吃羊蝎子
- 西安市第一医院看近视眼科怎么样 西安做近视手术,第一医院,第四医院,武警医院,哪个好一点?价位实
- 教科版四年级下册品德与社会好山好 四年级下册品德与社会壮丽的河山
- 石榴花病害及防治方法 石榴果实病虫
- 如何联系一个该联系却很久没有联系的人? 一个很久没有联系的人
- 辽宁农业职业技术学院最高分 辽宁 专升本?
- 踪迹手法的好少年 王希孟作为少年天才,最后完成《千里江山图》为什么突然消失了?