繁体   English   中英

Spring Servlet中的404解析视图

[英]404 resolving view in spring servlet

我有一个在Eclipse的Tomcat 8上运行的Spring(4)MVC servlet。 当我启动tomcat时,控制台中没有错误,并且记录了控制器的所有正确请求映射。 如果我尝试访问localhost:8080/app/login则会执行我的控制器方法(通过调试进行检查),但是我得到一个带有以下内容的404页面:

消息/app/WEB-INF/jsp/login.jsp

描述所请求的资源不可用。

我的项目具有以下目录结构:

project-root
 |-src
 |-WebContent
    |-WEB-INF
       |-jsp
          |-login.jsp

我的配置类:

@EnableWebMvc
@Configuration
@ComponentScan(basePackages = "com.example")
public class WebConfig extends WebMvcConfigurerAdapter {
    @Override
    public void configureViewResolvers(final ViewResolverRegistry registry) {
        registry.jsp("/WEB-INF/jsp/", ".jsp").viewClass(JstlView.class);
    }
    //Other stuff
}

控制器:

@Controller
@RequestMapping("/login")
public class AuthnRequestController {
    @RequestMapping(value = "", method = RequestMethod.GET)
    public ModelAndView getLoginPage() {
        return new ModelAndView("login");
    }
    //Other stuff
}

过去,该应用程序运行良好,但是我正在处理我的工作空间/项目在其他方面的工作,现在我又回到了工作状态,因此无法使其再次正常工作。

AFAIK,默认情况下,在Maven战争项目中,jsp文件应位于/src/main/resources/ 由于您在配置中给了jsp文件前缀/WEB-INF/jsp/ ,因此请尝试将jsp文件移动到以下位置。

/src/main/webapp/WEB-INF/jsp/

假设:

  • Web部署程序集中未提供到root/WebContent的映射。

  • Web部署程序集中存在到/src/main/webapp的映射。

  • 您的日食正在使用maven war plugin

暂无
暂无

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

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