日期:2014-05-17  浏览次数:20770 次

applet 签名问题。请大侠过来看看
   我现在开开发applet程序,需要修改客户端文件。 第一步是创建一个txt文本,以后再文本中修改内容。我主要用applet来实现的。 
我在eclipes运行applet程序是可以创建的。 
但是嵌入网页以后就不可以了。 我查询了一下资料发现是需要签名的。 
我按照网上的教程执行了一下,有提示。 可以运行,但是在指定目录下的文件没有创建。 
请大家帮忙分析一下,具体是什么地方出现问题了?
------解决方案--------------------
1. 打开控制台,看看 applet 运行时输出 log 情况,看看到底发生了什么;
2. applet 是不是没有权限读写文件?用 PrivilegedAction,这里有个小例子:
	/**
 * added by Defonds
 * @param filesInfo
 * File Name1
------解决方案--------------------
File Flag Public1
------解决方案--------------------
File Document Language1
------解决方案--------------------
File Description1
------解决方案--------------------
File Operating System1
------解决方案--------------------
File Store1
------解决方案--------------------
File Title1
------解决方案--------------------
File Flag Exp1
 */
public void addFileInfomation(String filesInfo,String directoryInfo,String formatInfo){

System.out.println("the file info str gived to applet is:" + filesInfo);
String fileName = "",fileFlagPublic = "",fileDocomentLanguage = "",fileDescription = "",
fileOperatingSystem = "",fileStore = "",fileTitle = "",fileFlagExp = "";

String[] filesInfoArr = filesInfo.split("
------解决方案--------------------
");
if(filesInfoArr.length > 0){
fileName = filesInfoArr[0];
fileFlagPublic = filesInfoArr[1];
fileDocomentLanguage = filesInfoArr[2];
fileDescription = filesInfoArr[3];
fileOperatingSystem = filesInfoArr[4];
fileStore = filesInfoArr[5];
fileTitle = filesInfoArr[6];
fileFlagExp = filesInfoArr[7];
}

java.io.File checkinFile = new java.io.File(directoryInfo);
FileInfo file = new FileInfo(checkinFile);
file.setFileStore(fileStore);
file.setFormat(formatInfo);
file.setFileFlagPublic(fileFlagPublic);
file.setFileFlagEXP(fileFlagExp);
file.setFileDocumentLanguage(fileDocomentLanguage);
System.out.println("applet-filename=" + file.getFileName());

addFile(file);
System.out.println("a file added successfully!");
}

/**
 * @added by Defonds
 * @param directoryStr
 * D:/tmp/tmp/AppDevGuide1071.pdf@@@D:/tmp/tmp/AppDevGuide1072.pdf@@@...
 * @return
 * D:/tmp/tmp/AppDevGuide1071.pdf@@@D:/tmp/tmp/AppDevGuide1072.pdf...
 * @note
 * only return the directories which are valid
 */
public synchronized String directoryValid(String directoryStr){

System.out.println("the file directory info give to applet is:" + directoryStr);
_fileValidStr = directoryStr;

FileValidRunner runner = new FileValidRunner();
        AccessController.doPrivileged(runner);


System.out.println("