01.  三层和MVC的区别

http://blog.csdn.net/csh624366188/article/details/7183872

http://www.cnblogs.com/zdxster/p/5305155.html

http://www.cnblogs.com/rainbow70626/p/4967478.html

三层是三层,MVC是MVC,它们毫无关系的。

三层是从整个应用程序架构的角度来分的三层(如果程序需要,还可以分多层)。

  三层是为了解决整个应用程序中各个业务操作过程中不同阶段的代码封装的问题,为了使程序员更加专注的处理某阶段的业务逻辑。

  比如将数据库操作代码封装到一层中,提供一些方法根据参数直接返回用户需要的相应数据,这样在处理具体的业务逻辑的时候,就不用关心数据的存储问题了。

MVC是在应用程序(BS结构)的视图层划分出来的不同功能的几个模块。

  MVC主要是为了解决应用程序用户界面的样式替换问题,把展示数据的 HTML 页面尽可能的和业务代码分离。MVC把纯净的界面展示逻辑(用户界面)独立到一些文件中(Views),把一些和用户交互的程序逻辑(Controller)单独放在一些文件中,在 Views 和 Controller 中传递数据使用一些专门封装数据的实体对象,这些对象,统称为Models。

  只所以说MVC和三层毫无关系,是因为它们二者使用范围不同:三层可以应用于任何语言、任何技术的应用程序;而MVC只是为了解决BS应用程序视图层各部分的耦合关系。它们互不冲突,可以同时存在,也可根据情况使用其中一种。

02.struts2的核心控制器!

http://blog.sina.com.cn/s/blog_6ac4c6cb010190ml.html

http://www.cnblogs.com/wangjianbg/p/3555857.html

http://blog.chinaunix.net/uid-7374279-id-4344061.html

struts2是集成了struts1和xwork技术!

struts2的三种实现方式:

  001.自定义一个类,书写一个execute(),返回值是String类型,即可!

  002.实现Action接口

    有五个默认值,和一个execute()

    SUCCESS=“success”

    ERROR=“error”

    INPUT="input"

    NONE="none"

    LOGIN="login"

  003.继承ActionSupport类

struts-default.xml文件!

  定义了我们需要的

  result-type (返回类型)

  interceptor (拦截器)

  interceptor-stack (拦截器栈)

  default-class-ref (默认执行的action类)

default.properties

  设置了 struts2的一些基本配置!

struts.xml文件,我们书写的!

03.struts2执行流程

http://www.cnblogs.com/xtdxs/p/6489275.html

1 服务开启,配置文件初始化

2 用户访问login请求

3 进入web.xml文件中我们配置的核心控制器(filter)

4 核心过滤器中有一个FilterDispatcher,FilterDispatcher调用AcionMapping,来决定是否调用某个Action!

5 ActionMapping根据实际情况,交给ActionProxy!

6 ActionProxy通过Configuration Manager调用框架的配置文件!

7 ActionProxy会创建一个ActionInvocation的实例!

8 先去执行配置的各种123456拦截器

9 执行LoginAction

10 执行654321拦截器!

04.拦截器和过滤器的区别

  相同点:

  不同点:

http://www.cnblogs.com/joyang/p/4973435.html

http://blog.csdn.net/vincent_yuan1991/article/details/52830648

http://blog.csdn.net/xiaoliuliu2050/article/details/51222446

05.参数的传递 OGNL ****************

动态方法的调用
通配符的使用

06.struts2默认后缀
struts.action.extension=action,,

07.全局结果

<action name="*_* mehotd={2}">
<result name="error">/error.jsp</result>

<exception-mapping result="error" exception="java.sql.SQLException"/>
</action>

08.高内聚低耦合!

09. xml验证
国际化
转换器 2014-01-01 struts2
2014/01/01 Spring mvc

10. 拦截器 和过滤器的区别

拦截器不能单独执行! 必须依赖于 拦截器栈!~

拦截器栈

三层和 mvc

11.轻量级框架和 重量级的区别
ejb jpa

12. OGNL el

page
request
session
application
attr

valueStack
01.是一个接口,封装Ognl!
它的实现类是OgnlValueStack
02. 它贯穿Action的生命周期!每一个action都有自己的valueStack对象!
03.struts2把valueStack对象放在了struts.valueStack的request作用域中!

list<Object>

list<Map<String,Object>>

13. | & 位 0101010

