2015-07-10 102 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

相关问题