`
sakakokiya
  • 浏览: 516007 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts的几个面试题收集

阅读更多
1 说说Struts的优点、缺点
Struts是开源软件,使开发者能更深入的了解其内部实现机制。
Struts 优点:
业界”标准”(很多成功案例),学习资源丰富。
Struts的优点主要集中体现在两个方面:Taglib和页面导航。
a、利用Struts提供的taglib可以大大节约开发时间。
b、维护扩展比较方便。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。
c、表现与逻辑分离
d、表单验证解决了请求数据的验证问题,增强了系统健壮性。
e、便于团队开发
Struts缺点:
a、大量的使用标签,对于初学者难度较大。
b、ActionForms使用不便、无法进行单元测试(StrutsTestCase只能用于集成)
Struts提供了几个标签库?都是什么标签库?
Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。
HTML 标签 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单
Bean 标签      在访问JavaBeans 及其属性,以及定义一个新的bean 时使用
Logic 标签      管理条件产生的输出和对象集产生的循环
Template 标签      随着Tiles框架包的出现,此标记已开始减少使用
Nested 标签      增强对其他的Struts 标签的嵌套使用的能力
2 分析一下struts是如何实现MVC的。
Struts采用jsp作为MVC的视图,由ActionServlet具体指定的action动作类作为控制器即MVC中的C,负责视图与模型之间的交互。控制器的每个入口点都由名为struts-config.xml的配置文件设置。该文件把来自视图的请求映射为特定的JAVA类以进行相应的处理,控制器还指定下一个视图的位置。Struts中的模型主要指的就是javabean,它是模型的代表,主要封装数据和业务逻辑。
3 说说Struts的处理流程:
控制器进行初始化工作,读取配置文件,为不同的Struts模块初始化相应的ModuleConfig对象。控制器接收Http请求,并从ActionConfig中找出对应于该请求的Action子类,如果没有对应的Action,控制器直接将请求转发给JSP或者静态页面,否则控制器将请求分发至具体的Action类进行处理。
在控制器调用具体的Action的Execute方法之前,ActionForm对象将利用Http请求中的参数来填充自已。还可以在 ActionForm类中调用Validate方法来检查请求参数的合法性,并且可以返回一个包含所有错误信息的ActionErrors对象。
执行具体的的Execute的方法,它负责执行相应的业务逻辑。执行完后,返回一个ActionForward对象,控制器通过该 ActionForward对象来进行转发工作。也可以把Action要处理的业务逻辑封装在JavaBean中,如果系统中还有EJB,那么通过 JavaBean调用EJB以完成业务处理;如果没有EJB,那么就直接在JavaBean中连接数据库,进行数据库相关的操作。
4 说说Struts几个关键对象的作用:Action、ActionServlet、ActionForm
分享到:
评论

相关推荐

    JAVA程序员面试题收集

    - **常见Application Server介绍**:列举几个常用的Application Server,如Tomcat、WebLogic等。 #### Web.xml配置 - **Web.xml的作用**:解释这个文件在Web应用中的重要性。 - **安全认证与加密**:如何配置Web...

    java面试题实践收集及答案详解

    ### Java面试题实践收集及答案详解 #### 一、Java基础知识与面试题解析 ##### 1. 面试时应注意哪些事项? - **技术准备**:深入理解Java基础(如集合框架、多线程、异常处理等)、设计模式、算法与数据结构。 - *...

    java面试题

    55.3. Servlet执行时一般实现哪几个方法? 38 56. 会话跟踪 39 56.1. Cookie 39 56.2. session 39 56.2.1. Session 生命周期 39 57. EJB的几种类型 39 58. 排序都有哪几种方法?请列举。用JAVA实现一个快速排序。 40...

    200+最常见Java面试题参考答案(嗯嗯).pdf

    综上所述,这份文件所对应的IT知识点包括但不限于以下几个方面: 1. Java基础知识点:包括Java语言的基本语法、数据类型、运算符、控制流等。 2. 面向对象编程:涵盖类和对象的概念、继承、封装、多态、接口和抽象...

    史上最全的Java面试题独家整理.zip

    面试题通常涵盖以下几个核心领域: 1. **基础语法**:包括变量、数据类型、运算符、流程控制语句(如if、switch、for、while)、类与对象、封装、继承、多态等基础概念。理解这些基础知识是构建Java程序的基础。 2...

    2013java面试题搜集

    都是传智播客收集的面试题希望对面有用 1、HTTP请求的过程 2、那说说数据库连接池的原理 3、Java的内存管理机制是什么 4、Javascript中怎么实现继承?有几种方式? 5、spring底层用什么实现? 6、hibernate和...

    java 面试题 集 包含开源框架

    Java面试题集主要涵盖了几大核心领域:数据结构、Struts、Spring以及数据库管理。这些是Java开发者在面试中常常会遇到的考点,也是实际工作中不可或缺的基础知识。下面将逐一详细解析这些领域的关键知识点。 一、...

    java基础,面试题

    在Java基础面试中,面试官通常会关注应聘者对语言核心概念的理解,包括但不限于以下几个方面: 1. **数据类型**:Java分为两种数据类型,基本类型(如int, char, boolean)和引用类型(类,接口,数组)。了解它们...

    java 面试题 总结

    创建了几个String Object? 两个 28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 public class ThreadTest1{ ...

    超级有影响力霸气的Java面试题大全文档

    超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...

    java面试大全

    在Java笔试中,可能会遇到以下几个核心概念: - **基本语法**: 包括变量声明、数据类型、运算符、流程控制(如if-else、switch、for、while等)。 - **面向对象**: 类、对象、封装、继承、多态等概念,以及构造器...

    java面试200题

    - **分代收集算法:** 根据对象存活周期的不同将内存划分为几块,一般是新生代和老年代,这样可以在不同的区内使用最适合的垃圾回收方式。 3. **垃圾回收触发条件:** - **内存不足:** 当Java堆中没有足够的内存...

Global site tag (gtag.js) - Google Analytics