RESTWeb服务部署描述符查询java

RESTWeb服务部署描述符查询java,java,web-services,rest,servlets,Java,Web Services,Rest,Servlets,我正在实现RESTWeb服务,需要对部署描述符文件进行说明。下面是web.xml代码,我所理解的是,只要url包含/webapi/ServletContainer类,就会被调用。如果我错了,请纠正我,直到现在。此外,您能告诉我参数名称和参数值属性的意义吗。参数值中提到的包是否作为参数传递给ServletContainer类 <?xml version="1.0" encoding="UTF-8"?> <!-- This web.xml file is not required

我正在实现RESTWeb服务,需要对部署描述符文件进行说明。下面是web.xml代码,我所理解的是,只要url包含/webapi/ServletContainer类,就会被调用。如果我错了,请纠正我,直到现在。此外,您能告诉我参数名称和参数值属性的意义吗。参数值中提到的包是否作为参数传递给ServletContainer类

<?xml version="1.0" encoding="UTF-8"?>
<!-- This web.xml file is not required when using Servlet 3.0 container,
     see implementation details http://jersey.java.net/nonav/documentation/latest/jax-rs.html -->
<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">
    <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>org.xyz.ws.transporter</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Jersey Web Application</servlet-name>
        <url-pattern>/webapi/*</url-pattern>
    </servlet-mapping>
</web-app>

Jersey Web应用程序
org.glassfish.jersey.servlet.ServletContainer
jersey.config.server.provider.packages
org.xyz.ws.transporter
1.
Jersey Web应用程序
/webapi/*
提前感谢你的帮助

我理解的是,每当url包含/webapi/时,就会调用ServletContainer类

此外,您能告诉我参数名称和参数值属性的意义吗

init param
s基本上只是servlet/过滤器可以用来配置自身的配置属性


这里您正在配置一个名为
jersey.config.server.provider.packages
、值为
org.xyz.ws.transporter
的特定属性。Jersey将使用此特定配置属性的值来设置包扫描。Jersey将(递归地)扫描您指定的包,查找带有
@Provider
@Path
注释的类。这允许Jersey注册所有资源和提供者类。

谢谢,我现在已经很好地理解了。最后一点澄清-这里正确调用了ServletContainer类。。但我无法找到init param属性“jersey.config.server.provider.packages”在其源代码中的使用位置。下面是ServletContainer代码供您参考-它比ServletContainer更深入。init参数通过
ApplicationHandler
传递,后者设置ResourceConfig和包。