请选择 进入手机版 | 继续访问电脑版
本站特色:极好的技术研究氛围!所有技术交流,必有回复!

疯狂Java联盟

 找回密码
 加入联盟
查看: 304|回复: 0

Java EE面试题集1(Struts 2部分)——轻量级Java EE企业应用

  [复制链接]
发表于 2018-2-9 11:22:14 | 显示全部楼层 |阅读模式
本帖最后由 kongyeeku 于 2018-5-2 19:59 编辑

本文档来自《轻量级Java EE企业应用实战(第5版)》光盘
京东购买地址:https://item.jd.com/12327466.html
当当购买地址:http://product.dangdang.com/25245286.html

1、什么是MVC模式?
MVC (Model View Controller) 是一个设计模式,使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以应用于不同的表现形式。
Model:封装了所有的商业逻辑以及规则。通常被JavaBean或EJB实现。
View:使用商业逻辑处理后的结果并构建呈现给客户端的响应。通常被JSP实现。
Controller:管理和控制所有用户和应用程序间的交互。通常是一个Servlet接收用户的请求并把所有的输入转交给实际工作的Model。最后调用JSP返回输出。
MVC模式的好处:
1. 各施其职,互不干涉
在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其它层中的代码。
2. 有利于开发中的分工
在MVC模式中,由于按层把系统开,那么就能更好的实现开发中的分工。网页设计人员可以进行开发视图层中的JSP,对业务熟悉的开发人员可开发业务层,而其它开发人员可开发控制层。
3. 有利于组件的重用
分层后更有利于组件的重用。如控制层可独立成一个能用的组件,视图层也可做成通用的操作界面。
Struts就是一个基于MVC模式的框架。
2、请说说Struts 2的工作流程。(也可以画图说明)
完整流程如下
1. 浏览器发送请求。
2. 请求被Struts 2的核心控制器:StrutsPrepareAndExecuteFilter拦截。
3.StrutsPrepareAndExecuteFilter在struts.xml文件中根据请求找到对应的Action类。
4. Struts 2使用反射创建Action类的实例。
5. Struts 2使用反射调用Action实例的处理方法,该方法将会返回一个String类型的逻辑视图名。
6. Struts 2在struts.xml文件中根据逻辑试图名找到对应的视图页面,并将请求跳转到对应的视图页面。
7. Struts 2调用视图页面向浏览器生成响应。
具体运行可参考下图
3.6.png

您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

小黑屋|手机版|Archiver|疯狂Java联盟 ( 粤ICP备11094030号 )

GMT+8, 2018-8-19 05:53 , Processed in 0.331908 second(s), 8 queries , File On.

快速回复 返回顶部 返回列表