我搜索了许多类似的问题,但遗憾的是没有得到解决方案。
的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天开始解决这个问题。 提前谢谢!
答案 0 :(得分:0)
从错误消息HTTP Status 404中,您在/bin/sh
路径下部署了项目。
尝试使用:
/ProductivityTemple/login.jsp
它帮助我
并检查login.jsp文件是否与index.jsp
的位置相同