食品安全应急处置预案:spring MVC 基本操作方法2

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 20:39:26
除了直接实现Controller接口外,Spring还提供了许多功能更多的Controller的实现,可以选择继承一个合适类型的Controller来简化编码。相对于Struts或 WebWork,Spring提供的Controller层次极为丰富,如图7-24所示。 

AbstractController提供了一个最顶层的Controller模板,用来完成一些基本的任务。AbstractController可以注入以下属性。

(1)supportedMethods:设定允许的HTTP请求方式,默认为GET和POST。如果需要PUT、HEAD之类的请求,则需要覆盖默认的设定,不过,通常不需要设定其他HTTP请求方式。

(2)requireSession:设定是否需要Session支持,默认为false。如果设定为true,则要求当前请求必须和Session关联,这样可以保证子类在任何时候调用request.getSession()时不会得到null。

(3)cacheSeconds:设定HTTP响应头的缓存,默认值为-1,表示不添加任何缓存指令到HTTP响应头;如果设为0,表示完全不缓存;如果设为大于0,表示应当缓存的秒数。

(4)synchronizeOnSession:表示来自同一用户的请求是否能并行处理,默认值为false,表示允许同一用户同时向服务器发送多个请求。如果设定为true,则同一用户的请求只能被依次处理,这个设置可以有效控制同一用户对服务器的并发请求,例如,禁止使用多线程下载由Controller生成的文件。

由于AbstractController位于Controller继承体系的上端,其他子类也可以非常方便地设定上述属性。 

Spring提供了一套标签库,能大大简化表单的绑定和验证任务,为了使用Spring内置的Tag和JSP标准标签库,需要将c.tld和spring-form.tld复制到/web/WEB-INF/目录下,并且在web.xml中声明。

    http://java.sun.com/jsp/jstl/core

    /WEB-INF/c.tld

    http://www.springframework.org/tags/form

    /WEB-INF/spring-form.tld