2015-07-10 99 views
0

我嚴格遵循了幾個教程,但我無法開始使用最簡單的應用程序。這是我迄今爲止所擁有的。無法使用Eclipse調試Web應用程序

我用Eclipse創建了一個動態Web應用程序,並將其作爲Maven項目。

這是項目結構:

enter image description here

我Maven的POM是:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>HappySchedulerSpring</groupId> 
    <artifactId>HappySchedulerSpring</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <build> 
    <sourceDirectory>src</sourceDirectory> 
    <plugins> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.3</version> 
     <configuration> 
      <source>1.8</source> 
      <target>1.8</target> 
     </configuration> 
     </plugin> 
     <plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.6</version> 
     <configuration> 
      <warSourceDirectory>WebContent</warSourceDirectory> 
      <failOnMissingWebXml>false</failOnMissingWebXml> 
     </configuration> 
     </plugin> 
    <plugin> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-maven-plugin</artifactId> 
     <version>1.2.5.RELEASE</version> 
    </plugin> 
    </plugins> 
    </build> 
    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-thymeleaf</artifactId> 
      <version>1.2.5.RELEASE</version> 
     </dependency> 
    </dependencies> 
     <repositories> 
     <repository> 
      <id>spring-milestone</id> 
      <url>https://repo.spring.io/libs-release</url> 
     </repository> 
    </repositories> 

    <pluginRepositories> 
     <pluginRepository> 
      <id>spring-milestone</id> 
      <url>https://repo.spring.io/libs-release</url> 
     </pluginRepository> 
    </pluginRepositories> 
</project> 

Application.java和TweetsController.java也非常基本的(只是直出春天例如

package com.pistacchioso.happyscheduler; 

import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 

@SpringBootApplication 
public class Application { 

    public static void main(String[] args) { 
     SpringApplication.run(Application.class, args); 
    } 

} 

而控制器:

package com.pistacchioso.happyscheduler; 

import org.springframework.boot.autoconfigure.EnableAutoConfiguration; 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.Model; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestParam; 

@Controller 
@EnableAutoConfiguration 
public class TweetsController { 

    @RequestMapping("/greeting") 
    public String greeting(@RequestParam(value="name", required=false, defaultValue="World") String name, Model model) { 
     model.addAttribute("name", name); 
     return "HappyScheduler"; 
    } 

} 

沒什麼特別的.jsp文件以及:

<!DOCTYPE HTML> 
<html xmlns:th="http://www.thymeleaf.org"> 
<head> 
    <title>Getting Started: Serving Web Content</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
</head> 
<body> 
    <p th:text="'Hello, ' + ${name} + '!'" /> 
</body> 
</html> 

當我點擊調試圖標時,Eclipse讓我選擇Tomcat 8時,不會出現錯誤,則依賴關係正確解決,服務器啓動,但http:localhost:8080/greeting總是給我404.

任何幫助嗎?

+0

你可以仔細檢查的端口號? – Karthik

+0

端口號是否正確。事實上,這是Tomcat,給了我一個404 – pistacchio

+0

也許這個網址是錯誤的?你能向我們展示控制檯中的最後幾行嗎? –

回答

0

抓住我眼球的第一件事是控制器中的@EnableAutoConfiguration。此註釋旨在放在配置類上,在您的應用程序中。

但是,您不需要它,因爲您正在使用@SpringBootApplication。這是一個方便的註釋,假定了幾件事情,包括自動配置。

嘗試從控制器中刪除@EnableAutoConfiguration。

此外,你可以找到與你相似的例子here

0

第一個春天啓動了內置嵌入式tomcat的,所以我們可以將其打包作爲一個罐子,並直接與

mvn spring-boot:run 

或使用運行jar java的

java -jar target/SpringBootApplication.jar 

由於我們與JAR文件打包,Web應用程序文件夾都將被忽略。所以html文件需要放在src/main/resources/templates文件夾中。

我在本地桌面已經實施,並得到了結果

enter image description here

POM文件給你參考 - http://txs.io/jw6b

相關問題