0

Я довольно новичок в веб-разработке, я работал этим летом в веб-приложении весной, но приложение уже было настроено и просто делало некоторые Java и AngularJS. Но теперь у меня возникла проблема начать с нуля этот тип приложения. Я пытался просто протестировать простой веб-сервис, но не могу достичь требуемого url, я получаю ошибку 404. Я работаю над Intellij с Tomcat 8.5.4:Получил ошибку 404 в простой службе отдыха

pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
    <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>seb</groupId> 
    <artifactId>webapp</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 

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

    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot</artifactId> 
      <version>1.4.0.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.data</groupId> 
      <artifactId>spring-data-jpa</artifactId> 
      <version>1.10.2.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>4.3.2.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>3.1.0</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.persistence</groupId> 
      <artifactId>persistence-api</artifactId> 
      <version>1.0.2</version> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 

</project> 

приложений context.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans:beans xmlns:beans="http://www.springframework.org/schema/beans" 
      xmlns="http://www.springframework.org/schema/beans" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xmlns:mvc="http://www.springframework.org/schema/mvc" 
      xmlns:jpa="http://www.springframework.org/schema/data/jpa" 
      xmlns:context="http://www.springframework.org/schema/context" 
      xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/data/jpa 
     http://www.springframework.org/schema/data/jpa/spring-jpa.xsd 
     http://www.springframework.org/schema/context"> 

     <jpa:repositories base-package="repository" /> 
     <mvc:annotation-driven/> 
     <context:component-scan base-package="controller" /> 

</beans:beans> 

web.xml

<!DOCTYPE web-app PUBLIC 
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
     "http://java.sun.com/dtd/web-app_2_3.dtd" > 

<web-app> 
    <display-name>Archetype Created Web Application</display-name> 
    <servlet> 
     <servlet-name>springrest</servlet-name> 
     <servlet-class> 
      org.springframework.web.servlet.DispatcherServlet 
     </servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>springrest</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 
</web-app> 

Main. java

@SpringBootConfiguration 
@EnableJpaRepositories("repository") 
public class Main { 

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

StudentController.java

@RestController 
public class StudentController { 

    private final StudentService studentService; 

    public StudentController(final StudentService studentService) { 
     this.studentService = studentService; 
    } 

    @RequestMapping(value = "/student", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) 
    public void getSomeStudent() { 
     studentService.getSomeStudent(); 
     System.out.println("Hello"); 
    } 
} 

URL, я пытаюсь достичь является: локальный: 8080/WebApp/студент, но ничего не произошло, просто ошибка 404. Наверное, я что-то забыл, но я просмотрел некоторые уроки и вопросы в Интернете и не могу понять, как исправить мой проект. Поэтому, если у кого-то есть некоторые подсказки, которые могут мне помочь, это будет очень полезно. Спасибо заранее.

+0

Вы хотите использовать Spring Boot? Потому что у вас есть '@ SpringBootConfiguration', но недопустимые файлы конфигурации. В противном случае, если ваш проект запускается правильно, попробуйте получить 'localhost: 8080/student' без webapp – jahra

+0

Вместо '@SpringBootConfiguration' добавить '@SpringBootApplication'. если вы используете весеннюю загрузку – swan

+0

Если вы хотите создать проект весеннего ботинка, просто следуйте за весной. docs guid: https://spring.io/guides/gs/spring-boot/ – swan

ответ

-1

Используйте https://start.spring.io/, чтобы создать проект приложения Spring Boot.

Это создаст проект весеннего ботинка maven для вас.

Затем добавьте свой StudentController.

и АВЭС, что, как указано @jahra, вы должны вызвать URL: http://localhost:8080/student, чтобы получить доступ к вашей студенческой WebService

0

изменения @SpringBootConfiguration к @SpringBootApplication он конфигурирует следующие для вас

  • @Configuration теги класс как источник определений компонентов для контекста приложения.
  • @EnableAutoConfiguration сообщает Spring Boot, чтобы начать добавлять бобы на основе настроек пути к классам, других компонентов и различных свойств настроек . Обычно вы добавляете @EnableWebMvc для приложения Spring MVC, , но Spring Boot добавляет его автоматически, когда видит Spring-webmvc на пути к классам. Это означает, что приложение является веб-приложением, а активирует ключевые поведения, такие как настройка
  • @ComponentScan сообщает Spring о поиске других компонентов, конфигураций и сервисов в пакете приветствия, позволяя этому найти HelloController.

Поскольку вы используете пружинные загрузки, добавьте следующую зависимость, и удалить Интернет.XML, где весна-загрузки автоматически настраивает веб-диспетчерскую сервлет для вас

<dependency> 
 
     <groupId>org.springframework.boot</groupId> 
 
     <artifactId>spring-boot-starter-web</artifactId> 
 
    </dependency>

или вы можете пойти дальше и настроить, если вы хотите.

В зависимости от ваших начальных настроек, контроллер должен быть расположен на

http://localhost:8080/student (без «») веб-приложения

0

Ну я перестал пытаться развернуть мое приложение на коте, я просто с помощью пружины, и теперь я может достигнуть моего url. В любом случае я буду более глубоко смотреть на весенние документы и учебники, спасибо за различные объяснения и ссылку.

 Смежные вопросы

  • Нет связанных вопросов^_^