当前位置: 首页 > 面试题库 >

Spring MVC Hello World应用程序无法正常工作

金泉
2023-03-14
问题内容

我是Spring MVC的新手,我正在尝试编写一个简单的Web应用程序以开始使用Spring。

这是我所拥有的:

web.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" 
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    id="WebApp_ID" version="2.5"> 
    <display-name>HatifimWeb</display-name> 
    <welcome-file-list> 
        <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
        <servlet-name>main</servlet-name> 
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
        <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
        <servlet-name>main</servlet-name> 
        <url-pattern>/</url-pattern> 
    </servlet-mapping> 
</web-app>

main-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="springapp.controller" /> 
    <bean id="viewResolver" 
        class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
        <property name="viewClass" 
            value="org.springframework.web.servlet.view.JstlView" /> 
        <property name="prefix" value="/WEB-INF/jsps/" /> 
        <property name="suffix" value=".jsp" /> 
    </bean> 
</beans>

LoginController.java

package springapp.controller;

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

@Controller 
public class LoginController {

    @RequestMapping("/Login") 
    public ModelAndView handleRequest() throws Exception { 
        System.out.println("Login...");

        return new ModelAndView("Login", "message", "test"); 
    }

}

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> 
    Hello. 
    <br /> 
    <a href="Login">login</a> 
</body> 
</html>

Login.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>poopidipoo</title> 
</head> 
<body> 
    ${message} 
</body> 
</html>

index.jsp可以很好地启动,但是当我单击导航到登录页面时,我得到404。我使用的是Tomcat7。由于想法不清,看来DispatcherServlet由于某种原因未被调用。

可能是什么问题呢?

提前致谢。


问题答案:

问题可能是您缺少页面中的上下文路径,请尝试以下方式:

<a href="${pageContext.request.contextPath}/Login">login</a>

更新:

您能否也添加 <mvc:annotation-driven/>到您的main-servlet.xml



 类似资料:
  • 当我用IntelliJ Idea运行它时-它完全正常工作。当我从output运行app.jar文件时--所有的东西都运行得很好,但有一个特性是由supportlib.jar支持的。使用时,我得到。输出的结构为: 类路径为:

  • 我尝试了《Spring in Action第三版》一书中描述的Spring MVC应用程序。不幸的是,到目前为止,在浪费了6个小时之后,我无法运行最简单的应用程序。我总是会收到“HTTP状态404”错误。 我在这个论坛上找到了很多关于“@RequestMappingSpring不工作”的帖子,现在想知道我是否在遵循正确的书,或者是否有一些非常基本的东西困扰着这么多Spring的学习者。 我试着运行

  • testFX。java: testFXController.java: 测验fxml: 当我运行testFX. java时,系统打印: 这是教授的代码,我似乎无法运行它。我意识到主要问题在代码

  • 我开发了一个包含地图活动的Android应用程序。在发布应用程序之前和现在地图在模拟器中工作正常,但是在google play中发布的应用程序中的地图并没有出现。在设备的位置或在我搜索的位置没有问题,还计算了设备的位置和我搜索的位置之间的距离,但地图是完全灰色的。我该如何解决这个问题呢?

  • 问题内容: 这似乎是最容易的事情,但它没有用。在普通的浏览器中,.html和.js文件可完美运行,但在Chrome扩展程序中,该功能无法执行应有的功能。 .js文件: .html文件: 因此,基本上,一旦用户单击“ hyhy”,“ ha”应更改为“ xxx”。再说一次- 它在浏览器中完美运行,但在扩展程序中不起作用。你知道为什么吗?以防万一我还要在下面附加manifest.json。 提前致谢!

  • 问题内容: 因此,我的设置无法按我想要的方式工作。因此,每当我运行该程序时,它就会立即从0变为100。我尝试使用,任务,并尝试了,但没有任何尝试。 这是我的程序: @MadProgrammer这是我尝试做一名摆动工作人员并将每个名称写入文档并更新进度栏的尝试。该程序将达到86%左右并停止运行,永远不会创建完成的文档。该程序将创建一个空白文档。这是我首先创建的SwingWorker对象,这是两种方法