它始终是环绕 handler、 数据模型 model、 页面view进行开拓的。

运行流程图:

通过mvc配置文件,配置“中心处理器”dispatchservlet,当用户要求一个url,dispatchservlet通过handlerMapping(通过表明的形式)将url给对应的handleradapter,handleradapter的详细业务逻辑是controller即我们须要实现的部分,实现详细的业务逻辑之后,须要返回modelandview给dispatchservlet,dispatchservlet再返回详细的数据或者jsp给用户。

jsp中显示listSSM系列SSM整合3 Python

二.http要求地址映射

http要求 -> sringmvc handler mapping表明 -> handler处理

1.表明映射: @RequestMapping

支持标准urlant风格url (? 字符形式){xxx}占位符 restful 形式

2.要求方法细节

要求参数绑定要求办法限定要求转发和重定向数据模型赋值返回joson数据

举个列子:

@RequestMapping(value=\"大众/{seckillId}/detail\公众,method = RequestMethod.GET) public String detail(@PathVariable(\"大众seckillId\"大众) Long seckillId, Model model){ if(seckillId==null){ return \"大众redirect:/seckill/list\"大众; } Seckill seckill=seckillService.getById(seckillId); if(seckill==null){ return \"大众redirect:/seckill/list\公众; } model.addAttribute(\"大众seckill\公众,seckill); return \"大众detail\"大众; }

@PathVariable(“seckillId”) 要求参数绑定

method = RequestMethod.GET) 要求办法限定

return “redirect:/seckill/list”; return “redirect:/seckill/list”;要求转发和重定向

model.addAttribute(“seckill”,seckill);数据模型赋值

返回json通过produces = {“application/json;charset=UTF-8”}/ @ResponseBody表明

###三.整合springMVC框架 在webapp 的web-inf下的web.xml配置。
配置DisatchServlet:

<servlet> <servlet-name>seckill-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/spring-.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>seckill-dispatcher</servlet-name> <!--默认匹配所有的要求--> <url-pattern>/</url-pattern> </servlet-mapping>

创建spring-web.xml配置SpringMvc,在代码中有详细的表明:

<?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:mvc=\公众http://www.springframework.org/schema/mvc\"大众 xmlns:context=\"大众http://www.springframework.org/schema/context\"大众 xsi:schemaLocation=\"大众http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd\"大众> <!--配置springMVC--> <!--1:开启springMVC表明模式--> <!--简化配置 (1)自动注册DefautAnnotationHandlerMapping,AnnotationMethodHandlerAdapter (2) 供应一系列:数据绑定,数字和日期的format @NumberFormat,@DataTimeFormat, xml,json默认读写支持 --> <mvc:annotation-driven/> <!--2:静态资源默认servlet配置 1:加入对静态资源的处理:js,gif,png 2:许可利用\公众/\公众做整体映射 --> <mvc:default-servlet-handler/> <!--3:配置jsp 显示viewResolver--> <bean class=\公众org.springframework.web.servlet.view.InternalResourceViewResolver\公众> <property name=\"大众viewClass\"大众 value=\"大众org.springframework.web.servlet.view.JstlView\"大众/> <property name=\公众prefix\"大众 value=\"大众/WEB-INF/jsp/\"大众/> <property name=\公众suffix\"大众 value=\公众.jsp\公众/> </bean> <!--4:扫描web干系的bean--> <context:component-scan base-package=\"大众org.forezp.web\"大众/></beans>

四.controller的实现

通过@Controller 表明将controller注入到spring ioc中

@RequestMapping url映射

model用来存放数据的。

例子:

@Controller@RequestMapping(\"大众/seckill\公众) //url:/模块/资源/{id}/细分 /seckill/listpublic class SeckillController { private final Logger logger= LoggerFactory.getLogger(this.getClass()); @Autowired private SeckillService seckillService; @RequestMapping(value=\公众/list\公众,method = RequestMethod.GET) public String list(Model model){ //获取列表页 List<Seckill> list=seckillService.getSerkillList(); model.addAttribute(\"大众list\公众,list); //list.jsp+model=ModelAndView return \"大众list\公众;///WEB-INF/jsp/\公众list\"大众.jsp } }

###五.view的实现

直接上代码:

<%@ taglib prefix=\"大众c\"大众 uri=\"大众http://java.sun.com/jsp/jstl/core\"大众 %>

<%@ taglib prefix=\"大众fmt\"大众 uri=\"大众http://java.sun.com/jsp/jstl/fmt\公众 %>

<%@ page contentType=\公众text/html;charset=UTF-8\"大众 language=\"大众java\"大众 %>

<!DOCTYPE html>

<html>

<head>

<title>秒杀列表页</title>

<%@include file=\"大众common/head.jsp\"大众 %>

</head>

<body>

<!--页面显示部分-->

<div class=\"大众container\"大众>

<div class=\公众panel panel-default\"大众>

<div class=\公众panel-heading text-center\公众>

<h2>秒杀列表</h2>

</div>

<div class=\"大众panel-body\"大众>

<table class=\"大众table table-hover\"大众>

<thead>

<tr>

<th>名称</th>

<th>库存</th>

<th>开始韶光</th>

<th>结束韶光</th>

<th>创建韶光</th>

<th>详情页</th>

</tr>

</thead>

<tbody>

<tr>

<c:forEach var=\"大众sk\"大众 items=\公众${list}\"大众>

<tr>

<td>${sk.name}</td>

<td>${sk.number}</td>

<td>

<fmt:formatDate value=\"大众${sk.startTime}\"大众 pattern=\"大众yyyy-MM-dd HH:mm:ss\公众/>

</td>

<td>

<fmt:formatDate value=\"大众${sk.endTime}\"大众 pattern=\"大众yyyy-MM-dd HH:mm:ss\"大众/>

</td>

<td>

<fmt:formatDate value=\公众${sk.createTime}\"大众 pattern=\"大众yyyy-MM-dd HH:mm:ss\"大众/>

</td>

<td>

<a class=\"大众btn btn-info\公众 href=\"大众/minnkill/seckill/${sk.seckillId}/detail\"大众 target=\公众_blank\"大众>link</a>

</td>

</tr>

</c:forEach>

</tr>

</tbody>

</table>

</div>

</div>

</div>

</body>

<!-- jQuery文件。
务必在bootstrap.min.js 之前引入 -->

<script src=\"大众http://apps.bdimg.com/libs/jquery/2.0.0/jquery.min.js\"大众></script>

<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->

<script src=\"大众http://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js\公众></script>

</html>

运行tomacat,http://localhost:8080/minnkill/seckill/list页面内容的展示:

通过url:http://localhost:8080/minnkill/seckill/list;做事端通过springmvc-mybatis框架从数据库拿到了数据并展示在页面上。

本系列文章到此结束,它属于我学习完秒杀api的课程的一个总结,由于个人水平和精力的有限,并不能做到面面俱到,也没有深入的的讲解SSM这个框架,再未来的三到四个月里,我会不断的学习,j2ee框架,servelet\jsp\mysql,以及html\css\js的知识,也算是一次小的冲刺,大家一起加油,一起进步。