当前位置:  编程技术>软件工程/软件设计
本页文章导读:
    ▪OSGi + RAP 启动lanuch文件VM自变量      -Dorg.mortbay.jetty.Request.maxFormContentSize=2000000 -Dosgi.noShutdown=true -Declipse.ignoreApp=true -Dorg.eclipse.rwt.compression=true -Dorg.eclipse.rwt.clientLibraryVariant=DEBUG -Dorg.eclipse.rwt.clientLogLevel=INFO -Dorg.trustie.loong.logging.Def.........
    ▪解说一个简单的Win32程序      一、Windows程序与普通C或C++程序的不同 学过C或C++等语言的人都知道,我们写的程序都一个入口,main函数,但是在Win32程序里,我们的入口函数又是什么呢?它是怎么样运行的,跟.........
    ▪CAS做单点登陆(SSO)——部署CAS       安装CAS 让我们先简单了解下CAS。全称 Central Authentication Service,中文翻译为中央认证服务,官方网址是http://www.jasig.org/cas。它是一个开源产品。具有如下特点: 用它做各个系统的.........

[1]OSGi + RAP 启动lanuch文件VM自变量
    来源: 互联网  发布时间: 2013-10-30
-Dorg.mortbay.jetty.Request.maxFormContentSize=2000000
-Dosgi.noShutdown=true
-Declipse.ignoreApp=true
-Dorg.eclipse.rwt.compression=true
-Dorg.eclipse.rwt.clientLibraryVariant=DEBUG
-Dorg.eclipse.rwt.clientLogLevel=INFO
-Dorg.trustie.loong.logging.DefaultServiceLog.level=ERROR
-Dorg.ops4j.pax.logging.DefaultServiceLog.level=ERROR
-Dorg.eclipse.equinox.http.jetty.log.stderr.threshold=error
-Dosgi.startLevel=100
-Dapp.base=d:/logs
-Xms512m
-Xmx512m
-XX:MaxNewSize=256m
-XX:MaxPermSize=256m
作者:WQ560 发表于2013-4-2 15:33:14 原文链接
阅读:0 评论:0 查看评论

    
[2]解说一个简单的Win32程序
    来源: 互联网  发布时间: 2013-10-30
一、Windows程序与普通C或C++程序的不同
学过C或C++等语言的人都知道,我们写的程序都一个入口,main函数,但是在Win32程序里,我们的入口函数又是什么呢?它是怎么样运行的,跟我们用C或C++写的控制台程序又有什么不同呢?

我们先说Win32程序跟我们控制台的程序的一个很重要的不同点,就是Win32程序是一个消息响应程序,例如点击了一个按钮,就会产生一个消息onButoon,然后会这个消息会进入我们程序所维护的一个消息队列,程序运行过程中不断地取出队列中的消息,并作出相应的处理。直到取出的是结束程序的消息。

二、了解MSG的结构和组成
首先,既然Windows的程序是基于消息触发的,那么Windows是如何定义一个消息的呢?下面是在MSDN上说明文档上的定义:
typedef struct tagMSG {     // msg  
   HWND hwnd;
   UINT message;
   WPARAM wParam;
   LPARAM lParam;
   DWORD time;
   POINT pt;
} MSG;
下面我们来分析一下这个结构体:
HWND hwnd:hwnd是一个窗口的句柄,用来唯一标识一个窗口资源;至于什么是一个句柄,它有点类似对C或C++中的指针,句柄是资源的标识,根据资源的类型,又可将句柄细分成图标句柄(HICON),光标句柄(HCURSOR),窗口句柄(HWND),应用程序实例句柄(HINSTANCE)等等各种类型的句柄。操作系统给每一个窗口指定的一个唯一的标识号即窗口句柄。
 
UINT message:message是一个UINT(即C或C++中的unsign int)类型的变量,它用来标识一个具体的消息,如按键盘的消息。message用一个整数来表示,但是一个整数通常不好记忆,所以在VC++中就用微软给我们定义的一些宏来表示,如WM_KEYDOWN。

WPARAM wParam:整型参数,用来指示message的附加信息。

LPARAM lParam:跟wParam一样,是一个整型参数,用来指示message的附加信息。与wParam一样,多用来区分同一个消息的不同情况。

DWORD time:DWORD其实是C或C++中的unsigned long类型,time标识了一个消息产生时的时间。

POINT pt:POINT是一个结构体,表示现实世界里的一个点,里面有两个LONG类型的成员x和y,用来表示产生这个消息产时光标或鼠标的坐标。
由此可知一个MSG的变量所包含的信息是相当多和详细的。

