SpringMVC(一)----入门程序

SpringMvc最重要的两个功能(核心):

  1. 从请求中接收传过来的参数
  2. 把处理后的结果集返回给页面

Springmvc是什么?
Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来:

SpringMVC(一)----入门程序_第1张图片

SpringMvc处理流程(简单流程图):

SpringMVC(一)----入门程序_第2张图片

jsp是由tomcat解析。把数据和标签进行组装(渲染),再返回给struts2的前端控制器,再返回给浏览器。

上图,Controller访问service,service访问dao,dao访问数据库,拿到数据库返回的数据,再交给DispatcherServlet。DispatcherServlet得到数据库中返回的数据之后,把数据给jsp。

入门程序

1.创建springmvc.xml




	
	

2.配置前端控制器

web.xml



	springmvc
	org.springframework.web.servlet.DispatcherServlet
	
		contextConfigLocation
		classpath:SpringMvc.xml
	
	1


	springmvc
	*.action

3.创建pojo

public class Items {

	private Integer id;
	private String name;
	private Float price;
	private String pic;
	private Date createtime;
	private String detail;
	//getter and setter
}

4.创建Controller

@Controller
public class ItemsController {

	// 指定url到请求方法的映射
	@RequestMapping("/list")
	public ModelAndView imtesList() {

		List itemList = new ArrayList<>();

		// 商品列表
		Items items_1 = new Items();
		items_1.setName("联想笔记本_3");
		items_1.setPrice(6000f);
		items_1.setDetail("ThinkPad T430 联想笔记本电脑!");

		Items items_2 = new Items();
		items_2.setName("苹果手机");
		items_2.setPrice(5000f);
		items_2.setDetail("iphone6苹果手机!");

		itemList.add(items_1);
		itemList.add(items_2);

		// 模型和视图
		// model模型:模型对象中存放了返回给页面的数据
		// view视图:视图对象中指定了返回的页面的位置
		ModelAndView modelAndView = new ModelAndView();
		// 将返回给页面的数据放入模型和视图对象中
		modelAndView.addObject("itemList", itemList);// 页面要根据itemList这个变量取出来
		// 指定返回页面的位置
		modelAndView.setViewName("/WEB-INF/jsp/itemList.jsp");

		return modelAndView;
	}
}

在Controller中要把数据返回给页面。那么:1.要指定返回到哪个页面;2.返回页面的数据内容;

5.创建jsp页面

SpringMVC(一)----入门程序_第3张图片

具体内容见源码

6.测试

SpringMVC(一)----入门程序_第4张图片

在tomcat启动的时候,会加载web.xml。加载完web.xml,也就把DispatcherServlet加载了,那么,classpath:SpringMvc.xml也就被加载了。SpringMvc.xml中配置了包扫描,就会把包扫描指定的base-package下有注解的类加载到内存,变成对象了。

我们在DispatcherServlet的配置文件中,配置了url-patter为*.action,那么只有以.action结尾的请求会被扫描。扫描到了,就会把请求给Controller。怎么给Controller呢?在DispatcherServlet的配置中,指定了classpath:SpringMvc.xml。请求就会找到对应的Controller对象。然后,再通过RequestMapping去映射到具体的方法。

到了具体的方法,会获得一些数据,需要把这些数据返回给页面。还需要指定数据返回到哪个页面去。

入门程序代码


资源下载

你可能感兴趣的:(Spring,MVC)