java - 控制台输出 : org. springframework.web.servlet.PageNotFound noHandlerFound HTTP 状态 404:请求的资源不可用

标签 java spring-mvc tomcat

我以前看过类似的问题。我尝试了提供给他们的解决方案,但仍然面临同样的问题。 我正在尝试运行简单的 hello world spring mvc 应用程序。 我得到的输出是 HTTP Status 404

在控制台中, I can see following message.

This is my project structure

以下是代码文件。

网络.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<display-name>HelloWorldApplication</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<servlet>
    <servlet-name>HelloWorld</servlet-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <url-pattern>/welcome.jsp</url-pattern>
    <url-pattern>/index.jsp</url-pattern>
    <url-pattern>/welcome.html</url-pattern>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>

</web-app>

HelloWorld-servlet.xml

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
    http://www.springframework.org/schema/beans     
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc.xsd
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context.xsd">

<context:component-scan base-package="com.HelloWorld.controller" />

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.JstlView" />
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
</bean> 

HelloWorldMain.java

package com.HelloWorld.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

/*
 * author: Siddhesh Jethe
 * 
 */

@Controller
public class HelloWorldMain {

@RequestMapping("/welcome")
public ModelAndView helloWorld() {

    String message = "<br><div style='text-align:center;'>"
            + "<h3>********** Hello World </h3> Welcome**********</div><br><br>";
    return new ModelAndView("welcome", "message", message);
}
}

索引.jsp

<html>
<head>
<title>Test project</title>
<style type="text/css">

</style>
</head>
<body>
    <br>
    <div style="text-align:center">
        <h2>
            test<br> <br>
        </h2>
        <h3>
            <a href="welcome.html">Click here to See Welcome Message... </a>
        </h3>
    </div>
 </body>
 </html>

最佳答案

你在浏览器的 Devtools 的 Network 选项卡中看到了什么 Http 请求? 这与您的 Controller 匹配吗? 根据您的配置,URL http://<servername>:<port>/HelloWorld/welcome应该被点击以呈现您的 welcome.jsp。

关于java - 控制台输出 : org. springframework.web.servlet.PageNotFound noHandlerFound HTTP 状态 404:请求的资源不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47824985/

相关文章:

java - D/斯基亚 : libjpeg error 117 <Corrupt JPEG data: premature end of data

java - tomcat应用程序已启动但立即销毁

java - spring mvc,maven,hibernate java.lang.ClassNotFoundException : com.实体.Candidate

java - 使用 Java 9 和 Java 10 从 Eclipse 上的 Tomcat 中删除 java.endorsed.dirs

c# - IIS/C# 网站与 Tomcat/Java 网站共享身份验证 - 相同的顶级 URL

Java 堆小于预期

java - 无法使用 neo4j spring 数据向一个节点添加更多关系

java - 从 JTable 中删除列

java - Spring MVC 测试结果出现 415 错误

Tomcat Deployment - Tomcat如何检测 war 变化?