我试图用 grizzly 使用 SSL 来完成一个安全的 REST 服务器。我在中配置我的资源
package SPSServer.controller.Grizzly;
@Path("/")
public class MessageRessource {
@GET
@Path("serverinfo")
@Produces({MediaType.APPLICATION_JSON,MediaType.TEXT_XML})
public ServerInfo serverinfo() {
ServerInfo info = new ServerInfo();
info.server = System.getProperty("os.name") + " " + System.getProperty("os.version");
return info;
}
@GET
@Produces({MediaType.APPLICATION_JSON,MediaType.TEXT_XML})
//@Produces( MediaType.TEXT_PLAIN )
public String message() {
return "Yea! ";
}
}
现在我开始灰熊了
webServer = new GrizzlyWebServer(1337, ".", true);
SSLConfig sslConfig = new SSLConfig(true);
webServer.setSSLConfig(sslConfig);
ServletAdapter adapter = new ServletAdapter();
final Map<String, String> initParams = new HashMap<String, String>();
adapter.addInitParameter(PackagesResourceConfig.PROPERTY_PACKAGES, "SPSServer.controller.Grizzly.MessageRessource");
adapter.addInitParameter(ClasspathResourceConfig.PROPERTY_CLASSPATH, ".");
adapter.setContextPath("/");
adapter.setServletInstance(new ServletContainer());
webServer.addGrizzlyAdapter(adapter, new String[]{"/"});
webserver.start();
`
它开始于
2013 年 3 月 31 日下午 4:55:14 com.sun.grizzly.Controller logVersion INFO:GRIZZLY0001:启动 Grizzly 框架 1.9.56 - 2013 年 3 月 31 日下午 4:55 点击返回停止...
但是当我尝试访问资源时/
'(https://locahost:1337/)'
它会抛出这个错误:
2013 年 3 月 31 日下午 4:56:12 com.sun.jersey.api.core.PackagesResourceConfig 初始化信息:扫描包中的根资源和提供程序类:SPSServer.controller.Grizzly.MessageRessource 2013 年 3 月 31 日 4:56: 12 PM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate INFO: Initiating Jersey application, version 'Jersey: 1.17.1 02/28/2013 03:28 PM' Mar 31, 2013 4:56:13 PM com .sun.jersey.server.impl.application.RootResourceUriRules 严重:ResourceConfig 实例不包含任何根资源类。2013 年 3 月 31 日下午 4:56:13 com.sun.grizzly.http.servlet.ServletAdapter doService 严重:服务异常:com.sun.jersey.api.container.ContainerException:ResourceConfig 实例不包含任何根资源类。
我试过让 grizzly 工作(使用球衣 HttpServerFactory,我得到了一个没有 ssl 的工作休息服务器,我设法让一个 httpsServer 工作,但两者结合起来让我头疼了好几天)所以现在我真的依赖你的帮助。在此先感谢(如果有人纠正我的语法,我不会冒犯,我仍然需要学习它)