Tomcat服务器正在通过Eclipse运行,但我的应用主页正在抛出404错误

时间:2017-10-19 18:05:22

标签: java spring eclipse tomcat

我正在尝试构建自己的Web应用程序(Java,SpringMVC,Hibernate),而且我从头开始开发新手。 示例项目已完成。技术规格:Maven,Eclipse Oxygen IDE,Tomcat 9。 当我右键点击Project - >以 - >运行在服务器上运行我收到以下错误:

  

描述:原始服务器未找到当前表示   对于目标资源或不愿意披露存在的资源。

当我在浏览器中明确地点击URL(http://localhost:8080/mavenWebApp/getAllCountries)时也会发生相同的事情:

然而,当我点击Tomcat默认页面(http://localhost:8080)时,它可以正常工作。

我的控制器类

@RequestMapping(value="/getAllCountries", method = RequestMethod.GET, headers="Accept=application/json")
public String getCountries(Model model) {
    List listofCountries = countryService.getAllCountries();
    model.addAttribute("Country", new Country());
    model.addAttribute("listOfCountries", listofCountries);
    return "countryDetails";
}

弹簧servlet.xml中

<beans:bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <beans:property name="prefix" value="/WEB-INF/views/" />
    <beans:property name="suffix" value=".jsp" />
</beans:bean>

我在WEB-INF / views /文件夹中有countryDetails.jsp。

我的完整web.xml

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationcontext.xml</param-value>
    </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

  <servlet>
     <servlet-name>spring</servlet-name>
     <servlet-class>
      org.springframework.web.servlet.DispatcherServlet
     </servlet-class>
     <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
     <servlet-name>spring</servlet-name>
     <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

我在spring-servlet.xml中完成了bean配置,因此在这种情况下applicationcontext.xml是我为此创建的空文件。

如果您要我粘贴我的代码的任何其他部分,请告诉我。 哦,并没有在通常的Tomcat-Installation-Folder / logs中更新服务器日志。我不知道为什么。

P.S。我试过,切换服务器属性 - &gt;一般 - &gt;工作区元数据到/ Servers / Tomcat v9.0服务器 几乎所有其他解决方案都是先前提供的,但似乎都没有。

1 个答案:

答案 0 :(得分:0)

在Eclipse中,如果选项&#34;自动构建&#34;没有设置,servlet可能无法编译。手动构建项目并重新启动服务器可能会解决问题。