- 浏览: 366784 次
- 性别:
- 来自: 广东珠海
-
文章分类
最新评论
-
cuiyijing:
[size=small]马士兵 26_homework_dml ...
SQL面试题 -
utobe:
兄弟 你真的出名了,尚学堂 oracle 马士兵的视频拿你的题 ...
SQL面试题 -
tlqtangok:
没看懂,能解释一下吗?
安装Oracle后java的jvm会报错 -
a114d:
itling 写道尚学堂的demo楼上威武
hibernate 全面学习【hibernate抓取策略 】 -
wohenshuaiba:
不错,但是没写return checkimg( this ); ...
图片上传
package javasecurity;
import java.io.*;
import java.net.*;
import javax.net.*;
import javax.net.ssl.*;
import java.security.*;
import java.util.*;
public class HttpsServer
{
// keystore文件名
String keystore = "serverkeys";
// keystore密码
char keystorepass[] = "hellothere".toCharArray();
// key密码
char keypassword[] = "hiagain".toCharArray();
// 使用缺省的433端口
public static final int HTTPS_PORT = 443;
public ServerSocket getServer() throws Exception
{
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(new FileInputStream(keystore), keystorepass);
KeyManagerFactory kmf =
KeyManagerFactory.getInstance("SunX509");
kmf.init(ks, keypassword);
SSLContext sslcontext = SSLContext.getInstance("SSLv3");
sslcontext.init(kmf.getKeyManagers(), null, null);
ServerSocketFactory ssf =
sslcontext.getServerSocketFactory();
// 建立SSL Socket连接
SSLServerSocket serversocket =
(SSLServerSocket) ssf.createServerSocket(HTTPS_PORT);
return serversocket;
}
public void run()
{
ServerSocket listen;
try
{
// 为每一个连接建立线程
listen = getServer();
while (true)
{
Socket client = listen.accept();
ProcessConnection cc = new ProcessConnection(client);
}
}
catch (Exception e)
{
System.out.println("Exception: " + e.getMessage());
}
}
public static void main(String argv[]) throws Exception
{
HttpsServer https = new HttpsServer();
https.run();
}
}
class ProcessConnection extends Thread
{
Socket client;
BufferedReader is;
DataOutputStream os;
public ProcessConnection(Socket s)
{
client = s;
try
{
// 客户端请求流
is =
new BufferedReader(
new InputStreamReader(client.getInputStream()));
// 服务器响应流
os = new DataOutputStream(client.getOutputStream());
}
catch (IOException e)
{
System.out.println("Exception: " + e.getMessage());
}
this.start();
}
public void run()
{
try
{
// 得到客户端请求并解析请求
String request = is.readLine();
System.out.println("Request: " + request);
StringTokenizer st = new StringTokenizer(request);
if ((st.countTokens() >= 2) &&
st.nextToken().equals("GET"))
{
if ((request = st.nextToken()).startsWith("/"))
request = request.substring(1);
if (request.equals(""))
request = request + "index.html";
File f = new File(request);
shipDocument(os, f);
}
else
{
os.writeBytes("400 Bad Request");
}
client.close();
}
catch (Exception e)
{
System.out.println("Exception: " + e.getMessage());
}
}
public static void shipDocument(DataOutputStream out, File f)
throws Exception
{
try
{
DataInputStream in =
new DataInputStream (new FileInputStream(f));
int len = (int) f.length();
byte[] buf = new byte[len];
in.readFully(buf);
in.close();
out.writeBytes("HTTP/1.0 200 OK\r\n");
out.writeBytes("Content-Length: " + f.length() + "\r\n");
out.writeBytes("Content-Type:text/html\r\n\r\n");
out.write(buf);
out.flush();
}
catch (Exception e)
{
// 回写错误信息
out.writeBytes("<html><head><title>error</title>"+
"</head><body>\r\n\r\n");
out.writeBytes("HTTP/1.0 400 " + e.getMessage() + "\r\n");
out.writeBytes("Content-Type: text/html\r\n\r\n");
out.writeBytes("</body></html>");
out.flush();
}
finally
{
out.close();
}
}
}
import java.io.*;
import java.net.*;
import javax.net.*;
import javax.net.ssl.*;
import java.security.*;
import java.util.*;
public class HttpsServer
{
// keystore文件名
String keystore = "serverkeys";
// keystore密码
char keystorepass[] = "hellothere".toCharArray();
// key密码
char keypassword[] = "hiagain".toCharArray();
// 使用缺省的433端口
public static final int HTTPS_PORT = 443;
public ServerSocket getServer() throws Exception
{
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(new FileInputStream(keystore), keystorepass);
KeyManagerFactory kmf =
KeyManagerFactory.getInstance("SunX509");
kmf.init(ks, keypassword);
SSLContext sslcontext = SSLContext.getInstance("SSLv3");
sslcontext.init(kmf.getKeyManagers(), null, null);
ServerSocketFactory ssf =
sslcontext.getServerSocketFactory();
// 建立SSL Socket连接
SSLServerSocket serversocket =
(SSLServerSocket) ssf.createServerSocket(HTTPS_PORT);
return serversocket;
}
public void run()
{
ServerSocket listen;
try
{
// 为每一个连接建立线程
listen = getServer();
while (true)
{
Socket client = listen.accept();
ProcessConnection cc = new ProcessConnection(client);
}
}
catch (Exception e)
{
System.out.println("Exception: " + e.getMessage());
}
}
public static void main(String argv[]) throws Exception
{
HttpsServer https = new HttpsServer();
https.run();
}
}
class ProcessConnection extends Thread
{
Socket client;
BufferedReader is;
DataOutputStream os;
public ProcessConnection(Socket s)
{
client = s;
try
{
// 客户端请求流
is =
new BufferedReader(
new InputStreamReader(client.getInputStream()));
// 服务器响应流
os = new DataOutputStream(client.getOutputStream());
}
catch (IOException e)
{
System.out.println("Exception: " + e.getMessage());
}
this.start();
}
public void run()
{
try
{
// 得到客户端请求并解析请求
String request = is.readLine();
System.out.println("Request: " + request);
StringTokenizer st = new StringTokenizer(request);
if ((st.countTokens() >= 2) &&
st.nextToken().equals("GET"))
{
if ((request = st.nextToken()).startsWith("/"))
request = request.substring(1);
if (request.equals(""))
request = request + "index.html";
File f = new File(request);
shipDocument(os, f);
}
else
{
os.writeBytes("400 Bad Request");
}
client.close();
}
catch (Exception e)
{
System.out.println("Exception: " + e.getMessage());
}
}
public static void shipDocument(DataOutputStream out, File f)
throws Exception
{
try
{
DataInputStream in =
new DataInputStream (new FileInputStream(f));
int len = (int) f.length();
byte[] buf = new byte[len];
in.readFully(buf);
in.close();
out.writeBytes("HTTP/1.0 200 OK\r\n");
out.writeBytes("Content-Length: " + f.length() + "\r\n");
out.writeBytes("Content-Type:text/html\r\n\r\n");
out.write(buf);
out.flush();
}
catch (Exception e)
{
// 回写错误信息
out.writeBytes("<html><head><title>error</title>"+
"</head><body>\r\n\r\n");
out.writeBytes("HTTP/1.0 400 " + e.getMessage() + "\r\n");
out.writeBytes("Content-Type: text/html\r\n\r\n");
out.writeBytes("</body></html>");
out.flush();
}
finally
{
out.close();
}
}
}
发表评论
-
aspect jar包
2013-06-17 14:35 1046aspectj需要的jar包 -
mockejb
2012-04-28 14:37 0<?xml version="1.0" ... -
ohfp
2012-04-20 17:58 0Hi All, Thanks a lot for your ... -
conditional import
2012-04-20 13:19 0Introduction In RBP, single c ... -
datasource
2012-04-12 15:38 0import java.util.ArrayList; imp ... -
java
2012-03-23 12:59 0package com.hsbc.esf.cache.impl ... -
java
2012-03-23 12:57 0package com.hsbc.esf.cache.impl ... -
java
2012-03-23 11:52 0package com.hsbc.esf.cache; im ... -
java
2012-03-07 11:40 0XmlTestUtil public final class ... -
trace
2012-03-07 11:28 0AbstractFormatter import java ... -
求能够在pdf最后一页加上统计所有本页合计的数量
2008-12-07 14:21 2527请教各们同仁.怎么能够控制到itext 生成最后一页的时候.加 ... -
EAM系统(MAXIMO)石油天然气行业解决方案
2008-07-24 13:50 2712EAM系统(MAXIMO)石油天 ... -
深入浅出java Io
2007-04-01 13:57 2256一.Input和Output 1.stream代 ... -
在程序中更新jar文件
2007-04-01 13:29 2521我们知道,用ZIP,jar可以将多个文件一起打包,如class ... -
java中timer用法
2007-04-01 13:15 8728所有类型的 Java 应用程序一般都需要计划重复执行的任务。企 ... -
csdn上的反射和代理的好例子
2007-03-07 11:25 2267/** *这个程序的功能是通过反射技术得到一个类(SrcC ... -
一个java反射例子
2007-03-01 11:04 14522package com.spring.event; impor ... -
贴几个自定义usertype
2007-02-24 08:38 1576import java.io.IOException; ... -
修改Structs,Hibernate部份框架为我所用
2007-02-24 08:30 93package com.ideal.common.contro ... -
java基础试题
2007-02-21 09:06 8038一.选择题(每道题3分,共45分) 1 2 3 4 5 6 7 ...
相关推荐
NetApp官方工具。使用此工具,配合命令行登录NetApp,可以强制修改指定文件夹的权限。用于某些文件夹权限只有个别帐户有权修改,但此帐户失效或被删除等不可用情况下,无法管理文件夹。
Spring Security OAuth过期问题的解决方法 在Spring Security OAuth中,过期问题主要涉及OAuth2认证和授权流程的管理。OAuth2是一个开放标准,用于允许应用程序代表用户获取访问权限到受保护的资源,如API。...
内容概要:本文详细介绍了应用于电镀生产线的西门子S7-300 PLC控制系统的程序设计、硬件配置以及调试过程中积累的实际经验。主要内容涵盖温度控制、条码记录、行车定位、故障排查等方面的技术细节。文中展示了多个关键功能模块的具体实现方法,如PID温度控制、条码数据处理、行车定位判断等,并分享了一些实用的调试技巧和注意事项。此外,还讨论了硬件配置中的重要细节,如模块地址分配、网络拓扑设计等。 适合人群:从事自动化控制领域的工程师和技术人员,尤其是对PLC编程有一定基础的人群。 使用场景及目标:适用于需要深入了解和掌握电镀生产线自动化控制技术的专业人士。目标是帮助读者理解S7-300 PLC在电镀生产线中的具体应用,提高实际项目的开发效率和可靠性。 其他说明:文章不仅提供了详细的程序代码示例,还分享了许多来自一线的真实案例和实践经验,对于解决实际工程中的问题具有很高的参考价值。
内容概要:本文详细介绍了使用COMSOL Multiphysics进行固体超声导波的二维仿真过程。作者通过建立一个10mm×100mm的铝板模型,应用汉宁窗调制的5周期200kHz正弦激励信号,研究了超声导波在铝板中的传播特性及其模式转换现象。文中涵盖了从模型构建、材料参数设置、网格划分、边界条件设定、激励信号施加到求解设置以及结果分析的完整流程。特别强调了汉宁窗调制的作用,即减少频谱泄漏并提高信号质量。 适合人群:从事超声检测、材料科学、物理学等相关领域的研究人员和技术人员,尤其是那些希望深入了解COMSOL仿真工具及其在超声导波研究中应用的人群。 使用场景及目标:适用于需要精确模拟超声波在固体介质中传播的研究项目,旨在验证理论预测、优化实验设计、评估不同材料和结构对超声波的影响。此外,还可以用于教学目的,帮助学生掌握COMSOL软件的操作方法和超声导波的基础知识。 其他说明:文中提供了详细的参数设置指导和代码片段,有助于读者快速复现仿真过程。同时,作者分享了一些实用技巧,如如何正确设置网格大小、选择合适的窗函数等,以确保仿真结果的准确性。
离职人员分析仪表盘.xlsx
内容概要:本文详细介绍了如何利用LabVIEW搭建一个多功能的虚拟函数信号发生器及其信号分析功能。首先,文章展示了如何通过LabVIEW的前面板和程序框图创建各种常见波形(如正弦波、方波、三角波等),并深入探讨了波形生成的具体实现方法,包括三角波的周期性和斜率计算、白噪声的生成以及自定义公式的解析。接着,文章讨论了信号处理的关键技术,如自相关分析、频谱分析、积分和微分运算,并提供了具体的实现代码和注意事项。此外,文中还分享了一些实用的经验和技术细节,如避免频谱泄漏的方法、处理多频波的技术、防止内存泄漏的措施等。 适用人群:从事信号处理、电子工程、自动化控制等领域的工作技术人员,尤其是那些熟悉或希望学习LabVIEW编程的人士。 使用场景及目标:适用于实验室环境或教学环境中,用于替代传统物理信号发生器进行信号生成和分析实验。主要目标是提高信号生成和分析的灵活性和便捷性,减少对昂贵硬件设备的依赖。 其他说明:本文不仅提供了详细的代码示例,还分享了许多作者在实践中积累的经验教训,帮助读者更好地理解和应用LabVIEW进行信号处理。
线性代数
大雾至尊版V56泛滥无密码.zip
员工生日关怀方案
试用期情况跟踪表.xls
员工激励机制与技巧
员工晋升的自我评价.doc
基于51单片机protues仿真的多功能婴儿车控制器(仿真图、源代码、AD原理图) 该设计为51单片机protues仿真的多功能婴儿车控制器,实现温湿度,音乐,避障,声音监测控制; 1、温湿度检测,婴儿尿湿时会有提醒。 2、声音检测,当婴儿啼哭时也会有提醒。 3、小车避障,小车遇到障碍会后退左转。 4、音乐播放。 5、仿真图、源代码、AD原理图;
内容概要:本文档详细介绍了计算机求职笔试的内容与解答,涵盖编程语言基础、数据结构与算法、编程实践与调试、系统设计与软件工程以及综合题型与开放题五个方面。编程语言基础部分强调了语法规则、数据类型与运算符、面向对象编程的核心概念;数据结构与算法部分讲解了常见数据结构(如线性结构、树与图、哈希表)和高频算法(如排序算法、动态规划、递归与回溯);编程实践与调试部分关注编码能力和调试技巧;系统设计与软件工程部分探讨了设计模式、模块化设计、数据库与网络知识;综合题型与开放题部分则提供了场景题和逻辑思维题的示例。最后给出了备考建议,包括知识体系构建、刷题策略和模拟实战的方法。 适合人群:即将参加计算机相关职位笔试的求职者,特别是对编程语言、数据结构、算法设计有初步了解的应届毕业生或初级工程师。 使用场景及目标:①帮助求职者系统复习计算机基础知识,提升笔试通过率;②通过例题和解答加深对编程语言、数据结构、算法的理解;③提供模拟实战环境,提高时间管理和抗压能力。 阅读建议:建议按照文档提供的知识体系顺序进行系统复习,重点攻克高频题型,利用在线平台刷题练习,并结合实际项目经验进行综合应用,同时注意时间管理和抗压能力的训练。
SecureCRT安装包
物流业人才流失与紧缺现象的对策研究
招聘渠道费用仪表盘P10.pptx
内容概要:本文详细介绍了五相永磁同步电机在Simulink环境下的PI双闭环SVPWM矢量控制建模过程及其优化方法。首先阐述了五相电机相比三相电机的优势,如更小的转矩脉动和更强的容错能力。接着探讨了复杂的Simulink模型搭建,涉及电机本体模块、坐标变换模块、SVPWM模块和PI调节器模块等多个组件。文中提供了具体的Clark变换和PI调节器的代码示例,解释了双闭环控制的工作原理,并详细描述了SVPWM与十扇区划分的具体实现方式。最后展示了模型的性能表现,包括良好的波形质量和快速的动态响应特性。 适合人群:从事电机控制领域的研究人员和技术人员,尤其是对五相永磁同步电机和Simulink建模感兴趣的读者。 使用场景及目标:适用于希望深入了解五相永磁同步电机控制原理并掌握具体实现方法的研究人员和技术人员。目标是帮助读者理解五相电机的特殊性和复杂性,掌握PI双闭环SVPWM矢量控制的建模技巧,提高电机控制系统的设计水平。 其他说明:文章不仅提供了理论知识,还包括了大量的代码片段和实践经验分享,有助于读者更好地理解和应用相关技术。
员工离职交接表-模板.doc
离职率高"冰山"下的真相?你知道多少?