标签:dex options 不同的 request ping 需要 variable 视图 cep
controller是一个接口,org.springframework.web.servlet.mvc
//实现该接口的类获得控制器功能
public interface Controller {
//处理请求且返回一个模型与视图对象
ModelAndView handleRequest(HttpServletRequest var1, HttpServletResponse var2) throws Exception;
}
编写一个Controller
使用注解方式
@Controller注解类型用于声明Spring类的实例是一个控制器
使用扫描机制找到应用程序中所有基于注解的控制类,需要在配置文件中声明组件扫描
<!-- 自动扫描指定的包,下面所有注解类交给IOC容器管理 -->
<context:component-scan base-package="com.ry.controller"/>
@Controller
public class ErrorController {
@RequestMapping("/error")
public String index(Model model) {
Model model1 = model.addAttribute("msg", "1Controller");
// 返回视图位置
return "hello";
}
}
@RequestMapper
是一个资源定义和资源操作的风格,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存机制
功能
使用RESTful操作资源 : 可以通过不同的请求方式来实现不同的效果!如下:请求地址一样,但是功能可以不同!
//实现
@Controller
public class RestFulController {
//映射访问路径
@RequestMapping("/commit/{p1}/{p2}")
public String index(@PathVariable int p1, @PathVariable int p2, Model model){
int result = p1+p2;
//Spring MVC会自动实例化一个Model对象用于向视图中传值
model.addAttribute("msg", "结果:"+result);
//返回视图位置
return "test";
}
}
@PathVariable是spring3.0的一个新功能:接收请求路径中占位符的值
restful风格的优点:
使用method属性可以约束请求的类型。GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE
//映射访问路径,必须是POST请求
@RequestMapping(value = "/hello",method = {RequestMethod.POST})
public String index2(Model model){
model.addAttribute("msg", "hello!");
return "test";
}
@RequestMapping注解能够处理HTTP 请求的方法
@GetMapping是一个组合注解,相当于@RequestMapping(method =RequestMethod.GET)
Springmvc:(三) Controller/ RestFul风格
标签:dex options 不同的 request ping 需要 variable 视图 cep
原文地址:https://www.cnblogs.com/dreamzone/p/12485651.html