3.6 常见面试题分析
1. 简述使用Struts2框架的好处
答:与以前的其他框架相比,Struts2框架具有如下好处:
1)与Spring的集成:与Struts1.x相比,Struts2不必再自己编写singleton,进一步地降低了程序间的耦合性,就Struts2内部本身而言,降低了框架本身的耦合性。
2)更加模块化:与Struts1.x相比,Struts2更加模块化,可以轻松将配置信息按功能界限拆分成多个文件,便于管理和团队协作开发。
3)基于插件的框架:Struts2是一个基于插件的框架,社区中提供了很多实用的插件,比如jfreechat/json等,使用这些插件可以简化我们的开发,加快开发进度。
4)大量的拦截器:Struts2本身提供了大量的可重用的拦截器,比如类型转换拦截器,很多时候我们从页面取得参数,这个时候它是String类型的,我们需要手动地把它转成Long型的或是Integer型的再使用。在Struts2中你不必这样做,Struts2已经帮你做了这些事情了。当然,也可以实现自定义的拦截器,比如,使用权限检查拦截器来做访问控制。
5)惯例大于配置:惯例大于配置是Struts2的架构目标,比如我们需要对页面输入的数据进行验证,只需取一个跟Action同名的xxAction-validation.xml文件,Struts2就会自动进行验证。还有很多,比如国际化资源文件等。
6)多种视图的支持:jsp、freemarker、Veloctiy,只要你愿意,甚至可以轻松地改造让它支持pdf,同一个项目中可以支持多种视图。
最后还有申明式的异常处理。
2. 什么是MVC框架
答:MVC是三个单词的缩写,分别为模型(Model)、视图(View)和控制(Controller)。MVC模式的目的就是实现Web系统的职能分工。Model层实现系统中的业务逻辑,View层用于与用户的交互,Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。