在Spring2.0中,所有的[b]控制器实现[/b]都继承了AbstractController,它提供了一些功能,我们只需要在自己的Spring配置文件中,给相应的控制器bean,配置一些属性,就可以实现基础抽象类提供的功能:
首先我们假设,在sprapp-servlet.xml文件中有如下配置:
...
[color=blue]<bean id="sprappController" class="controller.SprappController">
<property name="busiService">
<ref bean="busiService">
</property>
</bean>[/color]
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello.htm">sprappController</prop>
</props>
</property>
</bean>
[b][1]supportedMethods功能:[/b]
指定控制器接受什么样的方法.默认为同时支持GET和POST,如果我们指定了
[color=blue]<property name="supportedMethods" value="POST"/>[/color]
那么对于GET请求,客户端将接收到一个异常.对于IE,就是一个HTTP 500的错误页面,抛出的异常就是[color=red]org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported[/color]
改回来也很容易: [color=blue]<property name="supportedMethods" value="GET,POST" />[/color],或者干脆不注射这个属性,取默认值就可以了.
[b][2]cacheSeconds功能[/b]
指定控制器 通知客户端 对数据内容缓存的秒数,一般为大于零的整数。默认值为-1,即不缓存。
例如: [color=blue]<property name="cacheSeconds" value="120"/>[/color],就是通知客户端将响应数据缓存2分钟.
首先我们假设,在sprapp-servlet.xml文件中有如下配置:
...
[color=blue]<bean id="sprappController" class="controller.SprappController">
<property name="busiService">
<ref bean="busiService">
</property>
</bean>[/color]
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello.htm">sprappController</prop>
</props>
</property>
</bean>
[b][1]supportedMethods功能:[/b]
指定控制器接受什么样的方法.默认为同时支持GET和POST,如果我们指定了
[color=blue]<property name="supportedMethods" value="POST"/>[/color]
那么对于GET请求,客户端将接收到一个异常.对于IE,就是一个HTTP 500的错误页面,抛出的异常就是[color=red]org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported[/color]
改回来也很容易: [color=blue]<property name="supportedMethods" value="GET,POST" />[/color],或者干脆不注射这个属性,取默认值就可以了.
[b][2]cacheSeconds功能[/b]
指定控制器 通知客户端 对数据内容缓存的秒数,一般为大于零的整数。默认值为-1,即不缓存。
例如: [color=blue]<property name="cacheSeconds" value="120"/>[/color],就是通知客户端将响应数据缓存2分钟.