gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 23:49:10 24 4
gpt4 key购买 nike

我在工作中得到了一个现有的仪表板,并且是整个 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com