mvc框架图书馆管理系统jdbc mvc架构图用什么画


mvc框架图书馆管理系统jdbc mvc架构图用什么画

文章插图
作为经典MVC思想的spring实现,它能够帮我们开发灵活的JavaWeb应用 。今天我们就来对它动刀,看看它的内部是怎么实现的,我们能不能仿写一份呢?
首先我们通过一张时序图来看一下springMVC的运行流程 。
springMVC运行流程
从上面的时序图,我们可看到,一个叫dispatcherServlet的家伙十分繁忙,几乎每一步都有它的参与,他怎么这么忙啊,这就和它的名字有关
dispatcher /d?s’p?t??/ n. 发报机,调度员
它就相当于在M-V-C三者之间的邮差,或者说是领导,负责调用各个组件 。
我们来假设一下这个场景:
DispatcherServlet是MVC场景里的老大,而且亲力亲为,什么事都要他过目审批,这天他收到了一份用户请求,叫他给出一个网页页面 。
他马上给他的副手HandlerMapping,说:“小刘,你看看这个活,谁来干合适?”小刘HandlerMapping一看员工花名册有一个叫小张的Controller能够胜任,小刘就对领导说:“Controller小张能干” 。
这时候,领导DispatcherServlet不能直接找到小张,因为小张只负责实现具体业务,而用户的要求太抽象,小张看不懂,需要有个人帮他理一理,第一步该做什么,第二步该做什么 。这时候项目经理HandlerAdaper就上线了,领导找到项目经理说:“帮小张理一理,这个活具体该咋做” 。
项目经理三下五除二给整完了,之后,领导拿着处理好的任务,将任务交给里小张,我们的小张也很争气呀,也给干完了,而且,他干的工程不仅有业务(Model)还有漂亮的组件(View),不过小张同学的审美不太好,没办法把它们组合到一块 。于是,领导DispatcherServlet就吭哧吭哧跑到学美术的viewRsolver身边,让她给渲染一下 。viewRsolver画技高超,寥寥几笔渲染出来了一份既有业务资料,也很好看的页面出来 。
至此一个项目完成了,DispatcherServlet就拿着成果(JSP等前端页面)展示给用户看,用户心满意足,大方的付了钱,于是,大家都有钱拿…
看完了Rod Johnson的springMVC的MVC 流程,里面组件分工明确,各司其职,能够完成很多复杂的业务,但是我们刚开始上手,肯定不能上来就整这么多,因此今天我们搭一个简单版的,只有领导(DispatcherServlet)和各类业务员等 。业务员,还是只负责具体业务,其他的活全让领导干 。
我们的流程:
在我们的流程中 DispatcherServlet领导 = 前端控制器 + 映射处理器
好了明确了我们要搭的任务,现在建哥来手把手教学,开搞!
详细步骤1.新建webApp骨架的maven工程2.在pox.xml中引入依赖<!– 引入servlet jar –><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><!– 引入反射jar包–><dependency><groupId>org.reflections</groupId><artifactId>reflections</artifactId><version>0.9.11</version></dependency>
3.新建包如图所示4.编写配置文件在resource目录下编写配置文件:applicationContext.properties,内容为:指定扫描路径package,我们在这里指定controller所在的包
package=com.cloudwise.controller
5.更新web.xml文件骨架用的还是2.0版本,我们在这里更新为4.0的 。
并且注册我们的领导MyDispatcherServlet并为其指定配置文件所在位置contextConfigLocation,我们的领导凡事亲力亲为,在这里让他拦截所有请求 。
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><display-name>Archetype Created Web Application</display-name><!-- 配置我们自己的前端控制器,MyDispatcherServlet就是一个servlet,拦截前端发送的请求--><servlet><servlet-name>xxx</servlet-name><servlet-class>com.cloudwise.servlet.MyDispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>applicationContext.properties</param-value></init-param></servlet><servlet-mapping><servlet-name>xxx</servlet-name><!-- 拦截所有请求--><url-pattern>/</url-pattern></servlet-mapping></web-app>6.自定义注解注解在这里的作用就相当于给类/方法加上一个小尾巴,我们通过不同的尾巴辨识不同的Controller和Method


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: