【问题标题】:cannot find route javaEE找不到路由 javaEE
【发布时间】:2016-12-23 15:04:35
【问题描述】:

我在 netbeans 中创建了新的 web 项目(新项目 - java web - web 应用程序 || 名称:测试 || 服务器:glassFish 服务器 4.1.1 || JavaEE 版本:JavaEE 7 web || ContextPath:/Test)

它生成 html 文件,我在其中向服务器添加简单的 ajax 调用。

<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <div>TODO write content</div>
        <script>
            fetch('/Test/name').then(function(x){
                console.log(x)
            })
        </script>
    </body>
</html>

现在(不带脚本标签)当我运行项目时,它会触发我

localhost:8080/Test

现在我创建一个新的 java 类

@Path("/Test")
@Produces("text/plain")
public class RequestClass {
     private String name = "MyName";
     private String age = "MyAge";
    @GET
    @Path("/name")
    @Produces("text/plain")
    public String getName(){
        return this.name;
    }
    @GET
    @Path("/age")
    @Produces("text/plain")
    public String getAge(){
        return this.age;
    }
}

现在,当我构建并运行项目时,服务器以 404 响应

http://localhost:8080/Test/name资源加载失败:服务器响应状态为404(未找到)

为什么会这样?路线是对的,为什么找不到呢?

我正在尝试修复它一段时间,但找不到任何相关信息。

我只是尝试使用

    fetch('/name').then(function(x){
        console.log(x)
    })

但也没有用。

感谢您的帮助!

【问题讨论】:

    标签: java jakarta-ee netbeans netbeans-8 java-ee-7


    【解决方案1】:

    您的应用程序名称或应用程序上下文根是什么?您需要在 url 中有您的应用程序上下文根才能工作,例如 domain:port//routes,对于您的情况,它将是 http://localhost:8080/application-context-root/Test/name

    球衣配置

    <servlet>
        <servlet-name>jersey-serlvet</servlet-name>
        <servlet-class>
                     com.sun.jersey.spi.container.servlet.ServletContainer
                </servlet-class>
        <init-param>
             <param-name>com.sun.jersey.config.property.packages</param-name>
             <param-value>com.mkyong.rest</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>jersey-serlvet</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>
    

    【讨论】:

    • 我在哪里可以找到它?
    • 在 eclipse 中转到项目属性,然后转到 web 项目设置,您将找到上下文根..
    • 我正在使用 netbeans,它生成了 web.xml 文件,但我没有在其中看到 标记
    • 您使用的是哪台服务器?
    • glassfish 4.1.1,所有细节都有问题
    猜你喜欢
    • 2016-11-15
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 2018-08-03
    • 2015-05-12
    • 1970-01-01
    • 2016-07-03
    相关资源
    最近更新 更多