MVC模式设计的Web层框架初识
struts是个什么东西?
-
struts
是一个按MVC
模式设计的Web层
框架,其实它就是一个大大的servlet
,这个Servlet
名为ActionServlet
,或是ActionServlet
的子类。我们可以在web.xml
文件中将符合某种特征的所有请求交给这个Servlet
处理,这个Servlet
再参照一个配置文件(通常为/WEB-INF/struts-config.xml)将各个请求分别分配给不同的action去处理。一个扩展知识点:struts的配置文件可以有多个,可以按模块配置各自的配置文件,这样可以防止配置文件的过度膨胀。
-
ActionServlet
把请求交给action
去处理之前,会将请求参数封装成一个formbean
对象(就是一个java类,这个类中的每个属性对应一个请求参数),封装成一个什么样的formbean
对象呢?看配置文件。 -
要说明的是,
ActionServlet
把formbean
对象传递给action
的execute
方法之前,可能会调用formbean
的validate
方法进行校验,只有校验通过后才将这个formbean
对象传递给action
的execute
方法,否则,它将返回一个错误页面,这个错误页面由input
属性指定,(看配置文件)作者为什么将这里命名为input
属性,而不是error
属性,我们后面结合实际的运行效果进行分析。 -
action
执行完后要返回显示的结果视图,这个结果视图是用一个ActionForward
对象来表示的,actionforward
对象通过struts-config.xml
配置文件中的配置关联到某个jsp页面,因为程序中使用的是在struts-config.xml
配置文件为jsp页面设置的逻辑名,这样可以实现action
程序代码与返回的jsp页面名称的解耦。