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
- jetty的https服务端-1
- jetty https服务端-2
- 在myEclipse上,基于jetty的android服务端环境配置
- maven jetty https配置
- jetty https服务器实现
- 内置Jetty HTTPS启动
- jetty nginx 配置https
- maven jetty https配置
- jetty下配置https
- Android端和服务端Tomcat的https添加记录
- Eclipse下通过Maven的Jetty插件运行Web工程的配置,包括启动https
- Eclipse下通过Maven的Jetty插件运行Web工程的配置,包括启动https
- Eclipse下通过Maven的Jetty插件运行Web工程的配置,包括启动https
- Eclipse下通过Maven的Jetty插件运行Web工程的配置,包括启动https
- Eclipse下通过Maven的Jetty插件运行Web工程的配置,包括启动https
- Maven的Jetty插件运行Web工程的配置,包括启动https
- 自己动手写Redmine https服务端
- 自己动手写Redmine https服务端
- linux下USB转串口的设置
- NEFU OJ20
- ld文件
- WPF dc.DrawGeometry画出一条连续的线段
- 青岛卫生答题系统刷题脚本使用手册
- jetty的https服务端-1
- u-boot.lds 及其入口Start.S的分析
- Windows下使用VS2015编译openssl库
- Android之MVP设计模式
- 百度地图关于No implementation found for long com.baidu.platform.comjni.ma...出现的问题
- A Tour of Machine Learning Algorithms
- 全屏POP手势动画(FDFullscreenPopGesture)
- Nginx日志中有用的分析脚本
- 【OpenCV】|在python中配置opencv