首页 > 解决方案 > 在为 spring mvc 运行以下代码时出现 http 404 错误。告诉我错误在哪里以及如何修复它?

问题描述

在这里,我在 spring mvc 中运行了一个简单的 hello world 程序。在这里,我制作了一个简单的表单,它以两个整数作为输入,点击提交按钮时,它应该显示消息“我在这里”,但点击提交时,它是给出 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>

标签: javaspring-mvc

解决方案


确实如此,因为您没有在此方法中返回任何 JSP 页面

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

检查您的终端或日志文件“我在这里”将在那里,

如果你想在网络浏览器中输出,你现在应该怎么做?

  1. 在 /WEB-INF/views/ 中创建一个名为 test.jsp(您可以输入任何名称)的 JSP 页面,并在该网页中以 HTML 格式编写一些内容
  2. 然后改变这个方法

    @RequestMapping("/add") public void add() { System.out.println("我在这里"); }

对此,

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

并确保您已正确设置弹簧配置

编码快乐!!!


推荐阅读