Я пытаюсь изучить Java, и я сделал приложение Springboot, используя Eclipse и Maven. Я начал скачивать базу с https://start.spring.io/, а затем создал свой первый контроллер и страницу индекса jsp. Но когда я пытался упаковать его во время войны и опубликовать его на AWSasticbeanstalk, у меня была эта ошибка:
Сб 05 октября 09:42:45 UTC 2019 Произошла непредвиденная ошибка (тип = Не найдено, статус = 404). /WEB-INF/jsp/index.jsp
Я заявляю, что: - Когда я запускаю веб-приложение на моем компьютере, оно работает отлично! - Я уже настроил на AWS (в пользовательских переменных) изменить порт на 5000
Это структура проекта
портфолио
- src
- main
- java
- resources (where i have static and application.properties
- webapp
- WEB-INF
- jsp
- index.jsp
pom.xml
Этоpom.xml
<?xml version="1.0" encoding="UTF-8"?>
https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 war org.springframework.boot spring-boot-starter-parent 2.1.9.RELEASE портфель com.sofidis 0.0.1-SNAPSHOT портфолио Портфельный проект для SpringBoot
<properties>
<java.version>1.8</java.version>
</properties>
<repositories>
<repository>
<id>spring-milestone</id>
<name>Spring Milestone Repository</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jasper -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jasper</artifactId>
<version>9.0.26</version>
<!-- aggiunto per creare il war -->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
</dependencies>
<!-- plugin repository aggiunto per compilare il war -->
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<url>https://repo.spring.io/snapshot</url>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<url>https://repo.spring.io/milestone</url>
</pluginRepository>
</pluginRepositories>
<build>
<plugins>
<!-- precedente <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId>
</plugin> -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Это приложение. Свойства
spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp
Это мой главный контроллер PortfolioApplication.java
package com.sofidis.portfolio;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class PortfolioApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(PortfolioApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(PortfolioApplication.class);
}
}
Этомой HomeController
import com.sofidis.portfolio.model.*;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HomeController
{
@RequestMapping(value = "/")
public String index( HttpSession session)
{
PageMeta ptitle = new PageMeta();
String titlepagina= ptitle.getPtitle("index");
session.setAttribute("pagetitle", titlepagina);
PageMeta pdesc = new PageMeta();
String descpagina= pdesc.getPdescription("index");
session.setAttribute("pagedescription", descpagina);
return "index";
}
}
И это index.jps
<%@ page isELIgnored="false"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>${pagetitle}</title>
<meta name="description" content="${pagedescription}">
<jsp:include page="./includes/common_head.jsp" />
</head>
<body>
<p>Hello World</p>
</body>
</html>
Большое спасибо за помощь !! Я в отчаянии: ((