springboot正式学习记录

学习路线:

  • 导入静态资源
  • 首页
  • jsp,模板引擎thymeleaf
  • 装配扩展springMVC
  • 增删查改
  • 拦截器(interceptor)

1.静态资源

优先级:resources > static > public
对应文件放置如下:
在这里插入图片描述
总结:在spring boot中,我们可以使用以下方式处理静态资源:

  • webjars lo44 ——localhost:8080/webjars/
  • public 、static、/**、resources 、localhost:8080/

2. 首页和图标定制

图标定制:
在这里插入图片描述

在jsp中link进图标就行:

<link rel="icon" href="/favicon.jpg">

3.jsp,模板引擎thymeleaf

模板引擎thymeleaf

1.导入依赖:

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

2.将html页面放在templates下面即可:
在这里插入图片描述
模板引擎thymeleaf作用
写一个页面模板,有些值是动态的,用来写表达式。

4.thymeleaf使用:

  1. 引入上面依赖
  2. <html lang="en" xmlns:th="http://www.thymeleaf.org">
    在这里插入图片描述

在这里插入图片描述
链接资源:<link rel="stylesheet" th:href="@{/css/style.css}">
在这里插入图片描述

拓展使用:thymeleaf的拓展使用
遍历写法:在这里插入图片描述
获取值:在这里插入图片描述

server.servlet.context-path配置的作用
定义: server.servlet.context-path= # Context path of the application. 应用的上下文路径,也可以称为项目路径,是构成url地址的一部分。

  • server.servlet.context-path不配置时,默认为 / ,如:localhost:8080/xxxxx
  • 当server.servlet.context-path有配置时,比如 /demo,此时的访问方式为:localhost:8080/demo/xxxxxx
    在这里插入图片描述

5. 装配扩展springMVC

  • 路径映射装载:

在这里插入图片描述

  • 添加拦截器拦截器:
 //配置拦截器
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
    
    
        registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**")
                .excludePathPatterns("/index.html","/","/user/login","/static/**","/public/**");
    }

在这里插入图片描述

6.拦截器(interceptor)

  1. 配置拦截器

在这里插入图片描述

  1. 添加拦截器:在这里插入图片描述

7.Thymeleaf 提取公共页面 th:fragment

1.使用th:fragment选择自定义名称字段:
在这里插入图片描述
2.删除其余相同页的头部div所有信息,添加 th:insert或者th:replace:
注意:insert是添加,replace是替换,其实在删除完以后差别不大.

通常情况下是把模板写入templates文件夹下建立的文件夹里的页面中
在这里插入图片描述

<div th:replace="~{commons/commons::topbar}"></div>在这里插入图片描述

8.增删改查

1.光标高亮显示

  1. 主要是为了光标显示到我们点击到的地方
    在这里插入图片描述

  2. 如果要传递参数,th后面用()传参:
    在这里插入图片描述

  3. 对所在页面进行判断,如果是显示样式中的高亮,不是就显示普通样式
    在这里插入图片描述

列表代码遍历

从controller传递数据后进行遍历:
在这里插入图片描述
转换日期代码:<td th:text="${#dates.format(emp.getBirth(),'yyyy-MM-dd hh:mm:ss')}"></td>

添加用户信息

  1. 首先使用@GetMapping("")注解返回想要的数据提交到添加表单上
  2. 然后使用@PostMapping("")注解进行添加,然后重定向到查询页面进行遍历显示
    在这里插入图片描述
  3. form提交表单使用post请求:
<form  th:action="@{/create}" method="post" >

修改信息

  1. 首要任务是将用户信息遍历到修改信息框中:

  2. 传递id到controller去进行查询数据:
    不报红写法:th:href="@{'/emp/'+${emp.getId()}}"
    在这里插入图片描述

  3. 控制器接收参数,利用@PathVariable注解将占位符参数绑定到方法中:
    在这里插入图片描述
    若参数名和占位符参数一样,可以不用写括号,直接注解然后类型参数名。
    更多详细解释—>@PathVariable整体描述

  4. 将传递model中的数据写入修改框中:
    隐藏域:<input type="hidden" name="id" th:value="${emp.getId()}" >
    在这里插入图片描述
    主要是时间格式要设置正确:
    在这里插入图片描述

  5. 最后再进行form表单提交,然后修改后重定向到list再进行遍历查询一遍。

9.404、500等错误页面

  • 在templates下创建error文件夹:
  • 文件夹下创建对应的页面,出现相应错误即可跳转:
    在这里插入图片描述

10.退出登录

  • 主要是清除session:session.invalidate()

おすすめ

転載: blog.csdn.net/sentence5/article/details/117671278