我已经启动了我的春季启动应用程序,并且在我看到控制台时申请启动,但是当我尝试打开浏览器以运行以进行运行时,它显示没有找到网页网址:http://localhost:8080/demo/login.html。这里有什么问题?这是我的代码
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication .class, args);
}
}
我的login.html可在
下获得src/main/resources/templates/login.html
这是pom.xml
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</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-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
日志清晰显示,当Tomcat服务器以8080端口号启动时,它显示了
2018-12-19 17:02:24.213 INFO 709136 --- [ main]
com.test.demo.DemoApplication : Starting DemoApplication on Test with PID 709136 (C:UsersSyedDocumentsDEMODEMOtargetclasses started by Syed in C:UsersSyedDocumentsDEMODEMO)
2018-12-19 17:02:24.254 INFO 709136 --- [ main]
com.test.demo.DemoApplication : The following profiles are active: @spring.profiles.active@
2018-12-19 17:02:25.674 INFO 709136 --- [ main]
o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2018-12-19 17:02:25.705 INFO 709136 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2018-12-19 17:02:25.706 INFO 709136 --- [ main]
org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/9.0.13
2018-12-19 17:02:25.715 INFO 709136 --- [ main]
o.a.catalina.core.AprLifecycleListener : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:Program FilesJavajdk1.8.0_45bin;C:WindowsSunJavabin;C:Windowssystem32;C:Windows;C:/Program Files/Java/jdk1.8.0_45/bin/../jre/bin/server;C:/Program Files/Java/jdk1.8.0_45/bin/../jre/bin;C:/Program Files/Java/jdk1.8.0_45/bin/../jre/lib/amd64;C:Program Files (x86)RSA SecurID Token Common;C:Program FilesRSA SecurID Token Common;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program Files (x86)CitrixSystem32;C:WindowsSystem32WindowsPowerShellv1.0;C:WindowsSystem32WindowsPowerShellv1.0;C:Program FilesMcAfeeSolidcoreToolsGatherInfo;C:Program FilesMcAfeeSolidcoreToolsScanalyzer;C:Program FilesMcAfeeSolidcore;C:Program FilesMcAfeeSolidcoreToolsScGetCerts;C:Program FilesCitrixSystem32;C:Program FilesCitrixICAService;C:Program FilesCommon FilesHitachi ID;C:Program Filesnodejs;C:WindowsSystem32WindowsPowerShellv1.0;C:Program FilesJavajdk1.8.0_45bin;C:Program FilesJavajdk1.8.0_45jrebin;C:UsersAF68935AppDataRoamingnpm;C:UsersAF68935AppDataRoamingnpmnode_modules@angularclibin;;C:UsersAF68935Downloadsspring-tool-suite-4-4.0.2.RELEASE-e4.9.0-win32.win32.x86_64sts-4.0.2.RELEASE;;.]
2018-12-19 17:02:25.837 INFO 709136 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2018-12-19 17:02:25.837 INFO 709136 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1510 ms
2018-12-19 17:02:26.214 INFO 709136 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2018-12-19 17:02:26.523 INFO 709136 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2018-12-19 17:02:26.542 INFO 709136 --- [ main] com.test.demo.DemoApplication : Started DemoApplication in 2.95 seconds (JVM running for 3.852)
2018-12-19 17:04:35.175 INFO 709136 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2018-12-19 17:04:35.175信息709136 --- [NIO-8080-EXEC-1] O.S.Web.Servlet.Dispatcherservlet:初始化Servetlet'DispatcherServlet' 2018-12-19 17:04:35.198信息709136 --- [NIO-8080-EXEC-1]
这里有什么问题?任何想法都将不胜感激。
如果您的静态内容位于/static
,/public
,/resources
或/META-INF/resources
以外的目录中。
然后将属性spring.resources.static-locations
添加到您的application.properties
中,以指向静态内容。
spring.resources.static-locations=classpath:/templates/
您将在控制台日志中看到以下消息:
Adding welcome page: class path resource [templates/index.html]
参考文档
默认情况下,Spring Boot提供的目录可提供静态内容 /静态(或/公共或/资源或/元I-INF/资源) classpath
您还可以使用 Spring.Resources.Static-Locations属性(替换默认值 目录位置列表的值)。
如果您正在学习春季,则应阅读有关控制器的信息。尝试创建一个示例控制器,何时运行它,然后转到Localhost:8080/,您应该看到HOME。
@Controller
public class HomeController
{
@GetMapping("/")
public String homeInit() {
return "home";
}
}
在您提供的代码中,启动对应用程序的GET将返回404 Spring Boot页面,因为您不处理相对路径'/'
您必须添加一个控制器类(带有@controller注释),指示请求映射和请求方法,并渲染您想要的任何页面