欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring可能出现的错误与解决方案

程序员文章站 2022-05-28 12:21:04
...

在使用Spring Web结合Mybatis,Thymeleaf编写项目时页面返回Not Found, status=404:

提示:这里简述项目相关背景:
例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)

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

问题描述:在我们创建完成一个Meven项目时,完成了对controller的编写,在发出请求时页面爆出404

@Controller
public class ProductController {
    @Resource
    private  ProductService productService;
    @RequestMapping("/prodeucts")
    public String products(Model m){
        return "prodeucts";
    }
}

发生错误:

Whitelabel Error Page

This application has no explicit mapping for /error, so you areseeing this as a fallback.

Tue Jul 26 21:01:09 CST 2020

There was anunexpected error (type=Not Found, status=404).

No messageavailable

提示:这里描述项目中遇到的问题:
例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据
APP 中接收数据代码:


原因分析:

1.url 不对

thymeleaf的模板引型会默认的将resources_templates当成默认的url,在里面编写页面时默认是访问不到的,所以我们需要在controller里面返回它对应的路径

@RequestMapping("/prodeucts")
    public String products(Model m){
        return "prodeucts";
    }

对应的项目结构应该是这样
Spring可能出现的错误与解决方案

2.结构对的,但是依然返回404

检查启动类,要求启动类处于web层的父级,不然的话你在使用Mybatis时无法进行包扫描也会发生错误

@SpringBootApplication
@MapperScan("对应的mapper包结构")
public class runApplication {
    public static void main(String[] args) {
        SpringApplication.run(runApplication.class);
        /* 老版本的启动方式
        new SpringApplicationBuilder(runApplication.class).properties("server.port=" ).run(args);
  		*/
    }
}

提示:这里填写问题的分析:
例如:Handler 发送消息有两种方式,分别是 Handler.obtainMessage()和 Handler.sendMessage(),其中 obtainMessage 方式当数据量过大时,由于 MessageQuene 大小也有限,所以当 message 处理不及时时,会造成先传的数据被覆盖,进而导致数据丢失。


相关标签: 努力