SpringMVC—表示层框架

简介

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框架的其中一个作用,获取网页连接,也就是说我们此时已经可以把我们在前端学的表单拿到这里使用了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值