有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Restlet 2.0.0中实现服务器机密性HTTPS

我正在尝试用https协议实现RESTWeb服务(服务器)

启动服务器时收到警告:警告:没有可用的服务器连接器支持所需的协议:“HTTPS”。请将匹配连接器的JAR添加到类路径

使用的库:1)组织。restlet-2.0.0。jar2)com。诺埃利奥斯。restlet。分机3.1。jar3)组织。simpleframework_3.1/org。简单的工作。罐子 4) com。诺埃利奥斯。restlet。ext.ssl。jar 5)组织。jsslutils_0.5/org。jsslutils。罐子

示例代码:

import org.restlet.resource.ServerResource;
import org.restlet.data.Parameter;
import org.restlet.data.Protocol;
import org.restlet.util.Series;
import org.restlet.Component; 
import org.restlet.Server;

public class RestServerResource extends ServerResource {

public static void main(String[] args) throws Exception {
    // Create a new Restlet component and add a HTTP server connector to it 
    Component component = new Component();  
    Server server = component.getServers().add(Protocol.HTTPS, 8183); //https secure protocol

    component.getDefaultHost().attach("/", RestServerResource.class); 
    Series<Parameter> parameters = server.getContext().getParameters();

    parameters.add("sslContextFactory", "org.restlet.ext.ssl.PkixSslContextFactory");
    // I have created self signed certificate. reference is attached with parameter
    parameters.add("keystorePath","${user.home}/serverX.jks");
    parameters.add("keystorePassword", "password");
    parameters.add("keyPassword", "password");
    parameters.add("keystoreType", "JKS");  

    component.start();
}}

任何人都可以建议,为什么我得到以上警告,无法启动服务器。提前感谢您的回复

问候 维姬


共 (2) 个答案

  1. # 1 楼答案

    可能正在使用旧版本的restlet, 这是pom文件依赖项,我有

    <dependencies>
    <dependency>  
       <groupId>org.restlet.jse</groupId>  
       <artifactId>org.restlet</artifactId>  
       <version>2.0.0</version>  
    </dependency>  
    <dependency>  
       <groupId>org.restlet.jse</groupId>  
       <artifactId>org.restlet.ext.simple</artifactId>  
       <version>2.0.0</version>  
    </dependency>  
      </dependencies>
    
  2. # 2 楼答案

    我已经做了。有一个罐子的问题。 它需要来自同一发行版(即2.0.0或2.0.14等)的上述jar列表。 不应从Restlet API文档中提到的不同版本或其他位置(例如org.simpleframework_3.1)选择jar