开始了新的内容了大家mybatis学习的怎么样呢,要多加复习哟,我们接下来学习SpringMVC的内容。
目录
一、什么是MVC架构?
MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分。
M:Model,模型层,指工程中的JavaBean,作用是处理数据。
JavaBean分为两类:
①一类称为实体类Bean:专门存储业务数据的,如Student、User等
②一类称为业务处理Bean:指Service或Dao对象,专门用于处理业务逻辑和数据访问。
V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据
C:Control,控制层,指工程中的servlet,作用是接收请求和相应浏览器
MVC的工作流程:
用户通过视图层发送请求到服务器,在服务器中请求被Controller接收,Controller调用相应的Model层处理请求,处理完毕将结果返回到Controller,Controller再根据请求处理的结果找到相应的View视图,渲染数据后最终响应给浏览器
二、什么是SpringMVC?
springmvc是spring框架的一种分支。SpringMVC 是类似于 Struts2 的一个 MVC 框架,在实际开发中,==接收浏览器的请求响应,对数据进行处理,然后返回页面进行显示==,但是上手难度却比 Struts2 简单多了。而且由于 Struts2 所暴露出来的安全问题,SpringMVC 已经成为了大多数企业优先选择的框架。
三、为什么使用SpringMVC?
四、快速入门SpringMVC
①创建一个web工程
<?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">
</web-app>
②引入SpringMVC依赖
<!--maven可以把该依赖相关的依赖都引入。-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
③创建控制层
④配置SPringMVC配置文件
<context:component-scan base-package="com.Gzy.controller"/>这个要手动输入根据提示生成否则不会生产上面的http
⑤引入前端控制器 web.xml
<!-- 注册servlet-->
<servlet>
<servlet-name>springmvc01</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 加载springmvc的配置文件-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:SpringMvc01.xml</param-value>
</init-param>
</servlet>
<!-- servlet映射路径
/ 表示所有的控制层 以及静态资源
/* 表示全部 包括jsp网页
-->
<servlet-mapping>
<servlet-name>springmvc01</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
五、SpringMVC的流程
* 1. 客户端发生请求http://localhost:8080/145springmvc01/hello01
* 2. 来的tomcat服务器。
* 3. springmvc的前端控制器DipatcherServlet接受所有的请求。
* 4. 查看你的请求地址和哪个@RequestMaping匹配。
* 5. 执行对应的方法。方法会返回一个字符串。springmvc把该字符串解析为要转发的网页。
* 6. 把该字符串经过视图解析器拼接。
* 7. 拿到拼接的地址,找到对应的网页。
六、SpringMVC如何接受请求参数
①接收少个参数时
②接收参数多
比如:表单提交时 注册 添加。
解决: 可以把所有的请求参数封装到一个实体类对象中。
③接受日期类型的参数
解决办法:
然后在配置文件中导入标签
七、处理静态资源
什么是静态资源?
比如: css, js, img,html
解决方案: