Controller
Contrller 传统方式
利用HttpServletRequest处理请求参数,使用request.setAttribute("course",course)传参
// /courses/view3?courseId=456 形式的URL
@RequestMapping("view3")
public String viewCourse3(HttpServletRequest request){
Integer courseId = Integer.valueOf(request.getParameter("courseId"));
log.debug("In viewCourse3 ,courseId = {}",courseId);
Course course = courseService.getCoursebyId(courseId);
request.setAttribute("course",course);
return "course_overview";
}
@Controller 定义
@RequestMapping映射路径,定义被拦截路径
URL template(@RequestParam and @PathVariable) 入参定义方法,普通模式:@RequestParam ,Restful模式:@PathVariable
@RequestMapping 可以是类级别 和 方法级别使用
Controller——传统方式
Controller中使用HttpServletRequest对象(方法中使用HttpServletRequest对象)
【步骤1】pom文件中引入Servlet的API
【步骤2】通过request把逻辑数据放入域对象request对象中
课程总结:
1、通过@Controller的annotation声明了一个Controller
2、通过@RequestMapping的annotation映射了URL和方法,通常出现在类级别和方法级别,二者共同组合完成了对一个URL映射请求的拦截。
3、通过URL template结合使用(@Requestparam and @PathVariable)两个标记可以将URL路径之中的参数绑定到方法参数中
4、可以通过使用HttpServletRequest或者HttpSession之类的对象来获取想要的结果。
传统request
Controller——传统方式
Controller中使用HttpServletRequest对象(方法中使用HttpServletRequest对象)
【步骤1】pom文件中引入Servlet的API
【步骤2】通过request把逻辑数据放入域对象request对象中
课程总结:
1、通过@Controller的annotation声明了一个Controller
2、通过@RequestMapping的annotation映射了URL和方法,通常出现在类级别和方法级别,二者共同组合完成了对一个URL映射请求的拦截。
3、通过URL template结合使用(@Requestparam and @PathVariable)两个标记可以将URL路径之中的参数绑定到方法参数中
4、可以通过使用HttpServletRequest或者HttpSession之类的对象来获取想要的结果。
@Controller和@RequestMapping组合对映射请求的拦截
通过@RequestParam和@PathVariable进行参数绑定
//courses/view?id=123
//courses/view{id}
Spring MVC 提供了以下几种途径输出模型数据:
ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据
Map 及 Model: 入参为org.springframework.ui.Model、org.springframework.ui.ModelMap 或 java.uti.Map 时,处理方法返回时,Map 中的数据会自动添加到模型中。
@SessionAttributes: 将模型中的某个属性暂存到 HttpSession 中,以便多个请求之间可以共享这个属性
@ModelAttribute: 方法入参标注该注解后, 入参的对象就会放到数据模型中
Controller注解
@Controller 使用在类上,声明一个controller
@RequestMapping(value , method) 使用在类或方法上,完成url映射
@Autowired 使用在set/get方法
@RequestParam / @PathVariable 绑定url中的参数
使用HttpServletRequest来处理请求,需要在pom中引入依赖
第三种:HttpServletRequest的Controller方法
@Controller
@RequestMapping 映射URL到方法
@RequestParam @PathVariable 处理URL中的参数
URL template
@RequestParam和@PathVariable 结合使用~ 获取url的参数
传统方式 Controller
给类打上标记 Controller
利用 RequestMapping 给类 和方法打上标签
使用 URL template(@RequestParam and @PathVariable)方式传递参数
使用HttpServletRequest / HttpSession 方式 发送请求
@RequestMapping
对类级别或方法级别的url的拦截
@Controller
@RequestMapping分为类级别和方法级别,结合使用,映射url地址
@RequestParam
@PathVariable
HttpServletRequest
Controller总结
Controller
处理第三种url
springmvc中的Controller