`
jyllook6
  • 浏览: 11951 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

strusts1一些题目总结

阅读更多
一.全局转发和局部转发的区别?
1.定義方式:全局轉發的forward是定義在global-forwards內的而
      局部轉發的forward是定義在action-mappings內的.
2.被訪問的范圍:全局的forward才能夠被所有的頁面訪問,
        而局部的只能被所定義的頁面訪問;
3.訪問的選擇:若有全局的也有局部的forward選擇的是局部的;
二.Struts1 中的主键有那些?
ActionServlet    控制器
ActionClass    包含事务逻辑
ActionForm    显示模块数据
ActionMapping    帮助控制器将请求映射到操作
ActionForward    用来指示操作转移的对象
ActionError    用来存储和回收错误
Struts标记库    可以减轻开发显示层次的工作
三.struts1的核心控制器在哪以及它的基本功能?
核心:
ActionServlet
基本功能:
1.截获用户的Http请求
2.把这个请求映射到相应的Action类。
3.创建一个ActionForm bean实例,将form请求放入formbean的实例中
4.调用Action实例的perform()方法
5.将ActioForm bean,Action Mapping对象,request和response对象传给Action的perform()方法
6.perform返回一个ActionForword对象,根据方法执行情况转到相应的jsp页面.
四.struts1是如何数据校验的,及它们的方法是什么?
一种是继承ActionForm类覆盖validate用代码进行验证;
另一种是继承ValidatorForm类通过配置文件进行验证。
五.struts1框架的优缺点?
优点:
1. 实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现.
2. 有丰富的tag可以用 ,Struts的标记库(Taglib),如能灵活动用,则能大大提高开发效率。
3. 页面导航。
4. 提供Exception处理机制 .
5. 数据库链接池管理
6. 支持I18N
  缺点:
  1.struts的配置和结构过于复杂。
  2.因为actionServlet依赖于web容器,所以测试不太方便。
  3.Struts1的Action类是单例模式,必须设计成线程安全的。
六.为什么要用Struts1?
1.struts1框架中包含JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。
2.但用这些技术构建的系统非常的繁乱.
3.我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Struts便应运而生。
七.Struts1中提供了那五种自定义Tag库?
1. HTML标签库:struts-html taglib包含用来创建struts输入表单的tag,和其它通常用来创建基于HTML用户界面的tag。
2. Bean标签库:struts-bean taglib包含在访问bean和bean属性时使用的tag,也包含一些消息显示的tag。
3. Logic标签库:struts-logic taglib包含的tag用来管理根据条件生成输出文本,和其它一些用来控制的信息。
4. template标签库:struts-template taglib包含的tag用来定义模板机制。
5. Nested 标签: 增强对其他的Struts 标签的嵌套使用的能力
八.Struts的处理流程:
      控制器进行初始化工作,读取配置文件,为不同的Struts模块初始化相应的ModulConfig对象。
      控制器接收Http请求,并从ActionConfig中找出对应于该请求的Action子类,如果没有对应的Action,控制器直接将请求转发给JSP或者静态页面,否则控制器将请求分发至具体的Action类进行处理。
     在控制器调用具体的Action的Execute方法之前,ActionForm对象将利用Http请求中的参数来填充自已。还可以在 ActionForm类中调用Validate方法来检查请求参数的合法性,并且可以返回一个包含所有错误信息的ActionErrors对象。
      执行具体的的Execute的方法,它负责执行相应的业务逻辑。执行完后,返回一个ActionForward对象,控制器通过该 ActionForward对象来进行转发工作。也可以把Action要处理的业务逻辑封装在JavaBean中,如果系统中还有EJB,那么通过 JavaBean调用EJB以完成业务处理;如果没有EJB,那么就直接在JavaBean中连接数据库,进行数据库相关的操作。
九.Validator框架验证:
      使用客户端验证比使用服务端验证的好处有以下几点:
          1.容易维护. 由于验证信息可以放在一个配置文件中.
          2.标准化. 由于很多的验证都是相同的,如用户名和密码都要求使用字母,数字,下划线组成.
          3.避免重造轮子. 一现些简单的验证,想要正确的实现它却很困难.
         4.最主要的一个原因,就是验证在客户端,而不在服务端,这也节省了数据的传送面浪费时间.
十.struts1的客户端验证于服务端验证的区别?
       Struts中客户端验证跟服务器端验证有区别:客户端验证直接写一个action文件便可实现,而服务器端验证必须通过客户端程序去调用服务器端相 应的 WebServices,实现业务逻辑. 它们的本质区别是,就是客户端数据校验是在客户端上进行的,而服务器端校验是在服务器上进行的,在速度上客户端要快很多,但也有缺陷,就是当有黑客攻击的时候,他完全可以绕过客户端直接和服务器交互。
十一. struts应用的实用技术:
    1、struts框架的扩展点
    2、struts应用的国际化
    3、Validator验证框架
    4、异常处理机制
十二.struts简单的数据验证:
        1>.数据验证是发生在:用户提交form后,并且在服务器处理form中的数据之前进行(也就是进入Action之前)
        2>.结果:在进行完简单验证后,如果form中的数据不合法,程序就会forward到指定的JSP页(一般是包含form的页面),并显示相应的错误信息。如果form中的数据完全正确,程序就会进入Action,对数据进行处理
        3>.数据验证是发生在ActionForm类中,ActionForm类不仅可以封装form中的数据,还可以通过其validate方法来验证form中的数据
        4>.validate方法返回了一个ActionErrors对象,这个对象相当于一个Map,如果ActionErrors中没有错误信息,表 示form中的数据是正确的,这时服务端程序就会继续执行。如果ActionErrors中有错误信息,程序就会跳转到指定的错误页面
        5>.错误信息属性文件的信息提取:          ActionErrors对象是一个类似于Map的键值对应的对象,其内的属性都有一个值与之对应,而这个值在属性文件中会有具体的错误提示信息与之绑 定,所以,在JSP页面中可以运用这个过程将相应的错误信息显示给用户!
十三.叙述Struts ActionForm执行步骤
1.检查Action的映射,确定Action中已经配置了对ActionForm的映射
2.根据name属性,查找form bean的配置信息
3.检查Action的formbean的使用范围,确定在此范围下,是否已经有此form bean的实例。
4.假如当前范围下,已经存在了此form bean的实例,而是对当前请求来说,是同一种类型的话,那么就重用。
5.否则,就重新构建一个form bean的实例
6.orm bean的reset()方法备调用
7.调用对应的setter方法,对状态属性赋值
8.如果validatede的属性被设置为true,那么就调用form bean的validate()方法。
9.如果validate()方法没有返回任何错误,控制器将ActionForm作为参数,传给Action实例的execute()方法并执行
十四.基于Struts开发的应用由3类组件构成
1.控制器组件
2.模型组件
3.视图组件
十五. 创建formbean有那几种方式?
1.静态的创建:先创建一个类继承ActionForm,然后在struts-config里面配置
2.动态的创建:直接在struts-config里面配置,引用org.apache.struts.validator.DynaValidatorForm

Struts ActionForm执行步骤
1.检查Action的映射,确定Action中已经配置了对ActionForm的映射2.根据name属性,查找form bean的配置信息3.检查Action的formbean的使用范围,确定在此范围下,是否已经有此form bean的实例。4.假如当前范围下,已经存在了此form bean的实例,而是对当前请求来说,是同一种类型的话,那么就重用。5.否则,就重新构建一个form bean的实例6.orm bean的reset()方法备调用7.调用对应的setter方法,对状态属性赋值8.如果validatede的属性被设置为true,那么就调用form bean的validate()方法。9.如果validate()方法没有返回任何错误,控制器将ActionForm作为参数,传给Action实例的execute()方法并执行
基于Struts开发的应用由3类组件构成
1.控制器组件
2.模型组件
3.视图组件
.Struts1 中的主键:
ActionServlet    控制器
ActionClass    包含事务逻辑
ActionForm    显示模块数据
ActionMapping    帮助控制器将请求映射到操作
ActionForward    用来指示操作转移的对象
ActionError    用来存储和回收错误
Struts标记库    可以减轻开发显示层次的工作



它的一些常识:
    1.它的默认配置名:struts-config.xml.
    2.Action类中最重要的方法: execute().
    3.它的验证方式有两种:在服务器端验证(在FormBean里面重写Validate方法),在客户端验证(通过配置文件来进行验证)。
    4.在服务器启动时会执行init()来进行初始化一些信息。
    5.它的乱码问题可以通过过滤器来解决。
    6.struts1所需要用到的jar包可能会和tomcat中的jsp-api.jar,servlet-api.jar包冲突,最好的解决方案是将这两个jar包放到
        重新建的一个包中去,然后再引用这个包中的jar。
    7.在使用validate框架时from类一定要继承ValidatorFrom这个类。
        Struts Validator框架采用两个基于XML的

外加一张struts1总结的思维导图
  • 大小: 196 KB
分享到:
评论

相关推荐

    struts sping hibernate 面试总结

    对近年公司常出的ssh框架题目进行了总结,希望对广大找工作的同志有所帮助

    Struts+Hibernate面试题

    三大框架面试题,面试时必备的,三大框架中面试题目的总结。面试中必不可少的,不可缺少的

    java面试题目与技巧1

    │ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....

    多次面试考题总结.zip

    包涵DB2、EJB、Struts2、struts_、软件工程、关系型数据库等众多热门面试题目

    基于JAVA的在线考试系统(毕业论文)

    第一章 引言 1 1.1 课题背景 1 1.2 课题目的和意义 1 1.3 本文结构 1 第二章 系统应用的关键技术 2 2.1 JSP技术介绍 2 2.1.1 JSP的概述 2 2.1.3 JSP的强势与劣势 3 2.1.4 JSP与ASP的比较 3 2.2 Java组件JavaBeans 4 ...

    android和java面试大全集

    Java23种设计模式(总结)1.doc JAVA_WEB面试笔试题.doc 实施人员初试题20091009.doc 笔试智力题.doc C语言面试题.doc 2011android面试题目及其答案大全.doc java基础笔试题.doc 安卓鄙视题附答案.txt 史上最全的...

    基于Java的驾校在线考试系统设计与实现.docx

    基于JSP的旅游管理系统...21 4.3.2 打分 22 5 系统测试与分析 23 5.1 系统测试的方法 23 5.2 系统测试过程与结果 23 6 总结 23 参考文献 24 致 谢 25 基于Java的驾校在线考试系统设计与实现全文共26页,当前为第2页。

    JAVA人力资源管理系统设计文档.doc

    关键词 : 人力资源管理系统,Java, B/S模式, Struts2, Spring, Mybatis MySQL, DWZ框架 目录 目录 III 第一章 绪论 1 1.1 人力资源管理系统开发背景 1 1.2人力资源管理系统开发意义 1 1.3 人力资源管理系统...

    Java面试宝典2010版

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...

    java面试题以及技巧

    │ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....

    java面试题及技巧4

    │ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....

    java面试题及技巧3

    │ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....

    java面试题以及技巧6

    │ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....

Global site tag (gtag.js) - Google Analytics