确定 Web 应用路径



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

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配置(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/");  
        }
    }

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

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

<Workspace>.metadata.pluginsorg.eclipse.wst.server.coretmp0wtpwebappsMyApp

然后您的登录页面位于

http://localhost[:8080]/MyApp/Login

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/**模式下。

相关内容

  • 没有找到相关文章

最新更新