java调用动态库(.dll或.so)
直接通过main入口:
arguments设置:-Djava.library.path=动态库所在目录
在Linux上调.so文件:.so文件 必须命名为:libXXX.so,如:libJni.so
在Windows上调.dll文件:.dll文件 命名不要加lib,直接命名为:XXX.dll 如:Jni.dll
例:
动态库:libJniNassirDecrypt.so 或 JniNassirDecrypt.dll
java调用动态库代码:
String sharedLibraryPath = "JniNassirDecrypt";
try {
System.out.println(System.getProperty("java.library.path"));
System.loadLibrary(sharedLibraryPath);
} catch (Throwable t) {
t.printStackTrace();
}
Web application调用:
Tomcat配置
windows下:把dll直接放到tomcat/bin就行了(也可以是环境变量path的所设定的任何一个目录下)
linux: catalina.sh加入
# -----------------------------------------------------------------------------
# OS specific support. $var _must_ be set to either true or false.
JAVA_OPTS='-Djava.library.path=/home/~~/tomcat/jni'
相关文档:
annotations : 注释
好处
1.文档编制
2.编译器检查
3.代码分析
JSR 175 是编程语言的元数据工具,为将元数据合并到核心java语言中提供正式理由和说明
基本知识:
注释采用"@"标记形式,后面是注释名称,然后在需要数据时,通过name=value对向注释提供数据
注释的三个基本种类:
标记注释 ......
1、对象是按引用传递的---带"="号的赋值操作
2、Java 应用程序有且仅有的一种参数传递机制,即按值传递---由"函数调用"引起的
3、按值传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的一个副本
4、按引用传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的内存地址,而不是值 的副本
5、注 ......
三步:
一、自定义标签实现类: myTags.java;
二、自定义标签库文件(TLD): myTags.tld;
三、一个JSP页面:随便写了;
首先myTags.java
package com.tags;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
public class myTags extends ......
用的是Commons上传组件,下载地址:Commons
网上找的小例子改的,修改了部分错误。
1,FileUpload.java
package com.fileupload;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.charset.Charset;
import java.util.Iterator;
import java.util.List;
import ja ......