当前位置 : 主页 > 编程语言 > c++ >

spring mvc 知识体系:核心流程与请求映射

来源:互联网 收集:自由互联 发布时间:2021-07-03
mvc的流程注释与请求映射示范 /*核心流程:浏览器-DispatcherServlet-HandlerMapping-HandlerAdapter-Controller-DispatcherServlet-ViewResoler-View-浏览器详解:--1.浏览器 请求 DispatcherServlet(核心Servlet)--2.Dispatch
mvc的流程注释与请求映射示范
/*核心流程:浏览器-DispatcherServlet-HandlerMapping-HandlerAdapter-Controller-DispatcherServlet-ViewResoler-View-浏览器
详解:
	-->1.浏览器 请求 DispatcherServlet(核心Servlet)
	-->2.DispatcherServlet 	调用 HandlerMapping(映射处理类)
	-->3.HandlerMapping 	调用 HandlerAdapter(处理适配器)
	-->4.HandlerAdapter 	分配 到指定的 Controller
	-->5.Controller     	处理 完数据后  返回到DispatcherServlet
	-->6.DispatcherServlet 	根据 Controller返回结果找到 ViewResoler视图解析器
	-->7.ViewResoler	找到 指定页面*/
@Controller
@RequestMapping("/user")
public class UserInfoController {
	
	//请求映射:@RequestMapping(value,method,params,headers)
	
	//1.对象请求
	@RequestMapping(value="/test2")
	public String test2(UserInfo info){
		System.out.println(info);
		return "index";
	}
	
	//2.@RequestParam(value,required,defaultValue)
	//-->value	参数名
	//-->required	是否为必须,默认true,必须有参数,无则抛异常
	//-->defaultValue	默认值,有此属性则required=false
	@RequestMapping(value="/test1")
	public String test1(@RequestParam(value="abc",required=false,defaultValue="aaaaaa") String id){
		System.out.println("有用户请求我"+id);
		return "index";
	}
	
	//3.@PathVariable("userid"):获取路由参数列表值
    //在地址栏直接输入/abc-参数1-参数2
	@RequestMapping(value="/abc-{id}-{name}")
	public String test(@PathVariable("id")String id,@PathVariable("name")String name){
		System.out.println("有用户请求我"+id);
		System.out.println("name1"+name);
		return "index";
	}
	
	//4.ajax请求 使用@ResponseBody注解即可
	@RequestMapping(value="/ajax",produces="text/plain;charset=utf-8")
	@ResponseBody
	public String ajax(String name,HttpServletResponse response){
		System.out.println(name);
		System.out.println(response.getCharacterEncoding());
		System.out.println(response.getContentType());
		//返回值中文容易乱码,需要设置格式
		return "我是AJAX返回的信息:"+name;
	}
	
	//5.参数也支持 实体类,HttpServletRequest,HttpServletResponse
	@RequestMapping(value="/test3")
	public String test3(HttpServletRequest request){
		System.out.println(request.getParameter("name"));
		System.out.println(request.getParameter("pwd"));
		return "index";
	}
	
}
网友评论