Struts2常见面试点的更多相关文章

  1. SpringMVC常见面试题总结(超详细回答)

    SpringMVC常见面试题总结(超详细回答) 1.什么是Spring MVC ?简单介绍下你对springMVC的理解? Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的 ...

  2. Spring 常见面试题总结 | JavaGuide

    首发于 JavaGuide 在线网站:Spring 常见面试题总结 最近在对 JavaGuide 的内容进行重构完善,同步一下最新更新,希望能够帮助你. Spring 基础 什么是 Spring 框架 ...

  3. java常见面试题及答案 1-10(基础篇)

    java常见面试题及答案 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程.Java 源文件被 ...

  4. Web开发的常见面试题HTML和HTML5等

    作为一名前端开发人员,HTML,HTML5以及网站优化都是必须掌握的技术,下面列举一下HTML, HTML5, 网站优化等常见的面试题: HTML常见面试题: 1. 什么是Semantic HTML( ...

  5. 常见面试题之ListView的复用及如何优化

    经常有人问我,作为刚毕业的要去面试,关于安卓开发的问题,技术面试官会经常问哪些问题呢?我想来想去不能一股脑的全写出来,我准备把这些问题单独拿出来写,并详细的分析一下,这样对于初学者是最有帮助的.这次的 ...

  6. iOS常见面试题汇总

    iOS常见面试题汇总 1. 什么是 ARC? (ARC 是为了解决什么问题而诞生的?) ARC 是 Automatic Reference Counting 的缩写, 即自动引用计数. 这是苹果在 i ...

  7. JDBC常见面试题

    以下我是归纳的JDBC知识点图: 图上的知识点都可以在我其他的文章内找到相应内容. JDBC常见面试题 JDBC操作数据库的步骤 ? JDBC操作数据库的步骤 ? 注册数据库驱动. 建立数据库连接. ...

  8. Mybatis常见面试题

    Mybatis常见面试题 #{}和${}的区别是什么? #{}和${}的区别是什么? 在Mybatis中,有两种占位符 #{}解析传递进来的参数数据 ${}对传递进来的参数原样拼接在SQL中 #{}是 ...

  9. JavaSE:数据类型之间的转换(附常见面试题)

    数据类型之间的转换 分为以下几种情况: 1)低级到高级的自动类型转换: 2)高级到低级的强制类型转换(会导致溢出或丢失精度): 3)基本类型向类类型转换: 4)基本类型向字符串的转换: 5)类类型向字 ...

随机推荐

  1. luogu P2043 质因子分解

    题目描述 对N!进行质因子分解. 输入输出格式 输入格式: 输入数据仅有一行包含一个正整数N,N<=10000. 输出格式: 输出数据包含若干行,每行两个正整数p,a,中间用一个空格隔开.表示N ...

  2. JSOI 2009 BZOJ 1444 有趣的游戏

    题面 题目描述 小阳阳发明了一个有趣的游戏:有n个玩家,每一个玩家均有一个长度为 l 的字母序列,任何两个玩家的字母序列不同.共有m种不同的字母,所有的字母序列都由这m种字母构成,为了方便,我们取大写 ...

  3. innodb事务锁

    计算机程序锁   控制对共享资源进行并发访问 保护数据的完整性和一致性   lock  主要是事务,数据库逻辑内容,事务过程 latch/mutex 内存底层锁:   更新丢失 原因: B的更改还没有 ...

  4. 【转】.net 经典面试题

    [转].net 经典面试题  1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问.  ...

  5. 穿透内网防线,USB自动渗透手法总结

    USB(Universal Serial Bus)原意是指通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,这套标准在1994年底由英特尔.康柏.IBM.Microsoft等多家公 ...

  6. 2016.7.14 generator基于注解和基于xml自动生成代码的区别

    1.generator配置文件generatorConfig.xml的区别 2.生成代码的区别 注:二者的实体类都一样. (1)基于XML 生成的文件有: 后面省略. 也就是说,基于xml的方式,是要 ...

  7. AngularJS中,<span class="bluetext" ng-bind="ctrl.user.name|uppercase"></span>和{{ctrl.user.name|uppercase}}是等价的,但不等于<span class="bluetext" ng-bind="ctrl.user.name|uppercase"/>

    代码下载:https://files.cnblogs.com/files/xiandedanteng/angularjsAttenSpan.rar AngularJS中,<span class= ...

  8. 在MyEclipse上部署Tomcatserver

    我在前面的博客中介绍了在Windows下安装Tomcatserver.这篇博客将介绍在MyEclipse上部署Tomcatserver 第一步:启动MyEclipse 第二步:选项Window-> ...

  9. Axure教程:滑动进度条、圆形进度环的复杂交互效果实现方法

    滑动条.进度条.进度环,是产品原型中比较常见的进度展示功能.今天笔者分享的是使用Axure原型工具实现两种进度展示功能中相对复杂的交互效果. 效果一.可拖动.可显示进度值.可计算多个页面均值的滑动进度 ...

  10. css hover对其包括的元素进行样式设置

    <ul class="icon-down-single-arr-li"> <li> <a href="javascript:void(0)& ...