1. 与Struts1相比,Strtus2的优点?
a. 在软件设计上Struts2没有像Struts1那样跟ServletApi和Struts api有着紧密的耦合,Struts2的应用可以不依赖于Servlet api和Struts api。Struts2在这种设计属于无侵入式设计,而Struts1属于侵入式设计。
example: Servlet api指的是request和response的存在;Struts api:指的是ActionForm,ActionMapping的存在。
b.Struts2提供拦截器,利用拦截器可进行aop编程,实现权限拦截等功能。
c. Struts2提供了类型转换器,我们可以把特殊的请求参数转换成需要的类型。在Struts1中,如果我们要实现同样的功能,就必须向struts1的底层实现BeanUtil注册类型转换器才行。
d. Struts2提供支持多种表现层技术:如:jsp,freeMarker,Velocity等。
e.Struts2的输入校验可以对指定方法进行校验,解决了Struts1长久之痛。
f. 提供了全局范围,包范围和action范围的国际化资源文件管理实现。
2. 什么是aop编程?
aop是Aspect Oriented Programming的缩写,中文意思是:aop面向切面编程
3. ioc编程?
Inversion of Control控制翻转。在java开发中,ioc意味着将你设计好的类交个系统去控制,而不是在你的类内部控制,这就好似控制翻转。
注:Spring是一个使用pojo(纯粹java对象),以控制翻转原则和面向方面编程思想为基础的轻量级j2ee开发框架。