14 个 SpringMVC顶级技巧,随时用随时爽( 二 )

这将创建具有有关受支持的方法 , 会话和缓存的配置的单动作控制器 , 然后可以在控制器的bean声明中指定这些配置 。 例如:
此配置指示POST 此控制器的hander 方法仅支持该方法 。
Spring MVC还提供了几种针对特定目的而设计的控制器类 , 包括:

  • AbstractUrlViewController
  • MultiActionController
  • ParameterizableViewController
  • ServletForwardingController
  • ServletWrappingController
  • UrlFilenameViewController
4.为处理程序方法指定URL映射这是编码控制器类时必须执行的强制性任务 , 该控制器类旨在处理一个或多个特定请求 。 Spring MVC提供了@RequestMapping 注释 , 该注解用于指定URL映射 。 例如:
@RequestMapping("/login")这映射了/login 要由带注解的方法或类处理的URL模式 。 当在类级别使用此注解时 , 该类将成为单动作控制器 。 例如:
import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;@Controller@RequestMapping("/hello")public class SingleActionController {@RequestMapping(method = RequestMethod.GET)public String sayHello() {return "hello";}}当@RequestMapping 注解在方法级别使用的 , 你可以有一个多动作控制器 。 例如:
import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class UserController {@RequestMapping("/listUsers")public String listUsers() {return "ListUsers";}@RequestMapping("/saveUser")public String saveUser() {return "EditUser";}@RequestMapping("/deleteUser")public String deleteUser() {return "DeleteUser";}}@RequestMapping注释还可以用于指定一个方法要处理的多个URL模式 。 例如:
@RequestMapping({"/hello", "/hi", "/greetings"})此外 , 此注解还具有在某些情况下可能有用的其他属性 , 例如method 。
5.为处理程序方法指定HTTP请求方法可以使用 注解的method 属性 指定处理程序方法支持哪种HTTP方法(GET , POST , PUT等) @RequestMapping 。 这是一个例子:
import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;@Controllerpublic class LoginController {@RequestMapping(value = "http://kandian.youth.cn/login", method = RequestMethod.GET)public String viewLogin() {return "LoginForm";}@RequestMapping(value = "http://kandian.youth.cn/login", method = RequestMethod.POST)public String doLogin() {return "Home";}}此控制器有两个处理相同URL模式的方法/login , 但前者用于 GET 方法 , 而后者用于 POST 方法 。 有关使用@RequestMapping 注解的更多信息 , 请参见 @RequestMapping注解 。
6.将请求参数映射到处理程序方法Spring MVC的很酷的功能之一是 , 您可以使用@RequestParam 注解将请求参数作为处理程序方法的常规参数进行检索 。 这是将控制器HttpServletRequest 与Servlet API 的接口分离的好方法 。
@RequestMapping(value = "http://kandian.youth.cn/login", method = RequestMethod.POST)public String doLogin(@RequestParam String username,@RequestParam String password) {}


推荐阅读