OSGi中的URL,或者使用api / item?id = 5样式的URL是唯一的方法吗?如果有可能,怎么样?
这是我的代码:
包 HMI </跨度> ;
import hmi.api.get。*;
import org.osgi.framework.BundleContext;import锟拷=(HttpService)super.addingService(reference); if(httpService == null){ return null; }
尝试{ httpService.registerServlet(“/ HMI </跨度> / api / get / appliance_list“,new锟
根据HTTP服务规范,所有路径都通过前缀匹配进行匹配。因此,你应该放弃 /* 来自网址。如果您使用注册servlet api/item 那么url下面的所有内容也会触发你的servlet。
/*
api/item
在servlet中,使用 HttpServletRequest#getPathInfo() 获得一切 后 api/item 。
HttpServletRequest#getPathInfo()