springMVC框架学习(1)-入门

一,springMVC简介

springMVC和Struts2都属于表现层框架,它是spring家族的一个小模块。使用简单,学习成本低。
核心前端控制器:dispatcherServlet

二,入门案例

场景:浏览器输入 list.action 跳转到一个商品列表页面

1.创建web工程

创建一个动态的web项目

2.添加jar包

springMVC、spring、junit
在这里插入图片描述

3.配置前端控制器

在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>
 </servlet>
 <servlet-mapping>
 	<servlet-name>springmvc</servlet-name>
 	<!--    /*  :过滤所有请求   包含jsp-->
	<!--    /   :过滤所有请求  不包含jsp-->
	<!--    *.action : 过滤以.action结尾的请求-->
 	<url-pattern>*.action</url-pattern>
 </servlet-mapping>

4.添加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:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">
        
        	
</beans>

5.创建一个商品pojo

public class Items {
    private Integer id;
    private String name;
    private Float price;
    private String pic;
    private Date createtime;
    private String detail;
//set和get方法。。。

6.创建一个商品Controller

传统方式:实现一个Controller接口

public class ItemsController implements Controller {

	@Override
	public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
		//模拟数据
		List<Items> list = new ArrayList<Items>();
		
		for (int i = 0; i < 10; i++) {
			Items items = new Items();
			items.setId(i);
			items.setName("小米"+i);
			items.setCreatetime(new Date());
			items.setDetail("国产好手机");
			items.setPrice((float) (1000*i));
			list.add(items);
		}
		
		ModelAndView modelAndView = new ModelAndView();
		modelAndView.addObject("itemList", list);	//相当于把数据放入request域中
		//逻辑视图:就是jsp路径
		modelAndView.setViewName("/WEB-INF/jsp/itemsList.jsp");
		
		return modelAndView;
	}
}

注解方式:添加一个@Controller标签

@Controller
public class ItemsController2 {
	@RequestMapping("/list")
	public ModelAndView list(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
		//模拟数据
		List<Items> list = new ArrayList<Items>();
		
		for (int i = 0; i < 10; i++) {
			Items items = new Items();
			items.setId(i);
			items.setName("紅米"+i);
			items.setCreatetime(new Date());
			items.setDetail("国产好手机");
			items.setPrice((float) (1000*i));
			list.add(items);
		}
		ModelAndView modelAndView = new ModelAndView();
		modelAndView.addObject("itemList", list);	//相当于把数据放入request域中
		//逻辑视图:就是jsp路径
		modelAndView.setViewName("/WEB-INF/jsp/itemList.jsp");
		
		return modelAndView;
	}
}

7.创建一个jsp页面

部分页面代码
</table>
商品列表:
<table width="100%" border=1>
<tr>
	<td>商品名称</td>
	<td>商品价格</td>
	<td>生产日期</td>
	<td>商品描述</td>
	<td>操作</td>
</tr>
<c:forEach items="${itemList }" var="item">
<tr>
	<td>${item.name }</td>
	<td>${item.price }</td>
	<td><fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
	<td>${item.detail }</td>	
	<td><a href="${pageContext.request.contextPath }/itemEdit.action?id=${item.id}">修改</a></td>
</tr>
</c:forEach>
</table>

8.配置springmvc.xml

传统方式:把Controller配置到springmvc.xml中

<bean name="/list.action" class="com.djc.controller.ItemsController"></bean>

注解方式:开启包扫描

<context:component-scan base-package="com.djc.controller"></context:component-scan>

9.tomcat测试

把项目放入Tomcat中,启动后浏览器输入http://localhost:8080/spring01/list.action

三,springMVC完整架构图

在这里插入图片描述

1.springmvc三大核心组件:

1、处理器映射器
HandlerMapping:
org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping(传统开发方式)
org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping(过时的注解开发方式)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping(最新版本的注解开发方式)
2、处理器适配器
HandlerAdapter:
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter(传统开发方式)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter(过时的注解开发方式)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter(最新版本的注解开发方式)
3、注解驱动 mvc:annotation-driven/ 代替了上述两个
4、视图解析器
ViewResolver:
org.springframework.web.servlet.view.InternalResourceViewResolver

2.使用新版映射器和适配器配置

<!--    配置最注解开发方式新版本的处理器映射器 
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
		     配置最注解开发方式新版本的处理器适配器 
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
		 -->
<!--  注解驱动 目的:加载新版本的处理器映射器、处理器适配器-->
<mvc:annotation-driven/>

3.配置视图解析器的前缀和后缀

<!--  配置视图解析器的前缀和后缀 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<property name="prefix" value="/WEB-INF/jsp/"></property>
	<property name="suffix" value=".jsp"></property>
</bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值