我想问一下如何在tomcat等应用服务器中部署应用程序,我使用SpringMVC并使用jetty在idea中运行,当我在localhost:8080中运行时,它可以工作,但是在tomcat中使用war部署时,url会像localhost :8080/app,显示登录,但是当控制器调用新页面失败时,请帮助我
我复制 Appfuse 的步骤是:
- 按照http://appfuse.org/display/APF/AppFuse+QuickStart,运行生成的 mvn 命令
- mvn appfuse:完整源代码
- 直到这一步,当我运行“mvn jetty:run”时,它运行正常,或者我使用“mvn jetty:run-war”创建战争并且有 demo.war 并且我部署到 tomcat 仍然可以
- 我添加了一些菜单和页面,其中之一是 accountStatement.jsp 和 accountStatementResult.jsp 及其控制器。accountStatement 页面选择期间日期,然后单击 ext 按钮后会有 accountStatement 的结果。
accountStatement.jsp 的结果如下:
您可以在此链接中尝试,我已经部署在 amazonaws.ec2 服务器中: http ://ec2-54-175-88-32.compute-1.amazonaws.com:8080/ demo/ 用户名是用户/用户或管理员/管理员
我使用提交按钮,在 AccountStatementController.java 中的一些重要代码如下所示:
public AccountStatementController() { setCancelView("redirect:home"); setSuccessView("/accountStatementResult");
}
@RequestMapping(method=RequestMethod.POST) public String onSubmit(@RequestParam(value = "periodType", required = false) final String periodType, @RequestParam(value = "datepickerFrom", required = false) final String datepickerFrom, @RequestParam( value = "datepickerUntil", required = false) final String datepickerUntil, @RequestParam(value = "months", required = false) final String months, final RedirectAttributes redirectAttributes, final HttpServletRequest request) throws Exception { String period = datepickerFrom + " - " + 日期选择器直到;if (periodType.equals("monthly")) { period = months; }
redirectAttributes.addFlashAttribute("period", period); return getSuccessView();
}
当我使用“mvn jetty:run”从 intellij Idea 运行时,它运行完美,按下提交按钮后,它将重定向到 accountStatementResult 页面。
但是当我创建 demo.war 并在 tomcat 中部署时,它运行错误,在 accountStatement 页面和按钮之后,结果是错误。
我认为错误出在 urlwriter.xml 中,我曾经在以前的办公室使用 appfuse 1.9 制作过应用程序,现在我想使用 appfus 创建和销售我自己的应用程序。非常感谢你的帮助。
我还在google代码上创建了源代码的存储库,如果您需要查看完整代码,可以向我询问密码。谢谢