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

SpringMvc最重要的两个功能(核心):从请求中接收传过来的参数把处理后的结果集返回给页面Springmvc是什么?Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来:SpringMvc处理流程(简单流程图):jsp是由tomcat解析。把数据和标签进行组装(渲染),再返回给struts2的前端控制器,再返回...
摘要由CSDN通过智能技术生成

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

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

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


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


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

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

入门程序

1.创建springmvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
        http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">

	<!-- 配置@Controller注解扫描 -->
	<context:component-scan base-package="com.ken.controller" />
</beans>

2.配置前端控制器

web.xml

<!-- 前端控制器 -->
<servlet>
	<servlet-name>springmvc</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<init-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:SpringMvc.xml</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
	<servlet-name>springmvc</servlet-name>
	<url-pattern>*.action</url-pattern>
</servlet-mapping>

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<Items> 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页面


具体内容见源码

6.测试


在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去映射到具体的方法。

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

入门程序代码


资源下载

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值