получение ошибки http 404 при запуске следующего кода для Spring mvc..Скажите мне, где ошибка и как ее исправить?

#java #spring-mvc

#java #spring-mvc

Вопрос:

Здесь я запускаю простую программу hello world в spring mvc.Здесь я создал простую форму, которая принимает в качестве входных данных два целых числа, и при нажатии кнопки отправки должно отображаться сообщение «я здесь», но при нажатии кнопки отправки выдается ошибка 404, поскольку «Исходный сервер не нашел текущее представление для целевого ресурса или не желает раскрывать, что оно существует»

вот класс контроллера

 @Controller
public class AddController {
@RequestMapping("/add")
public void add()
{
  System.out.println( "I am here");
}
  

вот hp-servlet.xml файл

 <ctx:annotation-config/>
<ctx:component-scan base-package="com.hp.demomvc.*">
</ctx:component- scan>
<bean id = "viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name = "prefix" value = "/WEB-INF/views/"/>
<property name = "suffix" value = ".jsp"/>

</bean>
<mvc:default-servlet-handler/>
  

вот набор зависимостей в pom.xml файл

 <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>test</scope>
</dependency>
<dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-context</artifactId>
     <version>4.1.8.RELEASE</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>4.1.8.RELEASE</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.36</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
  

и вот web.xml файл

 <web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
    <servlet-name>hp</servlet-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>hp</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
  

Комментарии:

1. эмммм, я думаю, вы что-то потеряли. сначала добавьте <mvc:аннотации, управляемые />, тогда вы можете увидеть вывод «я здесь».

Ответ №1:

это происходит, потому что вы не вернули ни одной страницы JSP в этом методе

 public void add()
{
  System.out.println( "I am here");
}
  

проверьте в своем терминале или файлах журнала, что «Я здесь» будет там,

Если вы хотите вывод в веб-браузере, что вам следует делать сейчас?

  1. создайте страницу JSP с именем test.jsp (вы можете указать любое имя) в /WEB-INF/views/ и напишите что-нибудь на этой веб-странице в формате HTML
  2. затем измените этот метод

    @RequestMapping(«/add») public void add() { System.out.println( «Я здесь»); }

к этому,

 @RequestMapping("/add")
public String add(){
  return "test";
}
  

и убедитесь, что вы правильно создали свои конфигурации Spring

счастливого кодирования!!!

Комментарии:

1. Здесь я хочу напечатать строку i are here на консоли, но она не выводит ее на консоль