gpt4 book ai didi

java - Spring MVC 应用程序中的 404 错误

转载 作者:行者123 更新时间:2023-12-01 11:36:19 24 4
gpt4 key购买 nike

我在 Eclipse EE IDE 中创建了一个简单的 Spring MVC 应用程序,没有使用任何构建工具,例如 Maven 或 ant

该应用程序仅包含一个 Controller 类、2 个 XML( web.xmlspring-servlet.xml )和一个 jsp 页面( hellopage.jsp )

我正在使用 tomcat 和 6.0 eclipse galileo。

在我的spring-servlet.xml我提到的文件<servlet-name>作为“ Spring ”和 <servlet-class>org.springframework.web.servlet.DispatcherServlet , <url-pattern>*.html ,而在我的 web.xml 中文件欢迎文件是 index.jsp其中有一个链接( <a href="hello.html">click</a> )到 hello.html .

我的 Controller 类的请求映射为( "/hello" ),在部署应用程序的 war 文件后在浏览器中,我点击了 URL localhost:8080/projectname index.jsp页面弹出链接 "click" ,但点击此链接后我得到一个 404 提到“servlet spring 不可用”的错误表示我在 spring-servlet.xml 中提到的调度程序 servlet文件,请问有人可以帮忙吗?

这是代码:

web.xml:

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

<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>

</web-app>

HelloWorldController.java:

package com.samar.controllers;

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...!!";

return new ModelAndView("hellopage","message",message);
}

}

spring-servlet.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation ="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<context:component-scan base-package="com.samar.controllers"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>

index.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<a href="/hello.html">Click</a>
</body>
</html>

hellopage.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Message is ${message}
</body>
</html>

最佳答案

谢谢大家,终于问题解决了,实际上问题除了在项目的构建路径中添加“spring core”和“spring web”jar之外,我还必须将它们添加到WEB-INF下的lib文件夹中,并且它现在可以工作了,这就是为什么 Tomcat 无法找到调度程序 servlet,从而出现 404 错误..我希望答案可以帮助像我这样的初学者..

关于java - Spring MVC 应用程序中的 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29954332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com