三、了解WinMain函数
然后,像C或C++控制台程序的入口是main函数一样,Win32程序的入口也是main函数,不过它叫WinMain函数,它的定义如下:
int WINAPI WinMain(
  HINSTANCE hInstance,      // handle to current instance
  HINSTANCE hPrevInstance,  // handle to previous instance
  LPSTR lpCmdLine,          // command line
  int nCmdShow              // show state
);
下面我们来分析一下这个函数:
HINSTANCE hInstance:hInstance是一个指向当前应用程序实例的一个句柄。实例就是一个运行中的程序。
HINSTANCE hPrevInstance:hPrevInstance是一个指向之前应用程序实例的一个句柄。
LPSTR lpCmdLine:lpCmdLine是一个指向字符串的指针,表示一个命令行参数,什么是命令行参数呢?就是我们C或C++中的main函数中的参数char *argv[]。
int nCmdShow:用来表示一个窗口的显示,表示它是要最大化显示,最小化显示,正常大小显示还是隐藏显示。

    
[3]CAS做单点登陆(SSO)——部署CAS
    来源: 互联网  发布时间: 2013-10-30

安装CAS

让我们先简单了解下CAS。全称 Central Authentication Service,中文翻译为中央认证服务,官方网址是http://www.jasig.org/cas。它是一个开源产品。具有如下特点:

  • 用它做各个系统的集成后,各个系统只需关注跟CAS做集成即可,不会引入系统间的任何依赖。
  • 各个系统集成后,登陆的认证中心在CAS,各个系统只能从CAS获得用户输入的用户名,然后自动完成登陆。另外,CAS认证支持对数据库表的查询和比较。
  • CAS默认使用HTTPS协议,需要安装CA(Certificate Authority,中文名叫数字证书认证机构)证书。如果不想启用HTTPS,请参考CAS不起用HTTPS。
  • 下面介绍中默认为采用HTTPS协议。

    安装步骤:

      定义域名

    HTTPS信任域名,而不信任IP。因此需要先设定一个域名,如果不采用HTTPS,可以跳过这个一步。

    假定域名设置为sso.aurora-framework.org。

    在C:\Windows\System32\drivers\etc\hosts添加内容如下:

    127.0.0.1  sso.aurora-framework.org

     

    生成CA证书

    证书是单点登录认证系统中很重要的一把钥匙,客户端于服务器的交互安全靠的就是证书。我们这边用JDK自带的keytool工具生成证书, 如果以后真正在产品环境中使用肯定要去证书提供商去购买。

    购买正版证书,请查看购买证书。

    用JDK自带的keytool工具生成密钥库,在命令行输入:

     

    keytool -genkey -alias aurora -keyalg RSA -keystore E:/tomcats/tomcat7/keystore/aurora


    没有Keytool这个命令?请参考设置JAVA环境变量。

    以上这个命令就是在E:/tomcats/tomcat7/keystore/aurora上建立一个别名叫aurora,算法是RSA的证书库。这里E:/tomcats/tomcat7/keystore/这个目录需要预先存在。比如在tomcat根目录下新建一个keystore文件夹。

    其中“您的名字与姓氏是什么”一栏需要填入设定的域名(这里假定是sso.aurora-framework.org),其他可以随便填写。密钥库口令同样随意设置,为了方便记忆,这里设置为aurora。

    导出一个证书

    在命令行中输入

    keytool -export -file E:/tomcats/tomcat7/keystore/aurora.crt -alias aurora -keystore E:/tomcats/tomcat7/keystore/aurora


     

    -file 是新生成的证书文件,证书别称叫aurora,-keystore就是刚才生成的密钥库。

    密钥库口令就是刚才设置的,这里假定是aurora。

    至此,E:/tomcats/tomcat7/keystore/应该有如下两个文件:

    客户端导入证书

    找到客户端JDK的安装目录,比如是C:/Program Files/Java/jdk1.7.0_03/。此目录是系统盘,所以请用管理员身份进入命令行。

    在命令行中输入

    keytool -import -keystore "C:/Program Files/Java/jdk1.7.0_03/jre/lib/security/cacerts" -file E:/tomcats/tomcat7/keystore/aurora.crt -alias aurora

    这里keystore是客户端JDK的密钥库位置,-file是前面步骤中生成的证书文件,为了方便记忆,别名叫aurora。

    这里密钥库密码默认是changeit。非自定义创建的密钥库密码都是changeit。

    查看和删除证书请看查看和删除证书。


        
    最新技术文章:
     




    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3