简体   繁体   English

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

[英]Spring MVC Hello World application not working

I'm new to Spring MVC and I'm trying to write a simple web app to get started with Spring. 我是Spring MVC的新手,我正在尝试编写一个简单的Web应用程序来开始使用Spring。

Here's what I have: 这就是我所拥有的:

web.xml: 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 主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 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 的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 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>

The index.jsp starts well, but when I click to navigate to the login page, I get 404. I'm using Tomcat 7. And I'm out of ideas, it looks like the DispatcherServlet is not being invoked for some reason. index.jsp开始很好,但是当我点击导航到登录页面时,我得到404.我正在使用Tomcat 7.而且我没有想法,看起来DispatcherServlet由于某种原因没有被调用。

What could be the problem? 可能是什么问题呢?

Thanks in advance. 提前致谢。

The issue could be that you are missing the context path in your page, try this way: 问题可能是您错过了页面中的上下文路径,请尝试以下方式:

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

Update: 更新:

Can you please also add <mvc:annotation-driven/> to your main-servlet.xml 您还可以将<mvc:annotation-driven/>main-servlet.xml

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM