The below code is controller. At the time of invoking controller we are getting 404 error. Please help me how to resolve it.
package com.javatpoint;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class HelloWorldController {
@RequestMapping("/hello")
public ModelAndView helloWorld() {
String message = "HELLO SPRING MVC HOW R U";
return new ModelAndView("hellopage", "message", message);
}
}
This is my jsp.
<%@ page isELIgnored = "false" %>
<a href = "hello.html">click</a>
как вызвать контроллер Spring с помощью Spring mvc.
Please help on this?
Мы хотим знать, почему появляется ошибка 404.
Так что пара вещей выпрыгивает прямо на меня
@RequestMapping ("/ hello") нужен hello.jsp
Если вы хотите hellopage: @RequestMapping ("/ hellopage") нужен hellopage.jsp
Местоположение должно быть: javatpoint \ src \ main \ webapp \ WEB-INF \ views \ hellopage.jsp Это стандарт для приложений Spring MVC.
Также верните новый ModelAndView («hellopage», «message», message); привет здесь ваша целевая страница, а не Привет
Второй аргумент - это имя переменной, а третий - значение. В этом случае "message" = сообщение
Вот ваш контроллер
package com.javatpoint.app;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
/**
* Handles requests for the application home page.
*/
@Controller
public class HelloWorldController {
private static final Logger logger = LoggerFactory.getLogger(HelloWorldController.class);
/**
* Simply selects the home view to render by returning its name.
*/
@RequestMapping(value = "/hellopage", method = RequestMethod.GET)
public ModelAndView helloWorld() {
String message = "HELLO SPRING MVC HOW R U";
return new ModelAndView("hellopage", "message", message);
}
}Что я думаю ты пытаешься сделать
package com.javatpoint.app;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
/**
* Handles requests for the application home page.
*/
@Controller
public class HelloWorldController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
/**
* Simply selects the home view to render by returning its name.
*/
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public ModelAndView helloWorld() {
String message = "HELLO SPRING MVC HOW R U";
return new ModelAndView("hellopage", "message", message);
}
}Теперь, если вы перейдете в / hello, отобразится hellopage.jsp.
В моем hellopage.jsp местоположение критично javatpoint \ src \ main \ webapp \ WEB-INF \ views \ hellopage.jsp
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<%@ page session = "false" %>
<html>
<head>
<title>Hello Page</title>
</head>
<body>
<%@ page isELIgnored = "false" %>
<P> ${message}. </P>
</body>
</html>Надеюсь, это поможет не стесняться задавать больше вопросов в комментариях.
Не могли бы вы объяснить, как весна будет учитывать это место, ведь я новичок в этой весне?
Местоположение всегда находится в WEB-INF \ Если вы используете Eclipse STS -> New -> Spring Legacy Project -> Spring MVC Project. Вот как я только что создал пример вашего проекта. Он всегда должен быть где-то в WEB-INF \ Если вы новичок в Spring, также проверьте @RestController spring.io/guides/gs/rest-service
Я нашел этот пример другого местоположения файла mkyong.com/spring-mvc/spring-mvc-hello-world-example
если ответ помог, продолжайте и примите его, чтобы люди знали, что проблема решена.
Как местоположение будет учитывать javatpoint / SRC / main / webapp / WEB-INF / views / hellopage.jsp