2017-10-26 8 views
0

Es gibt einen 404-Fehler, wenn ich meine Anwendung ausführen.Spring mvc controller Mapping-Fehler (404error)

Ich kann die Ansicht sehen, wenn ich die erste unten, aber die zweite ist nicht möglich.

http://localhost:8091/cboard

http://localhost:8091/listPage

Bitte lassen Sie mich wissen, was Problem ist. (Ich brauche zweite ..)

Der Controller:

@RequestMapping("/cboard", method=RequestMethod.GET) 
public String list(Model model,HttpServletRequest req) throws Exception{ 

    req.getSession().getAttribute("clientMemberVO"); 
    model.addAttribute("list", service.listAll()); 
    List<BoardVO> list = service.listCriteria(cri); 


    return "/cboard/titlelist"; 
} 

@RequestMapping("/listPage", method=RequestMethod.GET) 
    public String listPage(Model model, Criteria cri, HttpServletRequest 
    req) throws Exception{ 
     req.getSession().getAttribute("clientMemberVO"); 

    List<CustomerBoardVO> list = service.listCriteria(cri); 

    model.addAttribute("list", list); 

     PageMaker maker = new PageMaker(); 
      maker.setCri(cri); 
      maker.setTotalCount(service.countPaging()); 

    model.addAttribute("pageMaker", maker); 
    return "/cboard/titlelist"; 
} 
+0

Vielleicht als 404 zu lösen , sollten Sie method = RequestMethod.GET zu RequestMapping hinzufügen –

+1

Werden beide Methoden in der gleichen Datei angezeigt, wie der Code impliziert? Sind Sie sicher, dass Sie nach dem Hinzufügen des zweiten '/ listPage'-Endpunkts eine Neuerstellung und Bereitstellung durchgeführt haben? –

+0

@ Frank.Dai Aber das scheint nicht zu erklären, warum einer arbeitet und der andere nicht. –

Antwort

0

Es gab einen Fehler im Code und seine nicht richtig zu bauen, denke ich. da in der zweiten Methode die Modell- und req-Objekte nicht in Parametern gefunden werden, sondern innerhalb der listPage-Methode verwendet wurden. Das ist ein Kompilierungsproblem.

Bitte überprüfen Sie den Code erneut und seinen Build ordnungsgemäß.

+0

Also habe ich den Code bearbeitet, aber das Ergebnis ist gleich – wannadeve

+0

Für eine Get-Anfrage können Sie keine Entität übergeben. Sie übergeben Kriterien – VinuBibin

+0

Wenn Sie übergeben möchten, ändern Sie als POST/PUT Anfrage – VinuBibin

0

Was ist Ihr server name? Und vielleicht sind Sie nicht sehr klar die Zusammensetzung der URL, wie scheme://host:port/path?query. Ich möchte Sie wissen, dass path einschließlich der server name und anderen Teilen. "/listPage", "/cboard" in Ihrem Controller gehören alle zu other parts. Aber die URL, die Sie besuchen möchten, ist http://localhost:8091/cboard, wenn Sie sicher sind, dass es besucht werden könnte, denke ich, dass Ihr Servername "cboard" ist. In diesem Fall, wenn Sie /listPage besuchen wollen, sollten Sie http://localhost:8091/cboard/listPage besuchen, können Sie einen Versuch ~
ps: Wenn Sie sich auf die Zusammensetzung der URL klar sind, können Sie sehr einfach sein, solche Probleme

+0

danke, aber 'http: // localhost: 8091/cboard/listPage' ist nicht möglich und ich benutze Tomcat 8.5 – wannadeve

Verwandte Themen