频道栏目
首页 > 资讯 > 其他 > 正文

一篇SSM框架整合友好的文章(三)

16-12-19        来源:[db:作者]  
收藏   我要投稿

一篇SSM框架整合友好的文章(三):SpringMVC理论,它始终是围绕 handler、数据模型 model、页面view进行开发的。

运行流程图:

33A5816F-66F9-43A3-B616-8E2D409B4CA3.png

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

二.http请求地址映射

http请求 -> sringmvc handler mapping注解 -> handler处理

1.注解映射:
@RequestMapping
* 支持标准url
* ant风格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:


    seckill-dispatcher
    org.springframework.web.servlet.DispatcherServlet
      
          contextConfigLocation
          classpath:spring/spring-*.xml
      
  

   
        seckill-dispatcher
        
        /
    

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



    
    
    
   
    
   
    
    
        
        
        
    
    
    

四.controller的实现

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

@RequestMapping url映射

model用来存放数据的。

例子:

@Controller
@RequestMapping("/seckill") //url:/模块/资源/{id}/细分  /seckill/list
public 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 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" %>

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

秒杀列表

名称 库存 开始时间 结束时间 创建时间 详情页
${sk.name} ${sk.number} link

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

Paste_Image.png

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

源码下载

相关TAG标签
上一篇:C语言中的柔性数组
下一篇:浅谈三层架构
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站