J'ai ajouté la méthode native dans le code bean java.Java bean avec JNI?
Puis j'ai copié le fichier .dll dans le dossier System32.
lors de l'utilisation de javabean dans JSP.
il donne une erreur:
HTTP Status 500 -
Type d'exception rapport
un message
Description Le serveur a rencontré une erreur interne() qui l'a empêché de remplir cette demande.
exception
org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.UnsatisfiedLinkError: BeanDir.mysimplebean.sayHello()Ljava/lang/String;
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
causes profondes
javax.servlet.ServletException: java.lang.UnsatisfiedLinkError: BeanDir.mysimplebean.sayHello()Ljava/lang/String;
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.jsp.callbean_jsp._jspService(callbean_jsp.java:124)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
causes profondes
java.lang.UnsatisfiedLinkError: BeanDir.mysimplebean.sayHello()Ljava/lang/String;
BeanDir.mysimplebean.sayHello(Native Method)
org.apache.jsp.jsp.callbean_jsp._jspService(callbean_jsp.java:112)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note La trace complète de la pile de la cause racine est disponible dans les journaux Apache Tomcat/6.0.20 . Apache Tomcat/6.0.20
code Java Bean:
package BeanDir;
import java.util.*;
//This file must be compiled Manually using javac
//cd D:\tomcat\webapps\examples\WEB-INF\classes\BeanDir\mysimplebean.java
public class mysimplebean
{
static
{
String s=System.getProperty("java.library.path");
System.setProperty("java.library.path",s);
System.loadLibrary("HelloWorld");
}
public String getceoname()
{
String ceonameval = "Tom Hanks CEO of Tom Hanks INC";
return ceonameval;
}
public String ceoemail()
{
String ceoemailval = "[email protected]";
return ceoemailval;
}
public double findtakehome(int salary,String designation)
{
double takehomeamt;
if(designation=="Developer")
{
takehomeamt = salary+salary*0.15; //15 % Raise in Salary
}
else
{
takehomeamt = salary+salary*0.10; //10 % Raise in Salary
}
return takehomeamt;
}
public native String sayHello();
}
Salut ryan, J'ai utilisé le même fichier .dll (à l'intérieur du dossier system32) pour le servlet cela fonctionne très bien. Et je lance la console séparée pgm pour trouver le "java.library.path" il montre également le dossier system32. – krishnakumar
Vous devez faire quelque chose comme: test.jsp: <% out.print ("Ma DLL devrait être quelque part ici:" + System.getProperty ("java.library.path")); %> –
salut ryan, j'ai essayé d'utiliser le même .dll dans un autre page.It servlet affiche une erreur « chargé .dll dans une autre classe chargeur » .Donc que je suis en train de créer l'emballage JNI dans Java Bean. avec cela je peux créer beaucoup d'instance en mentionnant son attribut de portée comme "application" dans l'étiquette de bean d'utilisation. Si vous avez des suggestions à ce sujet, faites-le moi savoir. merci – krishnakumar