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



我正在尝试构建一个自己的Web应用程序(Java、SpringMVC、Hibernate),我对从头开始开发还很陌生。示例项目已经完成。技术规格:Maven、Eclipse Oxygen IDE、Tomcat 9。当我右键单击项目->运行方式->在服务器上运行时,我得到以下错误:

描述:源服务器找不到当前表示或者不愿意公开该目标资源的存在。

当我点击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";
}

spring-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安装文件夹/日志中更新。我不知道为什么。

附言:我已经尝试过了,将服务器属性->常规->工作区元数据切换到/Servers/Tomcat v9.0 server而之前提供的几乎所有其他解决方案似乎都不起作用。

在Eclipse中,如果没有设置选项"Build automatically",servlet可能不会编译。手动生成项目并重新启动服务器可能会解决此问题。

相关内容

最新更新