手把手教编写一个java程序,手把手教你优雅的编写第一个SpringMVC程序

可能之前写的文章走进SpringMVC世界,从SpringMVC入门到SpringMVC架构中的第一个springMVC入门程序讲解的不是那么优雅、细致、精巧,因此特地写这篇稍微优雅、细致、精巧一些的文章,至于优雅、细致、精巧到什么程度呢,我觉得只要有servlet的基础应该就能懂(哈哈,好像有点夸大其词了),反正应该大概可能会适合小白(我不是大牛,我也是小白QnQ)

首先,看一下传统至今的数据交互的常规套路,嗯,还是原来的味道,真香!

a7c24208af4d484600c8ab319cf5dc3e.png 其次,要明确springMVC是充当MVC中的哪个角色,现在我要说的是第一个SpringMVC程序是以jsp ->Servlet (Springmvc)->Jsp流程写的,一眼看出,是collection层!于是从servlet入手。

普通的servlet流程: 请求-url-pattern -交给对应的servlet去处理

如果现在想用springmvc,而不是普通的servlet,如何告知程序?-如何让springmvc 介入程序:

Springmvc需要配置一个 Springmvc自带的servlet

通过以下配置,拦截所有请求,交给SpringMVC处理:

springDispatcherServlet

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:springmvc.xml

1

springDispatcherServlet

/

详解看下图:

c9c7af5d32cb835037f4427c0a18cd45.png其中需要注意以下的拦截规则

< url-pattern > .action < /url-pattern >

/:一切请求 ,注意不是 /* /user: 拦截以 /user开头的请求 /user/abc.do: 只拦截该请求 .action: 只拦截 .action结尾的请求

.action为例:

e86c2daa9797acd39f8b088cff57968b.png

至于init-param的内容,通过源码发现...(不说废话了直接看图哈哈)

a52bdd9348bebb0fbd12d5b8863fb83d.png 通过init-param属性配置指定springmvc配置文件的路径,如果要省略,必须放到 默认路径: /WEB-INF/springDispatcherServlet-servlet.xml

d15372c7cdb838e3408c38b4b11d391a.png 在这里,考验一下自己,有没有什么办法能知道默认路径为/WEB-INF/springDispatcherServlet-servlet.xml的,先自己想想。其实很简单,我们只要把init-param配置一删,运行Tomcat,报错,看异常,这一流程下来你就会发现异常就很明显的告诉我们默认路径了,如下图:

c3dfe2779433da1f8cb73f86d10e638e.png

当然,项目中同时兼容 springMVC版的servlet和普通版的Servlet

springDispatcherServlet

.action

springDispatcherServlet

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:springmvc.xml

1

接下来创建一个后缀名为handler的普通类,要想把一个普通类变的不普通有几种方法:接口/类 、 注解 、 配置 ,而springMVC用注解则显得时尚,所以采用了注解,特别注意@RequestMapping的用法,因为之后它会非常常见!!!

f8356ba6dfe8b76dbca8f5e16d7cabb4.png 当然不要忘记给这个类组件扫描,不然springMVC是不认识它的哦,为了方便直接扫描了所在整个包

34d6dfddc8b9870d85431c31eba79a30.png 到这里,servlet就完成了,接下来是JSP了

e52f8d2cb8744f406b7dd63e1969070f.png 再接下来回到springMVC.xml配置中,要再学习一个好东西那就是InternalResourceViewResolver视图解析器,首先观察源码,如下图:

34820787d0f38e8c7c843541fd8d97c5.png

8d5622b7446373f080105005731cc9fd.png 这个时候,你再写请求时,直接写success的时候,默认就会给你解析为如下图;

998e610b26610aedd7a6da2979a6ec14.png

到这里,基本上就大功告成了,于是到了胆战心惊的测试程序环节了,紧张又刺激!

0c0b783fd7b5a0f69fd2ba36bf23087e.png 好了,最后一起来分析分析一下我们的第一个springMVC的入门程序的整体流程吧!

0ca20ea469e070b1915d577ea117f943.png 什么?要源码。。。额,好的呢 源码已打包至网盘 什么?没用过百度网盘? 出门右拐————秋名山决斗

a2ea129e8d958dbf7499143acdb6b77a.png 链接:https://pan.baidu.com/s/1JRdk1RsPN-52ddlN-b_MTw 提取码:5d78

到这里,恭喜各位,贺喜大家,现在的everybody完美地走上了SpringMVC的不归之路!一条从入门到入土的道路(话好像不太好听,但毕竟学习编程嘛,活到老,编程也就到老!

如果本文对你有一点点帮助,那么请点个赞呗,谢谢~

最后,若有不足或者不正之处,欢迎指正批评,感激不尽!如果有疑问欢迎留言,绝对第一时间回复!

欢迎各位关注我的公众号,一起探讨技术,向往技术,追求技术,说好了来了就是盆友喔...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值