1 Star 0 Fork 0

ace.kevin / StudyNotes

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
SpringMVC学习笔记.md 5.31 KB
一键复制 编辑 原始数据 按行查看 历史
ace.kevin 提交于 2022-01-11 16:55 . 17 f

SpringMVC

环境准备 tomcat 9.0.55

ssm:spring+springmvc+mybatis

javase:认真学习,老师带,入门快

javaweb:认真学习,老师带,入门快

ssm框架:研究官方文档,锻炼自学能力,锻炼项目能力。

springmvc + vue + springboot + springcloud + linux

SSM = javaweb做项目

spring = IOC和AOP

重点

springmvc:springmvc的执行流程

springmvc:ssm框架整合

mvc:模型(dao,service)、视图(jsp)、控制器(servlet)

dao

service

servlet:转发、重定向

jsp/html

前端、数据传输、实体类

image-20211206154558266

image-20211206154614585

image-20211206154634287

image-20211206154647007

springmvc的特点;

  • 轻量级,简单易学

  • 高效,基于请求响应的mvc框架

  • 与spring兼容性好,无缝结合

  • 约定优于配置

  • 功能强大:RESTful、数据验证、格式化、本地化、主题等

image-20211214164935166

image-20211214165030184

image-20211220152336564

image-20211220152225123

【调度Servlet】

mvc context hierarchy

spingmvc必须配置的三大件

处理器映射器、处理器适配器、视图解析器

转发和重定向

最老的办法:

image-20211222163958345

servlet原生的办法:

image-20211222155416793

springmvc

image-20211222164500056

接受请求参数及数据回显

常用的几个注解:
@Data : 注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法
@AllArgsConstructor : 注在类上,提供类的全参构造
@NoArgsConstructor : 注在类上,提供类的无参构造
@Setter : 注在属性上,提供 set 方法
@Getter : 注在属性上,提供 get 方法
@EqualsAndHashCode : 注在类上,提供对应的 equals 和 hashCode 方法
@Log4j/@Slf4j : 注在类上,提供对应的 Logger 对象,变量名为 log

接受数据

提交的域名称和处理方法的参数名不一致

提交数据:http://localhost:8080/user/t1?name=qinjiang

// @RequestParam("username") 涉及前端的,无论用不用都要加上
public String test1(@RequestParam("username") String name, Model model) {
    // 1. 接受前端参数
    System.out.println("接收到前端的参数为:" + name);
    // 2. 将返回的结果传输到前端
    model.addAttribute("msg", name);
    // 3. 视图跳转
    return "test";
}

接受一个对象

提交数据http://localhost:8080/user/t2?id=1&name=qinjiang&age=17

1、接受前端用户传递的参数,判断参数的名字,假设名字直接在方法上,可以直接使用

2、假设传递的是一个对象User,前端传递的参数名和对象名必须一致,否则就是null

public String test2(@RequestParam("user") User user) {
    System.out.println(user);
    return "test";
}

数据回显道前端

1、ModelAndView

public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
    //ModelAndView 模型和视图
    ModelAndView mv = new ModelAndView();

    // 封装对象, 放在ModelAndView中,Model
    mv.addObject("msg", "ControllerTest1");
    // 封装要跳转的视图,放在ModelAndView中
    mv.setViewName("test");
    return mv;
}

2、ModelMap

image-20211228151010190

3、Model

乱码问题

<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

fastjson

image-20211230152344883

SpringMVC:整合SSM

CREATE DATABASE `ssmbuild`;

USE `ssmbuild`;

DROP TABLE IF EXISTS `books`;

CREATE TABLE`books` (
	`bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id',
    `bookName` VARCHAR(100) NOT NULL COMMENT '书名',
    `bookCounts` INT(11) NOT NULL COMMENT '数量',
    `detail` VARCHAR(200) NOT NULL COMMENT '描述',
    KEY `bookID` (`bookID`)
) ENGINE=INNODB DEFAULT CHARSET=utf8

INSERT INTO `books`(`bookID`, `bookName`, `bookCounts`, `detail`) VALUES
(1, 'Java', 1, '从入门到放弃'),
(2, 'MySQL', 10, '从删库到跑路'),
(3, 'Linux', 5, '从进门到进牢');

junit 数据库驱动mysql,连接池com.mchange.c3p0:0.9.5.2,servlet,jsp, mybatis,mybatis-spring spring

image-20220111103847956

其他
1
https://gitee.com/acekevin/StudyNotes.git
git@gitee.com:acekevin/StudyNotes.git
acekevin
StudyNotes
StudyNotes
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891