eclipse - 使用 Spring 框架的 Eclipse 中的 Java Web App 无法识别对 Controller 的编辑

标签 eclipse spring jsp tomcat

我在工作中得到了一个现有的仪表板,并且是整个 Java Servlets with Spring Framework 交易的新手。

所以那里的页面可以工作,流程是 Controller 内部的方法有 @RequestMapping 注释。例如

@RequestMapping("/index.do")
public ModelAndView index() throws Exception {
    LoginDO oLoginDO = new LoginDO();       
    return new ModelAndView("index","oLoginDO",oLoginDO);
}

servlet.xml 文件将 View 映射到 jsp 文件,一切正常。

但我的问题是,当我编辑 controller.java 文件并创建另一个返回新 View 的方法时,该方法用于网页的新页面,servlet 无法识别更改。它说“没有为 servlet 请求找到匹配的处理程序方法。”

事情是这样的,我相信这是因为当在 controller.java 中进行编辑时,Spring Framework 不知何故没有被“更新”(不知道这是不是正确的术语)。我从 Eclipse 中的 WAR 文件部署了我的源代码,然后在 Tomcat 服务器上运行它。事情是这样的,我的导师的代码和编辑一起工作得很好,但我相信他创建了一个 Tomcat 项目,项目目录不同,编辑会在保存后立即更新到网站上。

请注意,当我将 JSP 更改为现有页面时,更新会立即被识别,只有当我创建一个新的 JSP 和一个新的 @RequestMapping 注释以及一个新方法时,它才不起作用。我什至在 controller.java 中尝试了 print 语句,但没有显示任何内容。

所以我想这是一个 Eclipse 问题和部署问题,但任何帮助都会很棒!不太确定如何解决此问题。我什至尝试重新启动服务器,但没有成功。谢谢!

最佳答案

新的@RequestMapping 方法需要重新加载(更新)上下文才能使它们可用。当 STS (Eclipse) 检测到 spring bean 发生变化时,它会自动重新加载上下文。如果您在这方面遇到问题,请尝试重新部署项目或重新启动 Tomcat。

此外,我想知道您是将新的@RequestMapping 方法放在新的 Controller 中还是现有的 Controller 中。如果它是一个新的 Controller ,您是否将该 Controller 添加到 Spring Web 上下文中(例如 @Controller + component-scan 或只是将 bean 添加到配置文件中)。

关于eclipse - 使用 Spring 框架的 Eclipse 中的 Java Web App 无法识别对 Controller 的编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11059621/

相关文章:

java - 具有不同包名称的相同 Android 应用程序

java - 如何在用户界面中使用 SOAP Web 服务?

java - 如何同时为java开发人员、c/c++开发人员、php开发人员安装eclipse?

java - 在一个项目中混合 java、scala 和 xtend 文件?

java - 如何决定在 Java Web 服务中使用什么框架?(SOAP)

spring - 如何从 Junit5 的配置中获取 DataSource bean

javascript - div 中不需要的 br 标签

java - 如何调用JSP页面查询?

java - Eclipse 重构 - 仅限 Java

java - 如何修复最常见的 LazyInitializationException - Hibernate JPA