0

我正在使用 Spring Tool Suite(真的是 Eclipse)。我刚刚创建了一个新的 springMVC 项目并创建了一个简单的控制器。STS 创建项目的方式存在问题,因此我不得不手动修复 pom.xml 中的 groupID 和 artifactID。我目前遇到的问题是我似乎无法访问我的 tomcat 服务器(由 STS 发布和启动)。我检查了 tomcat 中发布它的目录结构,一切似乎都很好,但是当我尝试点击控制器时,我得到了 404。tomcat 日志看起来好像没有任何尝试连接到它。他们还显示我的控制器已被映射:

2013-10-14 09:09:17.763] INFO  o.s.w.s.m.m.a.RequestMappingHandlerMapping - Mapped "{[/Login],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String com.verisk.underwriting.ims.web.IMSController.test()

这是我的控制器的样子:

@Controller
@RequestMapping("Login")
public class IMSController
{
    @RequestMapping(value = "", method = RequestMethod.GET)
    @ResponseBody
    public String test()
    {
        return "SUCCESS";
    }
}

该应用程序称为 ims,因此我应该能够通过以下请求访问此控制器:

http://localhost/ims/Login

它使用 java config (AppConfig.java) 进行配置:

    @Configuration
    @EnableWebMvc
    @ComponentScan(basePackages = "com.some.package.ims.web")
    public class AppConfig extends WebMvcConfigurerAdapter
    {
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry)
        {
             registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");  
        }
    }

是否有指定应用程序基本路径的配置文件?

4

2 回答 2

0

查看.metadata我们工作区的目录。它有一个包含目录的.plugins文件夹,org.eclipse.wst.server.core并且有一个(或多个)目录tmp0。包含一个wtpwebapps目录。这包含已部署的 webapps 以及所使用的名称 - 例如MyApp

<Workspace>\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\MyApp

然后您的登录页面位于

http://localhost[:8080]/MyApp/Login
于 2013-10-14T15:50:04.303 回答
0

http://localhost/ims/Login将命中端口80;默认情况下,tomcat 在端口上运行8080。所以除非你把tomcat的HTTP端口改成80你需要使用localhost:8080

如果端口良好,则检查您的应用程序上下文路径是否真的是ims,默认情况下它是生成WAR文件的确切名称。如果您使用 WTP,eclipse 的“服务器”视图将在服务器实例下显示它。

如果上下文路径良好,则检查web.xml描述符中配置的 URL 映射。确保您没有在 REST/MVC servlet URL 聚合的 URL 中缺少前缀。在您的情况下,您应该使用它,.../resources/Login因为您将资源配置为该/resources/**模式。

于 2013-10-14T15:37:08.940 回答