java - Ajax post无法找到URL,这导致java类带有注释。给出错误 404

标签 java ajax maven jetty jax-rs

我在我的 Java Script 文件中编写了我的 ajax post ,如下所示: 其中 obj1 是一个 Stringified JSON 对象。

$.ajax({
    url:'./rest/input/post',
    type: 'POST',
    data:obj1,
    contentType: 'application/json',
    dataType:'json',
    success:function(data)
    {
        var values = JSON.stringify(data);
        alert(values);
    },
},'json');

我将它传递给 Java 类,如下所示:

@Path("/input")
public class InputResponse {
@POST
@Path("/post")
@Consumes(MediaType.APPLICATION_JSON) 
@Produces(MediaType.APPLICATION_JSON)
     public Input postInputRecord(Input obj){
         return obj;
     }
}

我的Web.xml文件如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app 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_3_0.xsd"
version="3.0"
metadata-complete="true">
<display-name>CAD</display-name>
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
  <param-name>jersey.config.server.provider.packages</param-name>
  <param-value>com.cad.example.response</param-value>
</init-param>
<init-param>
    <param-name>com.sun.jersey.config.property.packages</param-name>
    <param-value>com.cad.data.model</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>

这是 maven 项目: 我在 Jetty Server 上运行它,同时调用 url“http://localhost:8001/project_name/rest/input/post” 但它给了我 404 错误。除此之外,控制台中没有任何错误。 为什么会这样呢?我该如何解决这个问题? 非常感谢任何建议。

最佳答案

查看 Java 类中的路径变量。/输入翻译为http://localhost:8001/input/post这可能不是你想要的。

您还在 Java 文件中重新声明了 @Path 变量两次。一次在 InputResponse 类定义之前,一次在 InputResponse 类本身内部。

关于java - Ajax post无法找到URL,这导致java类带有注释。给出错误 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32599609/

相关文章:

java - 使用 AsyncTask 隐藏/显示进度条

java - 同一台服务器上的 Spring Boot + Angular2

javascript - ajax成功时使用JSON结果

javascript - 如何获取站点的 HTML 作为 Javascript 或 jQuery 中的变量?

java - 使用程序集插件进行 Maven 构建时出错

maven - 何时在构建工具的 Sonarqube 插件上使用 Sonar 扫描仪?

java - 在 Maven 测试阶段禁用 Log4J 日志

java - 什么时候需要对象类的引用?

java - 尽管使用适当的方法,仍无法将数字添加到 ArrayList

php - jQuery Masonry 追加与无限滚动重叠