Java 未调用SpringMVC控制器-但编译过程似乎很好
在使用SpringMVC框架时,我尝试创建一个小型JavaWeb项目。 为了构建我的项目,我使用ant。 编译过程似乎正常,但不幸的是,我的控制器类(和方法)从未被调用 这是我的解决方案文件 web.xml: ant构建文件:(build.xml)Java 未调用SpringMVC控制器-但编译过程似乎很好,java,spring,spring-mvc,tomcat,ant,Java,Spring,Spring Mvc,Tomcat,Ant,在使用SpringMVC框架时,我尝试创建一个小型JavaWeb项目。 为了构建我的项目,我使用ant。 编译过程似乎正常,但不幸的是,我的控制器类(和方法)从未被调用 这是我的解决方案文件 web.xml: ant构建文件:(build.xml) 为不工作的项目生成文件 最后是我的tomcat部署描述符:(helpme.xml) 在运行compileant脚本之后,一切看起来都很好。Tomcat按它应该做的那样启动,但不管我调用哪个URL,控制器都不会被触动。 这就是我所尝试的: 本
为不工作的项目生成文件
最后是我的tomcat部署描述符:(helpme.xml)
在运行compileant脚本之后,一切看起来都很好。Tomcat按它应该做的那样启动,但不管我调用哪个URL,控制器都不会被触动。
这就是我所尝试的:
- 本地主机:8080/
- 本地主机:8080/test
- 本地主机:8080/test/page1
- 本地主机:8080/page1
<url-pattern>/test/</url-pattern>
/test/
到
/
那么localhost:8080/page1至少可以正常工作
这是一个maven项目吗?如果是这样的话,您能给我们看一下pom.xml吗
大多数人使用Requestmapping“/”启动他们的Web应用程序
如果你想快速开始Spring MVC编程,没有垃圾或安装程序,请使用STS(Spring工具套件),尽管有人给了我一个难题,因为我喜欢这个工具说它带有一个预安装的tomcat,因此减少了体验,虽然这是真的,但最终你还是需要了解如何手动部署到tomcat 在您的情况下,如果您在控制器中有任何请求映射为
/test/
,那么
localhost:8080/test/
它会起作用的
如果您想在/test/之后创建任何url,则需要如下操作:
localhost:8080/test/page1
您需要在web.xml中将其映射为:
/test/*
正如我所评论的
在url/test/*中,
*
表示在/test/之后的任何事情都不要使用Ant,Ya Wang的回答应该会有所帮助。您正在Tomcatwebapps
文件夹中部署web应用程序。那么,您能否提供已部署应用程序的文件夹结构。我怀疑部署不正确,或者Tomcat没有加载应用程序。您是否尝试过/test/*谢谢!更改url模式是可行的,但我确实希望它在调用“../test/”时运行。我不明白为什么这不起作用?!有什么想法吗?解决了!我不知道为什么-但是将模式更改为“/test/*”是有效的@CodeCannibal是的,如果你想让它做测试/某事,你会这么做。问题是/意味着所有的URL,如果你想测试/你需要做test/*这是测试之后的所有URL。现在你知道了。
<?xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase="c:\..myPath..\HelpMe\build\" path="/helpme">
</Context>
<url-pattern>/test/</url-pattern>
<url-pattern>/</url-pattern>
localhost:8080/test/
localhost:8080/test/page1
/test/*