springboot访问jsp本地没问题,部署到linux服务器之后就404解决办法

2020/5/29日记录
springboot项目写了一个小jsp,一个请求映射,jsp里面就放一张图片,本地可以正常访问。

controller端代码

@Controller
public class DemoController {
	private static final Logger logger = LoggerFactory.getLogger(DemoController.class);

	@RequestMapping("/hello")
	public String index() {
		logger.info("进入hello接口");
		return "/test";
	}
}

jsp代码

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>XX网欢迎您</title>
</head>
<body>
<img src="images/test.png"></img>
</body>
</html>

本地运行全部ok没问题可以直接访问

但是,但是,但是!
部署到linux后却是404错误,其他接口均正常,就是访问不到页面!
(桌子hp-10)
(桌子hp-10)
怎么办呢,百度吧。

首先反编译之后发现,项目中没有WEB-INF文件夹
于是加入resource插件打包

<resources>
            <resource>
                <!-- 指定resources插件处理哪个目录下的资源文件 -->
                <directory>src/main/webapp</directory>
                <!--注意此次必须要放在此目录下才能被访问到 -->
                <targetPath>META-INF/resources</targetPath>
                <includes>
                    <include>**/**
                
                false
            
            
            
                src/main/resources
            
        

再试试,还是不404
继续找问题。
(桌子hp-10)
没有指定jdk版本,于是加入了

<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>

还是404。我是程序员,我脾气很好!脾气很好!气很好!很好!好!
(桌子hp-10)
(发量-10)

最后,终于给我逮到尾巴了

springboot的打包只有1.4.2.RELEASE可以访问到jsp!!!

于是加入

<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<version>1.4.2.RELEASE</version>
				<!-- 支持调试 -->
				<configuration>
					<fork>true</fork>
				</configuration>
			</plugin>

再部署到linux上,就正常了
(桌子hp-10)
(桌子hp-10)
(桌子hp-10)
(嗷呜~~)

你可能感兴趣的:(springboot,学习历程)