SpringMVC学习杂记

SpringMVC学习笔记

1.Mybatis

1.MyBatis 是一款优秀的持久层框架
2.完成持久化工作的代码块 . ----> dao层 【DAO (Data Access Object) 数据访问对象】
3.Mybatis就是帮助程序猿将数据存入数据库中 , 和从数据库中取数据 .
4.MyBatis 是一个半自动化的ORM框架 (Object Relationship Mapping) -->对象关系映射
5.MyBatis的优点
1.mybatis不会对应用程序或者数据库的现有设计强加任何影响。sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
2.解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。21.

2.SpringMVC

2.1 MVC简介

MVC:模型(dao,service)视图(jsp)控制器(Servlet)

Controller:1.获取前端参数
2.调用业务层
3.视图转发或者重定向

MVC框架做的事情:
(1)将url映射到java类或者方法
(2)封装用户提交数据
(3)处理请求–调用相关的业务处理–封装响应数据
(4)将响应的数据进行渲染.jsp/html等表示层数据

2.2 转发与重定向

在Servlet中实现页面跳转的两种方式:转发和重定向

2.2.1 重定向

重定向是网页制作中的一个知识。假设你现在所处的位置是一个论坛的登录页面,你填写了帐号,密码,点击登陆,如果你的帐号密码正确,就自动跳转到论坛的首页,不正确就返回登录页;

这里的自动跳转,就是重定向的意思。或者可以说,重定向就是,在网页上设置一个约束条件,条件满足,就自动转入到其它网页、网址。

img

重定向方法

在这里插入图片描述

img

2.2.2 转发

由服务器端进行的页面跳转。
请求转发:一种在服务器内部的资源跳转方式。

访问A,A请求转发了B,访问A的同时就也访问到了B。
带参数跳到指定的页面,比如request。
访问A,进入A的网址,然后在A里面请求转发B,就是带着A的请求到了B。

步骤:

1.通过request对象获取请求转发器对象:

Requestdispatcher.getRequestdispatcher(String path)

2.使用Requestdispatcher对象来进行转发:

forward(ServletRequest request,ServletResponse Response)

img

img

什么时候使用转发,什么时候使用重定向?

如果要保留请求域中的数据,使用转发,否则使用重定向。
以后访问数据库,增删改使用重定向,查询使用转发。

img

图片

  1. DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心。用户发出请求,DispatcherServlet接收请求并拦截请求。

    我们假设请求的url为 : http://localhost:8080/SpringMVC/hello

    如上url拆分成三部分:

    http://localhost:8080服务器域名

    SpringMVC部署在服务器上的web站点

    hello表示控制器

    通过分析,如上url表示为:请求位于服务器localhost:8080上的SpringMVC站点的hello控制器。

  2. HandlerMapping为处理器映射。DispatcherServlet调用HandlerMapping,HandlerMapping根据请求url查找Handler。

  3. HandlerExecution表示具体的Handler,其主要作用是根据url查找控制器,如上url被查找控制器为:hello。

  4. HandlerExecution将解析后的信息传递给DispatcherServlet,如解析控制器映射等。

  5. HandlerAdapter表示处理器适配器,其按照特定的规则去执行Handler。

  6. Handler让具体的Controller执行。

  7. Controller将具体的执行信息返回给HandlerAdapter,如ModelAndView。

  8. HandlerAdapter将视图逻辑名或模型传递给DispatcherServlet。

  9. DispatcherServlet调用视图解析器(ViewResolver)来解析HandlerAdapter传递的逻辑视图名。

  10. 视图解析器将解析的逻辑视图名传给DispatcherServlet。

  11. DispatcherServlet根据视图解析器解析的视图结果,调用具体的视图。

  12. 最终视图呈现给用户。

创建对象new duixiang() 然后快捷键alt+enter

猜你喜欢

转载自blog.csdn.net/qq_47997583/article/details/118158774