获取请求的资源未找到 - 404错误,对于请求映射和Spring工具套件中的href

时间:2017-09-18 01:19:09

标签: java spring spring-mvc

我搜索了许多类似的问题,但遗憾的是没有得到解决方案。

的index.jsp:

<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<html>
    <head>
        <meta charset="utf-8">
        <title>Welcome</title>
    </head> 
    <body>
    <form action="login">
    <input type="submit" name="submit" value="Lets get Started">
    </form> 
    </body>
</html>

myController的:

package com.productivity.Controllers;

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

@Controller
public class LoginController{
    @RequestMapping(value="/login")
    public String Login(){
        return "login";
    }
}

所以,当我点击index.jsp中的提交时,它应该映射(/ login)控制器和 shd正在进行login.jsp。 但它显示, HTTP状态404 - / ProductivityTemple / login 类型状态报告 message / ProductivityTemple / login 说明请求的资源不可用。

一切都设定为ryt, mvc-config.xml:

<mvc:annotation-driven/>
     <context:annotation-config/>
       <context:component-scan
            base-package="com.productivity.Controllers"/> 

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <!-- Example: a logical view name of 'showMessage' is mapped to '/WEB-INF/jsp/showMessage.jsp' -->
            <property name="prefix" value="/WEB-INF/view/"/>
            <property name="suffix" value=".jsp"/>
    </bean>

应用-config.xml中:

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

的web.xml:

 <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring/application-config.xml</param-value>
        </context-param>

        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>


        <!--
            - Servlet that dispatches request to registered handlers (Controller implementations).
        -->
        <servlet>
            <servlet-name>dispatcherServlet</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>/WEB-INF/mvc-config.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>

        <servlet-mapping>
            <servlet-name>dispatcherServlet</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>

部署程序集还可以正确映射所有文件夹。

我尝试将login.jsp的href直接保存在index.jsp中,但我仍然遇到同样的错误。

<a href="login.jsp">Login</a>

HTTP状态404 - /ProductivityTemple/login.jsp 类型状态报告 message /ProductivityTemple/login.jsp 说明请求的资源不可用。

我认为这是STS中的一些设置,请帮我解决问题。从4天开始解决这个问题。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

从错误消息HTTP Status 404中,您在/bin/sh路径下部署了项目。

尝试使用:

/ProductivityTemple/login.jsp

index.jsp

中的

另请阅读JSP Absolute paths

它帮助我

并检查login.jsp文件是否与index.jsp

的位置相同