我有一个Spring 4.1.0 MVC项目托管在WildFly 10服务器中。并且我无法在没有得到404的情况下向其发送请求。这是我的控制器和方法声明之一:
@Controller
@RequestMapping("/rest/message")
public class HomeController {
@RequestMapping(method = RequestMethod.POST, value = "/register")
public @ResponseBody PostResult register(HttpServletRequest request, @RequestHeader("userUid") String userUid,
@RequestHeader("Uid") String Uid, @RequestHeader(value = "firstName", required = false) String FirstName,
@RequestHeader(value = "lastName", required = false) String LastName,
@RequestHeader(value = "emailAddress", required = false) String EmailAddress,
@RequestHeader(value = "userName", required = false) String UserName,
@RequestHeader(value = "country", required = false) String Country,
@RequestHeader(value = "password", required = false, defaultValue = "") String Password,
@RequestHeader(value = "deviceId", required = false, defaultValue = "") String deviceID) {
}
}
我在用邮递员把请求发到http://localhost:8080/rest/message/register.我回复“404-未找到”。我可以成功导航到http://localhost:8080查看WildFly的启动屏幕。我还可以在控制器的构造函数中设置一个断点来查看它的构造。此外,我在服务器日志中看到以下内容,这让我相信路由实际上已经注册:
INFO : org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Mapped "{[/rest/message/register],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public com.justPick5.jp5.returnObjects.PostResult com.justPick5.jp5.HomeController.register(javax.servlet.http.HttpServletRequest,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)
为了排除参数成为问题的可能性,控制器中有一个简单的方法:
@RequestMapping(method = RequestMethod.GET, value = "/testNoParams")
public @ResponseBody PostResult testNoParams() {
System.out.println("testNoParams");
return null;
}
从邮递员到http://localhost:8080/rest/message/testNoParams结果也一样。
这是我的网站。xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
<context-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</param-value>
</context-param>
<!-- Processes application requests -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
感谢您的帮助。
我也有同样的问题,通过将类注释从@Controller
更改为@RestController
我猜这个问题与上下文路径有关。http://localhost:8080/../rest/message/testNoParams
如果我没有错,你需要把正确的路径放在(/../)上,也就是说,WAR已经用其他名称部署,可能是你走错了路径。
这种情况经常发生在野蝇部署中。
e、 g:战争部署是ABC。1.0.0-BUILD-SNAPSHOT。战争,但我们经常在我们的道路上撞到。
所以,请纠正上下文路径。你可以在野蝇-
我有一个问题: 我已经做了: 作曲家更新
我在routes.php中定义了一个简单的路由,位于任何路由之上: 当通过http访问时,它可以工作,但它提供: 当我试图通过https访问时。 我在网上搜索了很多,但没有找到任何解决方案。 我的主页正在加载超文本传输协议和https,但其他路由不工作。我需要一些额外的配置吗? 编辑: .htaccess: 请引导我。 塔克斯。
我想做我的第一个码头集装箱 我安装了dokcer-ce,遵循ubuntu的docker教程。 我创建一个文件夹,并把我的Dockerfile在它。 在这个文件夹中,我做了一个: 我总是有这样的输出 编辑:我在sshd,没有工作?!
我试图将我的posts.delete链接到我的index.blade.php,但我一直得到Symfony\Component\Routing\Exc0019\RouteNotFoundExcema 指数刀身php PostLikeController web.php 喜欢php 我检查了我的路线:列表,我发现它在那里 ----------------------------------------
我有一个Django Vue。我正在尝试连接到django频道的js聊天应用程序。 要访问任何聊天室,您只需访问: http://localhost:8080/rooms/"id"/ 我的javascript连接如下所示: 我的consumers.py: 我的routing.py: 我的项目routing.py: 问题是,我无法连接到websocket,我的django服务器说: [失败实例:回溯
我在我的SpringMVC项目中得到了这个错误。我必须在浏览器中手动添加完整的路径来运行代码,但我不能直接运行它。 web.xml: