Нет отображения для GET / в SpringMVC - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь создать веб-приложение Spring MVC.Проблема в моей странице приветствия (localhost: 8080 /).В моем выходном журнале я вижу: Нет сопоставления для GET /

Я установил для своей страницы приветствия URL: "/ spring-mvc-login" , но каждый раз, когда яперезапустите приложение, оно пытается найти URL "/" , который не работает в моем контроллере.Я хочу, чтобы перенаправил страницу приветствия на URL "/ spring-mvc-login" , но это не сработало.

Забавно, что при вводе "localhost: 8080/ spring-mvc-login "работает нормально.Единственная проблема - перенаправить этот URL на страницу приветствия.

WEB.XML

 <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/todo-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>/spring-mvc-login</welcome-file>
    </welcome-file-list>

todo-servlet.xml

<bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix">
        <value>/WEB-INF/views/</value>
    </property>
    <property name="suffix">
        <value>.jsp</value>
    </property>
</bean>

И Контроллер

public class LoginController {

    @RequestMapping(value = "/spring-mvc-login", method= RequestMethod.GET)
    public String sayHello(){
        return "login";
    }

    @RequestMapping(value = "/spring-mvc-login", method = RequestMethod.POST)
        public String handleLoginRequest(@RequestParam String name, @RequestParam String password,
                                         ModelMap modelMap){
        modelMap.put("name",name);
        modelMap.put("password", password);
        return "welcome";

        }

}

В Контроллер при изменении @RequestMapping с "/ spring-mvc-login" на "/"конечно, все работает нормально, но я хочу перенаправить страницу приветствия в "/ spring-mvc-login", а не в "/".Спасибо за помощь.

Ответы [ 3 ]

0 голосов
/ 21 ноября 2018

Попробуйте удалить "/"

до

<welcome-file>/spring-mvc-login</welcome-file>

после

<welcome-file>spring-mvc-login</welcome-file>
0 голосов
/ 21 ноября 2018

Попробуйте изменить содержимое web.xml:

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

Или измените отображение контроллера на:

@RequestMapping(value={"/", "/spring-mvc-login"})
0 голосов
/ 21 ноября 2018

Не забудьте использовать аннотацию @RestController.Если вы хотите перенаправить использование:

@RequestMapping(value = "/", method = RequestMethod.GET)
public void redirect(HttpServletResponse httpResponse) throws Exception {

     httpResponse.sendRedirect("/spring-mvc-login");
}
...