<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    憨厚生

    ----Java's Slave----
    ***Java's Host***

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      165 隨筆 :: 17 文章 :: 90 評論 :: 0 Trackbacks

    #

            轉自 http://m.tkk7.com/nokiaguy/archive/2009/02/06/253636.html
            applet運行在沙盒中,因此,在默認情況下無法訪問本地的資源。但可以通過簽名的方式打破這一限制。簽名的過程很簡單,讀者可以按如下的步驟編寫一個applet程序,該程序讀取了本地C盤的a.txt文件的內容,并顯示在applet上,然后壓縮成jar文件,并簽名后進行發布。

        下面使用的keytool和jarsigner都是JDK本身帶的程序。

    第1步  編寫applet程序

    import java.applet.*;
    import java.awt.Graphics;

    public class HelloWorld extends Applet
    {
        
    private String name;

        
    public void paint(Graphics g)
        {
            g.drawString(name, 
    2030);
        }

        @Override
        
    public void init()
        {
            
    super.init();
            
    try
            {
                
    //  a.txt文件的內容要以UTF-8格式存儲
                java.io.FileInputStream fis = new java.io.FileInputStream("c:\\a.txt");
                java.io.InputStreamReader isr 
    = new java.io.InputStreamReader(fis, "UTF-8");
                java.io.BufferedReader br 
    = new java.io.BufferedReader(isr);
                name 
    = br.readLine();
            }
            
    catch (Exception e)
            {
                name 
    = e.getMessage();
            }
        }
    }

    第2步:  編譯HelloWorld.java,并壓縮成hw.jar文件

        編譯HelloWorld.java后,使用如下的命令生成hw.jar

        jar cvf hw.jar HelloWorld.class

    第3步:使用keytool命令生成密鑰庫

        使用如下的命令生成hw.store文件:

        keytool -genkey -keystore hw.store -alias helloworld  

        其中hw.store和helloworld是用戶自定義的名字,讀者可以起其他的名字。

        在執行上面的命令后,會要求輸出一個密碼(輸出兩次,密碼長度至少為6位字符),然后會要求輸出一些信息,密碼是必須輸入的,而其他的信息如果不想輸入,直接按回車即可,最后會讓你確定是否生成hw.store文件,輸入“y”,按回車,又讓輸出主密碼,如果密碼與剛才輸出的密碼相同,直接按回車。執行完命令后,會在當前目錄生成一個hw.store文件。這一過程如下圖所示。
        使用keytool命令生成hw.store文件的默認有效期是180天,也可以使用-validity命令行參數指定有效期,單位為天,如下面的命令指定了有效期為120天:

     keytool -genkey -keystore hw.store -alias helloworld   -validity 120

        如果想查看hw.store的有效期和其他信息,可以使用如下的命令:

    keytool -list -v -alias helloworld -keystore hw.store

        執行上面的命令后,將輸出如下圖所示的信息。
        上圖顯示的有效期是120天。

    第4步:使用jarsigner命令對hw.jar進行簽名

        執行如下的命令對hw.jar文件進行簽名:

    jarsigner -keystore hw.store hw.jar helloworld

    第5步:發布與使用applet

        將hw.jar文件放在<Tomcat安裝目錄>\webapps\test目錄中,并在test目錄中建立一個applet.jsp文件,代碼如下:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding
    ="UTF-8"%>
    <html>
        
    <head>
            
    <title>第一個applet</title>
        
    </head>
        
    <body>
            
    <APPLET CODE="HelloWorld.class" width=200 height=200 ARCHIVE="hw.jar">
            
    </APPLET>
        
    </body>
    </html>

        在IE地址欄中輸出如下的URL:
        http://localhost:8080/test/applet.jsp

        當第一次訪問上面的URL時,會出現如下圖所的對話框。
        選中對話框中的復選框,單擊“運行”按鈕,就可以正常運行applet了(下次再訪問applet.jsp,就會會彈出這個對話框了),如果是firefox,也會彈出類似的對話框。

        要運行這個applet,客戶端需要安裝jdk1.3或以上版本。

        在linux下的firefox中試了一下,發現有時firefox無法正常顯示applet。發生這種情況的原因是由于firefox未安裝jdk插件,讀者可按如下的方法為linux版的firefox安裝jdk插件:

        jdk插件的庫文件是libjavaplugin_oji.so,這個文件在<JDK安裝目錄>/jre/plugin/i386/ns7目錄中,其中ns7根據當前jdk版本不同而有所差異,但前兩個字母都為ns。在linux下,jdk一般都安裝在/usr/java目錄中。
        找到
    libjavaplugin_oji.so文件后,再進行<firefox的安裝目錄>/plugins目錄中,使用如下的命令為libjavaplugin_oji.so文件添加一個符號鏈接:

    ln -s <jdk安裝目錄>/jre/plugin/i386/ns7/libjavaplugin_oji.so

        重啟Firefox,再訪問applet.jsp頁面,就可以正常顯示applet了。
    posted @ 2009-02-08 14:29 二胡 閱讀(211) | 評論 (0)編輯 收藏

    僅列出標題
    共165頁: First 上一頁 120 121 122 123 124 125 126 127 128 下一頁 Last 
    主站蜘蛛池模板: 免费少妇a级毛片| 精品免费国产一区二区三区 | 在线成人a毛片免费播放| 无码国产精品一区二区免费式芒果 | 国产人成免费视频网站| 免费看的黄色大片| 亚洲成a∨人片在无码2023| 在线播放免费人成视频在线观看| 亚洲国产日韩视频观看| 成人在线免费观看| 青青视频免费在线| 曰批全过程免费视频在线观看 | 亚洲精品天堂成人片AV在线播放| 成人性生交大片免费看无遮挡| 亚洲综合av一区二区三区不卡| 在线jyzzjyzz免费视频| 亚洲aⅴ无码专区在线观看| 全部免费a级毛片| 日韩精品无码免费专区网站| 亚洲av无码av制服另类专区| 1000部啪啪未满十八勿入免费| 麻豆狠色伊人亚洲综合网站| 最近2019中文免费字幕在线观看| 亚洲第一极品精品无码久久| 最近免费字幕中文大全视频| 中文字幕在线观看亚洲日韩| 免费jjzz在在线播放国产| 在线观看免费视频一区| 亚洲欧洲日产v特级毛片| 91精品成人免费国产| 亚洲最大成人网色| 午夜无遮挡羞羞漫画免费| 香蕉视频在线观看免费| 亚洲AV无码成人精品区天堂| 两性刺激生活片免费视频| 毛片亚洲AV无码精品国产午夜| 亚洲精品A在线观看| 一级毛片成人免费看免费不卡| 亚洲日韩一区二区三区| 成人au免费视频影院| 精精国产www视频在线观看免费|