servlet和springmvc的区别 springmvc的原理 您所在的位置:网站首页 spring与servlet servlet和springmvc的区别 springmvc的原理

servlet和springmvc的区别 springmvc的原理

2023-08-29 08:54| 来源: 网络整理| 查看: 265

个人的理解: 一、首先说mvc和单独一个servlet的区别: 如果我的tomcat服务器要实现一个功能,比如说接收一个请求,从数据库里查出一条用户信息(select),然后返回到服务器,那么不用mvc的方法是: 只有一个servlet也可以实现,自定义一个servlet,在tomcat的web.xml的中注册,接收 /select 请求,在servlet里手写实现jdbc接口连接数据库完成查询,得到response的输出流,把查询结果write到页面上。这样耦合度很高,向页面上写response也很麻烦。 使用mvc模式可以降低耦合度,jsp也可以简化输出的过程。Controller层的servlet接受请求信息,调用Model层的Dao的方法实现与数据库的连接、查询,将查到的数据利用View层jsp技术显示给用户。 二、为什么要用springmvc: 这时候要再实现几个功能,向数据库中添加用户(insert),删除用户(delete),更改用户(update)等等功能,如果传统mvc模式怎么做? (一)写几个新的servlet。然后在web.xml中注册新sevlet,并映射对应的/insert /delete /update /XXX,在这些新的servlet中调用View和Model层完成功能。 这样新定义servlet的方法比较麻烦,要去继承HttpServlet接口,实现接口方法,手写调用jsp的重定向或者请求转发,还要再web.xml中注册。 (二)直接在原来的servlet中添加方法。然后把web.xml中原来的/select改成 / 来映射所有请求,在原来的servlet中加入判断,不同的请求执行不同的方法。 这第(二)种实现方法,仔细想一想,是不是和springmvc就有点像了?这时这仅有一个的servlet就对应着springmvc中的DispatcherServlet,我们写的实现这些功能的方法就对应着springmvc中我们要写的很多controller,我们在servlet中写的判断,springmvc就通过处理器映射器、处理器适配器这两大组件帮我们实现了。即: 我们写的单一的servlet------------------------>springmvc的DispatcherServlet 我们servlet里的判断语句---------------------->处理器映射器,处理器适配器 我们servlet里的方法----------------------------->各种controller 三、总结 springmvc框架三大组件(DispatcherServlet,处理器映射器,处理器适配器)就是一个可以处理多种请求的强大的servlet。它长这样: public class DispatcherServlet implements Servlet{ //main方法 public void main{ if(映射器说要执行A){ this.controllerA(); } if(映射器判断要执行B){ this.controllerB(); } //Controller就是各种方法 public XXX controllerA(){ } public XXX controllerB(){ }

}



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有