A:Struts是一个按照MVC模式设计的Web层框架,其实它就是一个大大的servlet,这个servlet名为ActionServlet,或是ActionServlet的子类,我们可以在web.xml文件中将符合某种特征的所有请求交给这个Servet处理,这个Servelt在参照一个配置文件(通常为/WEB-INF/struts-config.xml)将各个请求分别分配给不同的action去处理。一个扩展知识点:struts的配置文件可以有多个,可以按照模块配置各自的配置文件,这样可以防止配置文件的过度膨胀。
B:ActionServlet把请求交给Action去处理之前,会将请求参数封成一个formbean对象(就是一个java类,这个类中的每个属性对应一个请求参数),封装成什么样的formbean对象呢?看配置文件。
C:ActionServlet把formbean对象传递给action的execute方法之前,可能会调用formbean的valiate方法进行校验,只有校验通过之后才将这个formbean对象传递给action的execute方法,否则,它将返回一个错误页面,这个错误页面由input属性指定。
D:action执行完后要返回要返回的结果视图,这个结果视图是用一个ActionForward对象来表示的,actionforward对象通过struts-config.xml配置文件中的配置关联到某个jsp页面,因为程序中使用的是在struts-config.xml配置文件为jsp页面设置的逻辑名,这样可以实现action程序代码与返回的jsp页面名称的解耦。
Struts主要功能:
1:包含一个controller servlet 能将用户的请求发送到相应的Action对象。
2:JSP自由tag库,并且在controller servlet中提供关联吃,帮助开发创建交互式表单应用。
3:提供了一系列适用对象;XML处理、通过java reflection API自动处理javabean属性,国际化的提示和消息。