博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot和shiro整合项目实战一(图解超详细)
阅读量:3899 次
发布时间:2019-05-23

本文共 3167 字,大约阅读时间需要 10 分钟。

首先要说的是,这个项目实战是参考自黑马,可以去对应视频看一看:

首先第一步就是创建一个最基本的spring-boot项目
这是下一篇的地址
大致步骤如下:
在这里插入图片描述
父工程:
在pom里加入

org.springframework.boot
spring-boot-starter-parent
2.0.4.RELEASE

修改jdk版本为1.8(这个可用可不用吧)

UTF-8
UTF-8
1.8

web支持

org.springframework.boot
spring-boot-starter-web

(当然,如果你是用idea创建的spring-boot项目,并且导入了web-app的话,前面这些都是可以省略的)

总体的pox如下:

4.0.0
org.springframework.boot
spring-boot-starter-parent
2.4.2
com.example
demo
0.0.1-SNAPSHOT
demo
Demo project for Spring Boot
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin

然后是创建一个Controller

代码如下:

package com.example.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class UserController {
//测试方法 @ResponseBody @RequestMapping("/hello") public String hello(){
System.out.println("UserController.hello()"); return "ok"; }}

开始启动系统自带的application就行(没有的话就新建一个)代码如下

package com.example;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args); }}

这里要注意的是:如果你是用idea创建的,application是在demo包的,所以你启动之后,到localhost找不到的,所以要把application从demo包中拿出来

程序只加载Application.java所在包及其子包下的内容。
在这里插入图片描述
然后到浏览器输入:http://localhost:8080/hello
在这里插入图片描述

这是接下来的步骤:

在这里插入图片描述

首先在pom.xml下面加入依赖

org.springframework.boot
spring-boot-starter-thymeleaf

然后在刚刚的UserController类下加入

@RequestMapping("/testThymeleaf")public String testThymeleaf(Model model){
//把数据存入到model中 model.addAttribute("name","wzw"); //返回界面 return "test";}

要注意的是:

在使用 @RequestMapping后,返回值通常解析为跳转路径,

但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,而是直接写入 HTTP response body
测试thymeleaf
所以注意的是 这边是没加@ResponseBody,也就是他就是一个跳转路径,所以要创建一个test

然后是在resources/templates 下创建test.html

    
测试用的

这里可能会有一个关于meta的报错(虽然我没出现)

把他改成就行了(多一个斜杠)
在这里插入图片描述
再运行一个application,输入http://localhost:8080/testThymeleaf
在这里插入图片描述
最后顺便修改一下thymeleaf的版本,在pom的properties加入即可
在这里插入图片描述

3.0.2.RELEASE
2.0.4

ps这里可能会出现这个错误

在这里插入图片描述
改成这个就行了(3.0.2改成3.0.11)

3.0.11.RELEASE
2.2.2

转载地址:http://ssfen.baihongyu.com/

你可能感兴趣的文章
从关系型数据库到非关系型数据库
查看>>
【数据库基础】数据库事务 - Transaction
查看>>
【设计模式基础】行为模式 - 3 - 职责链(Chain of responsibility)
查看>>
【Java基础】反射 - Reflection
查看>>
【C++基础】const成员函数
查看>>
【设计模式基础】行为模式 - 5 - 策略(Strategy)
查看>>
【Maven】Archetype
查看>>
【Java.Web】Cookie —— 基础
查看>>
【Tools.Eclipse】代码自动提示
查看>>
【Java.Web】MVC —— Model1 V.S. Model2
查看>>
【Java.Web】MVC —— 基于Servlet Controller的Model2 —— 示例
查看>>
【Java.Web】MVC —— 基于Filter Dispatcher的Model2 —— 示例
查看>>
【Java.Web】MVC —— Action的验证器 —— Validator
查看>>
【Java.Spring.MVC】使用Spring MVC构建Web应用程序
查看>>
【DB.PL/SQL】程序流程控制 —— 异常处理
查看>>
【Java.IO】I/O 【字节】【处理流】 - 之 - 【压缩流】 - ZipInputStream,ZipOutputStream
查看>>
【Java.JDBC/ORM】纯JDBC系统的开发随想
查看>>
【Unix/Linux】【系统】环境变量
查看>>
【Architecture】CPU-bound(计算密集型) 和I/O bound(I/O密集型)
查看>>
【MacOS】Mac 系统下类似于 apt-get 的软件包管理器 -- Homebrew
查看>>