SSM:mybatis + spring + springMVC MVC三层架构
javaSE:认真学习,老师带
JavaWeb:认真学习,老师带
SSM框架:研究官方文档,锻炼笔记能力,锻炼自学能力,锻炼项目能力
springMVC + Vue + springBoot + springCloud + Linux
SSM = javaWeb做项目;
Spring:IOC 和 AOP
springMVC:springMVC的执行流程!
springMVC:SSM框架整合!
spring
模式:MVVM、MVC
MVC:模型-Model(dao、service):业务逻辑、保存数据的状态
视图-view(jsp):显示页面
控制器-controller(servlet):取得表单数据、调用业务逻辑、转向指定页面
- 是一种软件设计规范,将业务、数据、显示分离的方法来组织代码
- dao -》 service -》servlet(转发、重定向)
MVVM:M V VM(ViewModel:双向绑定)
前端 数据传输 实体类
实体类:用户名、密码、生日、…20个字段__________pojo:User(用户名、密码、生日、…20个字段)
前端:用户名、密码 ____________vo:UserVo(用户名、密码)
JSP:本质就是一个Servlet
假设:你的项目架构,是设计好的还是演进的?
- alibaba PHP
- 随着用户量变大,java
- 王坚 去 IOE MySQL
- MySQL :mysql—》alisql、aliRedis
- all in one —》微服务
DispatcherServlet
springMVC必须配置的三大件:
- 处理器映射器 - HandlerMapping - org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping
- 处理器适配器 - HandlerAdapter - org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter
//上面两个可以由注解驱动统一开启
<mvc:annotation-driven/>
-
视图解析器 - ViewResolver -
org.springframework.web.servlet.view.InternalResourceViewResolver
@Component - 组件
@Service
@Controller
@Respository
localhost:8080/method?add=1 &
Restful
localhost:8080/method/add/1/
好处:
-
安全
-
使路径变得更加简洁
结果跳转方式:
ModelAndView:根据view的名称和视图解析器跳转到指定页面
(页面:{视图解析器前缀}+viewName+{视图解析器后缀})
servletAPI:req、resp----doService(req、resp)
- sendRedirect:重定向
- “redirect:/index.jsp”;
- getRequestDispatcher:转发
- return “/WEB-INF/jsp/test.jsp”
- return “forward:/WEB-INF/jsp/test.jsp”;
接收请求参数并回显
request.getparameters();
- LinkeHashMap
- ModelMap
- Model:精简版(大部分情况下我们会直接使用Model )
乱码问题
<!-- 配置spring的乱码过滤器-->
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
JSON
前后端分离时代:后端部署后端,提供接口、提供数据
约定:json格式
前端独立部署:负责渲染后端的数据
//json依赖
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.0</version>
</dependency>
<!-- JSON乱码配置-->
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8"/>
</bean>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
<property name="failOnEmptyBeans" value="false"/>
</bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
整合SSM:
Ajax:
异步无刷新请求
jquery是一个库,其中有大量的js方法
</mvc:message-converters>
</mvc:annotation-driven>
fastjson:
整合SSM:
Ajax:
异步无刷新请求
jquery是一个库,其中有大量的js方法