Controller配置
控制器Controller
实现Controller接口
//实现Controller接口的类可以获得控制器的功能
public interface Controller {
//处理请求且返回一个模型与视图对象
@Nullable
ModelAndView handleRequest(HttpServletRequest var1, HttpServletResponse var2) throws Exception;
}
接口方法实现Controller
注解方法实现Controller
RequestMapping配置
RestFul
概念
传统方式
package com.wei.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
//@Controller注解的类会自动添加到Spring上下文中,被这个注解的类,返回String,并且有具体页面跳转,就会被视图解析器解析
@Controller
public class RestFulController {
@RequestMapping("/add")
public String test1(int a, int b, Model model) {
int result = a + b;
model.addAttribute("msg", "结果为:" + result);
return "test";
}
}
RestFul方式
package com.wei.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
//@Controller注解的类会自动添加到Spring上下文中,被这个注解的类,返回String,并且有具体页面跳转,就会被视图解析器解析
@Controller
public class RestFulController {
@RequestMapping("/add/{a}/{b}")
public String test1(@PathVariable int a,@PathVariable int b, Model model) {
int result = a + b;
model.addAttribute("msg", "结果为:" + result);
return "test";
}
}
方式一:
package com.wei.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
//@Controller注解的类会自动添加到Spring上下文中,被这个注解的类,返回String,并且有具体页面跳转,就会被视图解析器解析
@Controller
public class RestFulController {
// @GetMapping("/add/{a}/{b}")
// @PostMapping("/add/{a}/{b}")
// @PutMapping("/add/{a}/{b}")
// @DeleteMapping("/add/{a}/{b}")
// @PatchMapping("/add/{a}/{b}")
@GetMapping("/add/{a}/{b}")
public String test1(@PathVariable int a,@PathVariable int b, Model model) {
int result = a + b;
model.addAttribute("msg", "test1结果为:" + result);
return "test";
}
@PostMapping("/add/{a}/{b}")
public String test2(@PathVariable int a,@PathVariable int b, Model model) {
int result = a + b;
model.addAttribute("msg", "test2结果为:" + result);
return "test";
}
}
方式二:
package com.wei.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
//@Controller注解的类会自动添加到Spring上下文中,被这个注解的类,返回String,并且有具体页面跳转,就会被视图解析器解析
@Controller
public class RestFulController {
@RequestMapping(value = "/add/{a}/{b}",method = RequestMethod.GET)
public String test1(@PathVariable int a,@PathVariable int b, Model model) {
int result = a + b;
model.addAttribute("msg", "test1结果为:" + result);
return "test";
}
@RequestMapping(value = "/add/{a}/{b}",method = RequestMethod.POST)
public String test2(@PathVariable int a,@PathVariable int b, Model model) {
int result = a + b;
model.addAttribute("msg", "test2结果为:" + result);
return "test";
}
}