spring mvc

一、mvc设计模式,创建 Web 应用程序的模式:

spring mvc : 基于web层(请求处理和响应发送 b/s)的框架。(sturts1,struts2,spring mvc ,spring webFlux等等都属于web层框架)

二、传统的b/s架构与spring mvc的架构有什么区别

mvc模式:m (model ) v(view–jsp,html) c (control–servlet)

1)传统的b/s架构

        客户端------请求-----控制器(servlet)----->封装数据model中
                -------响应-----------jsp------------->客户端
       缺点:
                1. servlet生产周期长,大量servlet的产生。占据大量内存。

2)spring mvc 的b/s架构

优点:
	1.只有1个servlet。
	2.分工明确
		中央处理器(servlet):接受请求,分配任务,发送响应
 		映射器:根据url,确定找谁(处理器),干什么(办什么业务),将其告诉老大
		适配器:根据映射器结果,找到对应的处理器,完成任务,并将结果返回给老大
	 视图解析器:解析处理器返回的结果(model  view)---返回哪个jsp,里面要显示什么数据
 		渲染

在这里插入图片描述

三、spring mvc开发的流程

第1步: mybatis spring mvc需要的包(spring+ spring-web包+spring-webmvc)

第2步:web.xml配置中央处理器(spring 写好的一个servelt)

第3步:配置spring-web.xml(映射器,适配器,视图解析器)

第4步:定义处理器
        @Controller
        @requestMapping

【补充】

@Component这个注解 在后期spring后期版本中进行细化   
@Controller    ----web层
@Service         -----业务层 
@Repository   -----持久层  spring data jpa

四、mybatis分页插件—PageHelper插件

文档地址:https://github.com/pagehelper/Mybatis- PageHelper/blob/master/README_zh.md

数据库分页:物理分页和内存分页
  1)内存分页:先将所有数据加载内存中,然后从内存中查找分页的数据
 2)物理分页:在数据检索数据的时候,只检索分页数据,将数据返回给客户端。
 

  MyBatis提供内存分页  RowBounds参数
 Mybatis物理分页
	 1、自己写sql语句  sql  limit ?,?
	 2、MyBatis插件   MyBatis PageHelper
PageHelper的使用步骤
 第1步:导人jar   
	 jsqlparser-2.1.jar  
	 pagehelper-5.1.9.jar
第2步:spring集成
    spring-datasource.xml(具体如何配置打开上面的官网有具体的实例方法)
 第3步:在service层进行调用分页的方法
     PageHelper.startPage(2, 3); 查询第2页 每页显示3条
 注意:只有紧跟在PageHelper.startPage方法后的第一个Mybatis的查询(Select)方法会被分页。

五、spring mvc 集成

mybatis(spring+mybatis多4个包 web包 webmvc包 jstl2个包)

六、jsp中关于Date类型数据的显示

1、方式:jsp的jstl的format库  (c库)
    第1步:<%@taglib uri="http://java.sun.com/jstl/fmt_rt"  prefix="fmt"%>
    第2步:<fmt:formatDate value="${user.birthday}" pattern="yyyy-MM-dd HH:mm:ss"/>
        将controller传递过来的Date类型数据,格式成指定格式的字符串日期
        
     注:HH是24小时制      hh是12小时制
2、方式二:
   /**
   * 注册属性编辑器(字符串转换为日期)
	 */
@InitBinder
public void initBinder(WebDataBinder binder) throws Exception {
   	binder.registerCustomEditor(Date.class, new CustomDateEditor(
           new SimpleDateFormat("yyyy-MM-dd"),true));
}   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值