简介
Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。
在Spring的Web MVC框架提供了模型 - 视图 - 控制器架构以及可用于开发灵活,松散耦合的Web应用程序准备的组件。 MVC模式会导致分离的应用程序(输入逻辑,业务逻辑和UI逻辑)的不同方面,同时提供这些元素之间的松耦合。
1.模型(Model )封装了应用程序的数据和一般他们会组成的POJO。
2.视图(View)是负责呈现模型数据和一般它生成的HTML输出,客户端的浏览器能够解释。
3.控制器(Controller )负责处理用户的请求,并建立适当的模型,并把它传递给视图渲染。
POJO是什么
Plain Ordinary Java Object 也就是简单的Java对象,它的内部仅有一些属性和get,set方法,但是不允许有业务方法。
获取表单数据案例
我们以web中的car做例子。
准备工作
1.创建Maven项目
2.更新Maven默认的jdk1.5->1.8
3.创建pojo对象(Student.java)
package ssm.study.stu.pojo;
public class Student {
private String name;
private Integer age;
private Character sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Character getSex() {
return sex;
}
public void setSex(Character sex) {
this.sex = sex;
}
}
4.Controller创建
package ssm.study.stu;
import java.util.Arrays;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import ssm.study.stu.pojo.Student;;
@RestController //标识身份
public class StuController {
@RequestMapping("/stu/add1")
public String add1(
@RequestParam("pid") Integer id, //起到映射作用,页面id,值放入pid
String name,
Integer age,
String[] hobby //数组
) { //SpringMVC会自动把pid封装到方法的参数中
//一般的情况下,参数名字和html页面表单组件名称相同
System.out.println("从前台接收到的参数:");
System.out.println(id);
System.out.println(name);
System.out.println(age);
System.out.println(Arrays.toString(hobby));
return "success";
}
//页面参数很多,就可以使用POJO对象(纯粹对象,私有属性+get/set),Student来封装页面数据
//SpringMVC会自动把所有属性的值放到student对象
//private String name 反射可以拿到私有属性,页面name
//如果页面的属性和对象的属性匹配,找到了,反射set放入
//如果页面的属性没有匹配,找不到,舍弃
@RequestMapping("/stu/add2")
public Student add2(Student student) {
System.out.println(student); //打印student对象,调用toString()
return student; //返回json对象,在页面展示
}
}
7.运行RunApp类
package ssm.study;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class RunApp {
public static void main(String[] args) {
SpringApplication.run(RunApp.class, args);
}
}
随后我们在浏览器输入链接:
http://localhost:8080/stu/add1?pid=666&name=2&age=2&sex=0&hobby=run&hobby=climb&edu=6&eduTime=0002-02-22&submit=%E4%BF%9D%E5%AD%98
回车就可以得到stu的部分属性。
http://localhost:8080/stu/add2?pid=666&name=2&age=2&sex=0&hobby=run&hobby=climb&edu=6&eduTime=0002-02-22&submit=%E4%BF%9D%E5%AD%98
同样回车就可以得到stu的部分属性。
以上是MVC框架的其中一个作用,获取网页连接,也就是说我们此时已经可以把我们在前端学的表单拿到这里使用了。