jetty的https服务端-1

来源:互联网 发布:台达触摸屏编程软件 编辑:程序博客网 时间:2024/06/07 05:23
package com.jetty.server;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.AbstractHandler;
import org.eclipse.jetty.server.ssl.SslSocketConnector;
import org.eclipse.jetty.util.ssl.SslContextFactory;



public class HelloWorld extends AbstractHandler {

       public static void main(String[] args) throws Exception {
        Server server = new Server();
           //SSLContext context = SSLContext.getInstance("SSL");
           //context.init(null,new TrustManager[]{myX509TrustManager}, null);

           SslSocketConnector httpsConnector = new SslSocketConnector();
           SslContextFactory sslContextFactory = httpsConnector.getSslContextFactory();
           //sslContextFactory.setSslContext(context);
           sslContextFactory.setKeyStoreType("JCEKS");
           sslContextFactory.setKeyStorePath("D:\\JCEKS\\tomcat.keystore");
           sslContextFactory.setKeyStorePassword("353433");
           sslContextFactory.setKeyManagerPassword("353433");
           sslContextFactory.setTrustAll(true);
           httpsConnector.setPort(8443);
           server.addConnector(httpsConnector);
        server.setHandler(new HelloWorld());
        server.start();
        server.join();

       }
       private static TrustManager myX509TrustManager = new X509TrustManager() {

           @Override
           public X509Certificate[] getAcceptedIssuers() {
               return null;
           }
           @Override
           public void checkServerTrusted(X509Certificate[] chain, String authType)
                   throws CertificateException {
           }
           @Override
           public void checkClientTrusted(X509Certificate[] chain, String authType)
                   throws CertificateException {
           }
       };
    @Override
    public void handle(String s, Request request,
            HttpServletRequest httpservletrequest,
            HttpServletResponse httpservletresponse) throws IOException,
            ServletException {
        System.out.println("begin");
        InputStream in = httpservletrequest.getInputStream();
        byte[] buffer = new byte[8192];
        OutputStream bos = new ByteArrayOutputStream();
        int size = -1;
        while ((size = in.read(buffer)) != -1) {
            bos.write(buffer, 0, size);
        }
        String respjson = bos.toString();
        System.out.println(respjson);
        httpservletresponse.getWriter().println("aaaaaaaaa");
        httpservletresponse.getWriter().close();
        System.out.println("end");
    }

}
0 0