
声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。
获得HttpRequest以及HTTPResponse对象
在控制器中要想获得HttpRequest以及HTTPResponse对象很简单,直接在方法上声明这两个对象的参数即可,示例:
package org.zero01.test; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @Controller @RequestMapping("/test") public class Test { @RequestMapping("/test.do") public void method(HttpServletRequest request, HttpServletResponse response) { System.out.println(request.getRequestURI()); System.out.println(response.getStatus()); } }
使用Postman进行访问,访问方式如下:

控制台打印结果:
/test/test.do 200
把url参数封装到对象的属性里
通常url上会带有好几个参数,我们希望把这些参数都封装到某个对象的属性里,这样就不需要在方法上声明多个参数了,只需要声明一个对象即可。而SpringMVC可以自动帮我们完成这个事情,我们只需要创建一个封装类即可。例如我这里创建一个Student类,里面封装了与URL参数对应的属性:
Student类代码如下:
package org.zero01.test; public class Student { private String sname; private int age; private String address; public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }
控制器代码如下:
package org.zero01.test; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @Controller @RequestMapping("/test") public class Test { @RequestMapping("/test.do") // 只需要在方法上声明一个对象参数即可 public void method(Student student) { System.out.println(student.getSname()); System.out.println(student.getAge()); System.out.println(student.getAddress()); } }
使用Postman进行访问,访问方式如下:

控制台打印结果:
Jon 22 15
注:URL参数的名称要与对象属性的名称对应得上,不然是无法进行绑定的。如:

控制台打印结果:
Jon 0 null

文章转载自凯哥学堂,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




