// JniC2Java.cpp: defines the entry point of the console application.
//
# contains "stdafx.h"
Use namespace std
int main()
{
JavaVMOption [1]; //has various option settings for the JVM.
JNIEnv * env// stands for JNI execution environment.
JavaVM * jvm// is a pointer to JVM, which is mainly used to create, initialize and destroy JVM.
JavaVMInitArgs vm _ args// represents various JVM parameters that can be used to initialize the JVM.
Long state; Did the JVM create successfully?
Jclass cls// specifies the class definition of the object (jclass)
The definition of jmethodID mid// calling method (jmethodID)
Jinte Square;
Jinte Square 2;
job object jobj;
//Set the reference jar package, which can be modified.
Option [0]. option string = "-DJ ava . class . path =。 ; . /power authority . jar; . /sqljdbc . jar; . /log4j- 1 . 2 . 14 . jar; . /framework . jar; . /commons-logging . jar; . /log4j . properties; . /app context . XML; . /power authority . log ";
VM _ args. VERSION = JNI _ version _1_ 2;
VM _ args . no options = 1;
vm _ args.options = options
status = JNI _ CreateJavaVM(& amp; jvm,(void * *)& amp; Environment & VM _ args); //Creating jvm successfully returns 0, and JNI_ERR is unsuccessful.
If (status! = JNI _ Error) {// jvm created successfully.
//Get the instance object
cls = env-& gt; find class(" powersys/util/JNITools "); //Get the class definition (jclass) of the specified object.
If (cls! =0) {
mid = env->GetMethodID(cls," & ltinit >;" ,"()V ");
If (in! =0){
jobj = env-& gt; NewObject(cls,mid);
STD::cout & lt; & lt "initialization is normal"<< mid<< STD:: endl;
}
//Call login verification
mid = env->GetMethodID( cls," checkLogin ","(Ljava/lang/String; ljava/lang/String; ) I "); //Read the definition of the method to be called (jmethodID)
If (in! =0){
square = env->; CallIntMethod(jobj,mid,env-& gt; NewStringUTF(" "),env-& gt; NewStringUTF(" 1 1 1 ")); //Call the method
STD::cout & lt; & lt square & lt< STD:: endl;
square = env->; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("admin "),env-& gt; NewStringUTF(" "); //Call the method
STD::cout & lt; & lt square & lt< STD:: endl;
square = env->; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("admin 1 "),env-& gt; NewStringUTF(" admin ")); //Call the method
STD::cout & lt; & lt square & lt< STD:: endl;
square = env->; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("abcd "),env-& gt; NewStringUTF(" 1234056 "); //Call the method
STD::cout & lt; & lt square & lt< STD:: endl;
square = env->; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("abcd "),env-& gt; NewStringUTF(" 123456 "); //Call the method
STD::cout & lt; & lt square & lt< STD:: endl;
square = env->; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("admin "),env-& gt; NewStringUTF(" admin ")); //Call the method
STD::cout & lt; & lt square & lt< STD:: endl;
square = env->; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("test "),env-& gt; NewStringUTF(" 123456 "); //Call the method
STD::cout & lt; & lt square & lt< STD:: endl;
STD::cout & lt; & lt "check login success"<< mid<< STD:: endl;
}
//Call to check whether you have operation permission.
mid = env->GetMethodID( cls," checkAuthority ","(Ljava/lang/String; ljava/lang/String; ) I ");
If (in! =0){
square 2 = env-& gt; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("test "),env-& gt; NewStringUTF(" powersys . frame . jdialog . adduserjdialog "));
STD::cout & lt; & ltsquare2 & lt& ltSTD::endl;
square 2 = env-& gt; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("test "),env-& gt; NewStringUTF(" powersys . frame . jdialog . edituserjdialog "));
STD::cout & lt; & ltsquare2 & lt& ltSTD::endl;
square 2 = env-& gt; CallIntMethod(jobj,mid,env-& gt; NewStringUTF(" "),env-& gt; NewStringUTF(" powersys . frame . jdialog . adduserjdialog "));
STD::cout & lt; & ltsquare2 & lt& ltSTD::endl;
square 2 = env-& gt; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("admin "),env-& gt; NewStringUTF(" powersys . frame . jdialog . adduserjdialog "));
STD::cout & lt; & ltsquare2 & lt& ltSTD::endl;
square 2 = env-& gt; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("da3 "),env-& gt; NewStringUTF(" powersys . frame . jdialog . adduserjdialog "));
STD::cout & lt; & ltsquare2 & lt& ltSTD::endl;
square 2 = env-& gt; CallIntMethod(jobj,mid,env-& gt; NewStringUTF("bush "),env-& gt; NewStringUTF(" powersys . frame . jdialog . adduserjdialog "));
STD::cout & lt; & ltsquare2 & lt& ltSTD::endl;
STD::cout & lt; & lt "Check permission is normal"< & ltsd:: endl;
}
}
JVM-& gt; DestroyJavaVM();
Returns 0;
}
other
return- 1;
}