前言
web里的请求,一般都是分2种情况,
1、最简单的情况就是,直接跳转页面,而不经过业务控制器。
2、请求要经过业务控制器。
直接跳转页面,而不经过业务控制器
在spring里,专门提供了一个控制器类(ParameterizableViewController)来处理这种情况。
示例
<bean name="/shop/index.do" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="index"/>
</bean>
请求要经过业务控制器
一般的请求都需要经过业务控制器,因为结果页面都需要一些数据来展示。
示例
<bean name="/shop/viewCategory.do" class="org.springframework.samples.jpetstore.web.spring.ViewCategoryController">
<property name="petStore" ref="petStore"/>
</bean>
总结
虽然web请求一般是分2种情况,一种是直接跳转到结果页面而不经过自定义业务控制器,一种是需要经过自定义的业务控制器(大部分情况都是要经过业务控制器,原因如上所述)。但是,最好是所有的请求都应该经过自定义业务控制器,第一是因为系统的所有的请求的处理方式可以保持统一,第二是因为以后如果结果页面需要展示数据的话,那么直接在自定义业务控制器的方法里添加获取数据的代码即可。
最后再补充一点,从本质来说,第二种情况实际上已经包含了第二种情况,它们都需要跳转到结果页面,唯一的区别在于结果页面是否需要展示数据。所以,这更加说明了,最好是统一的所有的请求都应该经过自定义业务控制器。
注:示例代码的来源是spring2.5里的自带的示例项目。