对于@RequestMapping,有一个属性method,用于对被注解方法所处理请求的提交方式进行限制,只有满足该method属性指定的提交方式,才会执行被注解方法。 method属性的取值为RequestMethod,是一个枚举常量。常用值为 RequestMethod.GET 与 RequestMethod.POST
4、处理器方法的参数
处理器方法中常用的参数有五类,这些参数会在系统调用时由系统自动赋值,即程序员可在方法内直接使用:
①HttpServletRequest
②HttpServletResponse
③HttpSession
④用于承载数据的Model
⑤请求中所携带的请求参数
前三种实现方式:
1 2 3 4 5 6 7 8
@RequestMapping(value="/one.do",method=RequestMethod.GET) public String doFirst(HttpServletRequest request,HttpServletResponse response,HttpSession session){ System.out.println(request); System.out.println(response); System.out.println(session); return "index"; }
用于承载数据的Model:零散参数
1 2 3 4 5 6 7 8 9 10
@RequestMapping(value="/one.do",method=RequestMethod.GET) public String doFirst(Model model){ Map<String,Object> datas=new HashMap<String, Object>(); datas.put("uname", "逗比 ^^"); model.addAllAttributes(datas); System.out.println(model); return "index"; }
对象参数:装配成实体
自定义实体类:UserInfo
1 2 3 4 5 6 7 8 9 10 11 12
public class UserInfo { private String uname; public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; }
FirstController控制器类方法参数是实体类对象:
1 2 3 4 5 6 7 8 9 10 11 12 13
@Controller @RequestMapping(value="/con") public class FirstController{ @RequestMapping(value="/dofirst.do") public String doFirst(UserInfo info){ System.out.println(info.getUname()); return "index"; } }
大配置同理:
jsp页面form表单提交:
实现效果:
控制台会出现乱码情况,如何解决?
5、解决乱码问题:Web.xml配置编码过滤器---CharacterEncodingFilter