2016-11-02 2 views
1

이 기본 언어를 기반으로 매우 기본적인 봄 부팅 예제를 만들려고했습니다. spring-boot guide. 테스트는 예상대로 작동하지만 http://localhost/ei-bacon/test을 통해 restlet에 액세스 할 수 없습니다. HTTP 404 오류가 반환 될 것이기 때문입니다.봄 부팅 예제 : 브라우저에서 restlet에 액세스 할 수 없습니다.

HelloController.java :

@RestController 
public class HelloController { 

    @RequestMapping("/") 
    public String index() { 
     return "Ei Bacon welcomes you!"; 
    } 

    @RequestMapping("/test") 
    public String test() { 
     return "Ei Bacon welcomes you again!"; 
    } 
} 

인덱스 파일 (/index.html이)와 첫 번째 요청 매핑과 충돌이있을 수 있습니다. 그러나 두 번째 테스트 (/ test)는 작동해야하지만 그렇지 않습니다. 잘못된 URL을 입력합니까?

의 context.xml :

<?xml version="1.0" encoding="UTF-8"?> 
<Context path="/ei-bacon"/> 

Application.java : @ResponseBody와 방법에 주석을

package ch.ffhs.innt.eibacon.hello; 

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); 
    } 
} 

답변

0

보십시오. 현재는 이름 Ei Bacon welcomes you! 및 예를 들어 Ei Bacon welcomes you again!

와 뷰를 렌더링하려고 :

@ResponseBody 
@RequestMapping("/test") 
public String test() { 
    return "Ei Bacon welcomes you again!"; 
} 
+0

:

응용 프로그램 서버 또는 독립 톰캣 WAR 파일로 배포 할 경우

는, 메인 클래스는 여기 설명서에 표시된, SpringBootServletInitializer을 확장하고 방법 configure(SpringApplicationBuilder)를 구현해야 404. – 5im

+0

또한 String이 아닌 객체를 반환하여 뷰가 아닐 수도 있습니다. @RequestMapping ("/ greeting") 공개 인사말 greeting() { return new Greeting (5, "hellö"); } 여전히 404가됩니다. 문맥에 문제가있을 수 있습니까? – 5im

+2

'@ ResponseBody'를 추가 할 필요가 없습니다. '@ RestController'는 그것을 모든 메소드에 자동으로 추가합니다. –

1

독립형 스프링 부팅 응용 프로그램으로 응용 프로그램을 실행하고 응용 프로그램 서버에 배포하지 않는 경우, 올바른 URL을 것 가이드에 표시된대로 http://localhost:8080/test 또는 http://localhost:8080/이되어야합니다. 그것은 또한 결과 http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file

+0

포트 80의 로컬 Tomcat 서버와 포트 8080을 실행하는 원격 Tomcat 서버에 배포했습니다. 각 포트에서 올바르게 표시되는 index.html도 있습니다. 위에서 쓴대로 Restlet을 제외하고. 나는 같은 문맥과 포트에서 restlet과 html 파일을 액세스 할 수 있어야한다고 생각하니? – 5im

+0

독립 실행 형 바람둥이에 배포하려는 경우 잘못된 가이드를 사용했습니다 (예 : 가이드에pOM 파일에이 없습니다). 그것은 단지 JAR로 패키징되어 독립형으로 실행되도록 고안되었습니다. WAR 배포의 경우 https://spring.io/guides/gs/convert-jar-to-war/ 및 http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto를 사용하십시오. -create-a-deployable-war-file – dunni

+0

그러나 대상 폴더를 삭제하는 새로 설치를하면 빌드 프로세스가 서버에 배포하는 새 war 파일을 생성하고 jar 파일이 없습니다. – 5im