2013-10-06 3 views
3

http://localhost:8080/people을로드하려고하면 404 페이지를 찾을 수 없습니다. 오류가 발생합니다.스프링 서블릿 매핑이 작동하지 않습니다.

이 내 서블릿 매핑 iwthin의 web.xml에 있습니다 :

여기
<servlet> 
    <servlet-name>spring</servlet-name> 
    <servlet-class> 
     org.springframework.web.servlet.DispatcherServlet 
    </servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>classpath:applicationContext.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>spring</servlet-name> 
    <url-pattern>/people/*</url-pattern> 
</servlet-mapping> 

내가 그것을 작동을 이해하는 방법이다 :

http://localhost:8080/people에 URL 요청이 서블릿 "봄"에 의해 차단되고 호출합니다 클래스 org.springframework.web.servlet.DispatcherServlet이 맞습니까?

이 클래스를 올바르게로드하려면 몇 가지 추가 구성이 필요합니까?

업데이트 :

@Controller 
public class PersonController { 

    @Autowired 
    private PersonService personService; 

    @RequestMapping("/") 
    public String listPeople(Map<String, Object> map) { 

     map.put("person", new Person()); 
     map.put("peopleList", personService.listPeople()); 

     return "people"; 
    } 

    @RequestMapping(value = "/add", method = RequestMethod.POST) 
    public String addPerson(@ModelAttribute("person") Person person, BindingResult result) { 

     personService.addPerson(person); 

     return "redirect:/people/"; 
    } 

    @RequestMapping("/delete/{personId}") 
    public String deletePerson(@PathVariable("personId") Integer personId) { 

     personService.removePerson(personId); 

     return "redirect:/people/"; 
    } 
} 
+0

'people' 무엇 ? JSP 페이지입니까? 그렇지 않다면 표시 할 내용이 없으며 _blank 페이지가 표시됩니다. –

답변

1

당신이 당신의 GET 응답을 지원하기 위해 controller 지원을해야합니까 : 컨트롤러가

여기

입니까? 이 같은

뭔가

위의 예를 바탕으로
@Controller 
@RequestMapping(value = "/people") 
public class LoginController { 

    @RequestMapping(value = "/i_am_here", method = RequestMethod.GET) 
    public String firstForm() { 
     return "SHOW_ME_THE_JSP_PAGE"; 
    } 
} 

,이처럼 GET URL을 요청하게됩니다 ->/사람/i_am_here

방법이 호출되고 응답이 JSP 다시 전송 될 수있다 .

Checkout this example under Github

https://github.com/hth/StatusInvoke/blob/master/src/com/example/UserController.java

+0

예, 컨트롤러를 게시했습니다 –

+0

코드에 '사람'문자열이 무엇입니까? 그것은 어떤 웹 페이지를 참조합니까? 기존 컨트롤러에 대한 링크를 추가했습니다. 이 예제를보십시오. 질문이 있으시면 알려주세요. –

+0

잘 모르겠습니다. 이것은 내가 구성하려고하는 heroku 앱입니다. 코드를 추가 할 때 다음 메시지가 나타납니다. "HTTP 상태 404 - /spring-hibernate-template/WEB-INF/jsp/SHOW_ME_THE_JSP_PAGE.jsp"이것은 .jsp가 아직 구성되지 않았기 때문에 나에게 의미가 있습니다. @RequestMapping (method = RequestMethod.GET) 코드가 컨트롤러에 대한 기본 get 요청 매핑 역할을합니까? –

관련 문제