Java 高级框架之认识 springMVC
Posted Java联盟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 高级框架之认识 springMVC相关的知识,希望对你有一定的参考价值。
温馨提示:本问阅读需要4分钟,建议收藏后阅读!
好的各位小伙伴
从今天开始
咱们开始分享
springMVC了
1: MVC 开发模式的流程
如图:
偷点懒哈~这是我在网上找的一个图,理论的部分咱就不重复,大家百度一下哈!
2:springMVC 的概念以及原理
首先咱们来认识几个概念和专业术语:
DispatcherServlet
前端控制器
HandlerMapping
处理器映射器
HandlerAdapter
处理器适配器
Handler
处理器
viewResolver
视图解析器
view
页面文件
来看一下springMVC的流程图:
结合这个流程图,咱们来简单的描述一下这个过程:
首先用户发起 request 请求,请求 DispatcherServlet 前端控制器.
然后DispatcherServlet 前端控制器请求 HandlerMapping 处理器映射器查找 Handler 返回给 DisptcherServlet.
DisptcherServlet 找到 Handler 之后要挑选合适的适配器 HanlderAdapter 来执行 Handler.
执行完 Handler 之后.返回 ModelAndView 对象.
DisptcherServlet 调用 viewResolver 视图解析器来解析返回的 view 对象
将 modle 渲染到 view.然后响应用户
这个流程图很重要,理解了这个流程之后,对于之后的理解,springMVC有很大的帮助哦!
3 : springMVC 小程序
创建一个 javaWEB 工程,导包(在之前 spring 的 jar包的基础上加入 spring-web,spring-webmvc 的 jar 包).
配置文件:
web.xml 和 springmvc.xml
在 web.xml 配置前端控制器 DisptcherServlet
上面这个框起来的配置
是为了让程序启动时去加载我们的 springmvc 配置文件.如果你不配置这个选项,默认会去加载 classpath 下面名称为[servlet-name]-servlet.xml
下面框起来的配置的是请求拦截器
1:可以配置*.do,*.action
要在你的页面请求的 url 带 .do 或者 .action 的后缀,如: addUser.do addUser.action
2:也可以配置 / 匹配所有请求
此工程所有的请求(.do ,addUser,js/image/css)都会被springmvc解析,必须对所有的静态资源文件进行过滤放行
3:也可以配置 /* 匹配所有请求
xx.jsp 不支持这种配置方式
总结:一般配置*.do,*.action 如果配置/ 需要过滤静态资源
在 springmvc.xml 配置文件配置:
处理器映射器(BeanNameUrlHandlerMapping)
处理器适配器(SimpleControllerHanlderAdapter)
视图解析器
功能实现:
做一个登陆页面,用非注解的方式完成登陆验证
登录页面:
登录成功的页面显示:
编写登陆请求的 Handler
在 springmvc 配置文件里面注册 LoginController.java
部署项目 ,测试访问
注意:
1)当我们使用的是 BeanNameUrlHandlerMapping 这个映射器时,需要注册handler 需要设置一个name匹配url请求
<bean name="/login.do"
class= "com.ln.springmvc.sysmanage.controller.LoginController">
</bean>
2)当我们使用 SimpleControllerHandlerAdapter 适配器时,编写的 Handler 要 implements Controller
今天就分享到这里了
小伙伴们
拜拜!
有任何问题都可以在文章留言,娜姐都看着的呢!
合作,投稿,转载,版权问题请联系 李娜:Lina_Java
以上是关于Java 高级框架之认识 springMVC的主要内容,如果未能解决你的问题,请参考以下文章
JAVA-初步认识-常用对象API(集合框架-泛型-泛型限定-上限)
JAVA-初步认识-常用对象API(集合框架-泛型-泛型限定-上限的体现)
springMVCspring控制反转依赖注入MyBatisspringBootspringSecurityJava多线程Redis(缓冲击穿,穿透雪崩热点数据集中失效)
springMVCspring控制反转依赖注入MyBatisspringBootspringSecurityJava多线程Redis(缓冲击穿,穿透雪崩热点数据集中失效)