Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要ApplicationConfig.java吗_Java_Rest_Tomcat_Jersey - Fatal编程技术网

我需要ApplicationConfig.java吗

我需要ApplicationConfig.java吗,java,rest,tomcat,jersey,Java,Rest,Tomcat,Jersey,试图通过项目名webservicestful\u服务器在Eclipse中创建我的第一个简单web服务演示休息类别代码: package ws; import javax.ws.rs.*; import javax.ws.rs.core.*; @Path("demo") public class DemoRest { @GET @Path("hello") @Produces(MediaType.TEXT_PLAIN) public String hello

试图通过项目名
webservicestful\u服务器
在Eclipse中创建我的第一个简单web服务<代码>演示休息
类别代码:

package ws;

import javax.ws.rs.*;
import javax.ws.rs.core.*;


@Path("demo")
public class DemoRest {

    @GET
    @Path("hello")
    @Produces(MediaType.TEXT_PLAIN)
    public String hello()
    {
        return "Hello world";

    }

}
根据手册,我发现我需要
ApplicationConfig
class。我做到了:

package ws;

import java.util.Set;
import javax.ws.rs.core.Application;

@javax.ws.rs.ApplicationPath("rest")
public class ApplicationConfig extends Application {

    @Override
    public Set<Class<?>> getClasses() {
        Set<Class<?>> resources = new java.util.HashSet<>();
        addRestResourceClasses(resources);
        return resources;
    }
    private void addRestResourceClasses(Set<Class<?>> resources) {
        //add all resources classes
        resources.add(ws.DemoRest.class);
    }
}
web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>WebServiceRestful_Server</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

webservicestful_服务器
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp

如果您可以发布web.xml和pom.xml(如果您使用的是maven),那么就更容易找出问题所在。用jersey配置tomcat可能很困难,因为有太多的方法可以做到这一点。不同的servlet和jersey版本可以有不同的配置方式。可以以非常灵活的方式配置更高的版本,这会导致很多混乱

注释
@javax.ws.rs.ApplicationPath(“rest”)
意味着servlet 3容器(Tomcat 7或更高版本)就是您正在使用的。如果我需要在不查看web.xml的情况下进行猜测,我会说确保将web.xml配置为使用版本3,而不是版本2

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...
</web-app>

...
您甚至可以删除web应用程序标记中的所有内容,jersey将扫描您的所有文件以查找您的应用程序类和所有资源类(至少用@Path或@GET等注释)。 如果不起作用,有两个建议:

  • 如果您有时间,请查看最新的泽西岛,第4.7节。基于Servlet的部署是您想要阅读的内容
  • 如果没有时间,最快的方法是运行这个maven命令,为您设置一个新项目。此命令实际上是建议在jersey浏览器中下载jersey的方法

    mvn原型:generate-DarchetypeGroupId=org.glassfish.jersey.archetypes-DarchetypeArtifactId=jersey快速入门webapp-DarchetypeVersion=2.25.1


提醒:在运行上面的maven命令后,将web.xml中的版本更改为3.0。如果您可以发布web.xml和pom.xml(如果您使用的是maven),那么就更容易找出问题所在。用jersey配置tomcat可能很困难,因为有太多的方法可以做到这一点。不同的servlet和jersey版本可以有不同的配置方式。可以以非常灵活的方式配置更高的版本,这会导致很多混乱

注释
@javax.ws.rs.ApplicationPath(“rest”)
意味着servlet 3容器(Tomcat 7或更高版本)就是您正在使用的。如果我需要在不查看web.xml的情况下进行猜测,我会说确保将web.xml配置为使用版本3,而不是版本2

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...
</web-app>

...
您甚至可以删除web应用程序标记中的所有内容,jersey将扫描您的所有文件以查找您的应用程序类和所有资源类(至少用@Path或@GET等注释)。 如果不起作用,有两个建议:

  • 如果您有时间,请查看最新的泽西岛,第4.7节。基于Servlet的部署是您想要阅读的内容
  • 如果没有时间,最快的方法是运行这个maven命令,为您设置一个新项目。此命令实际上是建议在jersey浏览器中下载jersey的方法

    mvn原型:generate-DarchetypeGroupId=org.glassfish.jersey.archetypes-DarchetypeArtifactId=jersey快速入门webapp-DarchetypeVersion=2.25.1


提醒:运行上面的maven命令后,使用maven将web.xml中的版本更改为3.0?在
pom.xml
中有哪些依赖项?使用
web.xml
?它是什么样子的?我已经用web.xml和pom.xml更新了问题主体,提供了
删除它。这仅在容器已经有此工件的情况下发生。Tomcat没有球衣。当您使用提供的
时,工件不会随战争一起部署。所以你的球衣罐子都没有了deployed@vico除了以下内容(这将解决问题),您还应该删除
javax.j2ee
依赖项。你不需要,用Maven?在
pom.xml
中有哪些依赖项?使用
web.xml
?它是什么样子的?我已经用web.xml和pom.xml更新了问题主体,提供了
删除它。这仅在容器已经有此工件的情况下发生。Tomcat没有球衣。当您使用提供的
时,工件不会随战争一起部署。所以你的球衣罐子都没有了deployed@vico除了以下内容(这将解决问题),您还应该删除
javax.j2ee
依赖项。你不需要,我已经用web.xml和pom.xml更新了问题体,我用web.xml和pom.xml更新了问题体