Problems using JNI and JSP in WebLogic 6.0

Hello everybody. My problem is that I've got a Java class that is called from a JSP. That class connects to a C function and it returns a String. A want this string to be shown by the JSP. The code is:
JSP
<html>
<head>
<title>prueba JNI</title>
</head>
<body>
<%@ page import="ejemplosJNI.*, conversiones.*;"%>
<%
Texto texto = new Texto();
out.println(texto.realizado());
%>
</body>
</html>
Java class
package ejemplosJNI;
public class Texto
private native String getLine(String prompt);
String input = null;
public static void main(String args[])
Texto t = new Texto();
static
System.loadLibrary("MyImpOfPrompt");
public String realizado()
input = this.getLine("Mando una l�nea desde Java");
return input;
C function
#include <stdio.h>
#include <jni.h>
#include "Texto.h"
JNIEXPORT jstring JNICALL
Java_Texto_getLine(JNIEnv *env, jobject obj, jstring prompt)
char buf[128];
const char str = (env)->GetStringUTFChars(env, prompt, 0);
(*env)->ReleaseStringUTFChars(env, prompt, str);
return (*env)->NewStringUTF(env, str);
I compile de C function and put the .dll library in the 'bin' folder in webLogic.
When I call the JSP, I get the next exception:
Servlet failed with Exception
java.lang.UnsatisfiedLinkError: getLine
at ejemplosJNI.Texto.getLine(Native Method)
at ejemplosJNI.Texto.realizado(Texto.java:19)
at jsp_servlet._jsp._pruebasjni._prueba1._jspService(_prueba1.java:93)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:213)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:246)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:1265)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:1622)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Is there any place where I have to put the .dll?
Is there any place where I have to put the generated .lib?
Where do I have to put the Texto.h file generated with javah?
Can anybody help me to solve this problem?
Thanks in advance.

Hi, jschell! Maybe you can see my problem if I give you the code. My Java class and the C funtions are:
Java class
package ejemplos.cadena;
public class Texto
private native String getLine(String prompt) throws Exception;
String cadenaFinal = null;
public static void main(String args[])
Texto t = new Texto();
static
System.loadLibrary("LibreriaCadena");
public String realizado(String cadena)
try
cadenaFinal = getLine(cadena);
catch(Exception e)
System.out.println(e.toString());
return cadenaFinal;
C code
#include <stdio.h>
#include <jni.h>
#include "ejemplos_cadena_Texto.h"
JNIEXPORT jstring JNICALL
Java_ejemplos_cadena_Texto_getLine(JNIEnv *env, jobject obj, jstring prompt)
int cero =0;
int division = 10 / cero;
const char str = (env)->GetStringUTFChars(env, prompt, 0);
(*env)->ReleaseStringUTFChars(env, prompt, str);
return (*env)->NewStringUTF(env, str);
I have done something like "int division = 10 / cero;" in order to get an exception in my C code. When I run my Java class I get an error message and the application breaks. I would like to know how to catch the C exception in order to pass it to my Java class that can manage it into the try-catch clause. I have read I have to use something like "FindClass" or "ThrowNew", but my problem is that I have no idea about C programming.
Can you help me?
Thanks for your time.

Similar Messages

  • JVM Crash When Using JNI and COM

    I'm trying to call a DLL compiled from VB6 source code that I do not have access to. The VB6 code simply retrieves data from a DB2 database using ADO and my client code grabs that data and marshals it to my Java code. I'm attempting to achieve this using JNI and COM (without a third-party bridge). It works 75% of the time, but the other 25% of the time, the JVM crashes with the usual Hotspot crash log containing an access violation exception. However, I don't know what in my C++ code (VC++ 8) could be causing this except for passing a "wild" pointer to the code lying underneath the COM object interface. If that is the case, I don't know how I am doing that.
    The Java code that is calling my native method is running on Tomcat 5.5.25 and just to be safe, I am not allowing multiple threads to concurrently call the method in my JNI DLL (though I realize that this will kill performance). Once I can get past this problem, I'll do the COM interfacing on a worker thread in my native code so I don't screw up CoInitialize and CoUninitialize calls in the case the same thread is concurrently executing multiple calls to my native code.
    I've noticed that in most cases, the JVM crashes during my call to the pClsAccount->OpenConnection method. However, my DLL isn't what is listed on the top of the call stack, which is why I suspect the passing of a wild pointer, though I'm just taking a guess at that. Does anyone have an idea as to what's going on ?
    JNIEXPORT jobject JNICALL Java_CustomerInfo_nGetCustomerAccountInfo(JNIEnv *env, jobject customerInfo, jstring accountNumber, jstring iniFileName)
    jboolean isCopy;
    // Account info class and instance to be instantiated
    jclass accountInfoCls = NULL;
    jobject accountInfoObj = NULL;
    // The constructor ID of the accountInfoCls
    jmethodID ctorID = NULL;
    // Pointer to the interface for the ClsAccount COM object
    _clsAccount *pClsAccount = NULL;
    HRESULT hr;
    BSTR bstrIniFileName(L"");
    try
    const char *nativeAccountNumber = NULL;
    if (accountNumber != NULL)
    nativeAccountNumber = env->GetStringUTFChars(accountNumber, &isCopy);
    else
    jclass newExcCls;
    env->ExceptionDescribe();
    env->ExceptionClear();
    newExcCls = env->FindClass("java/lang/IllegalArgumentException");
    env->ThrowNew(newExcCls, "accountNumber passed in was null !");
    return NULL;
    // Initialization
    variantt varConnectionSucceeded = variantt(false);
    variantt varGetAccountInfoSucceeded = variantt(false);
    variantt varAccountNumber = variantt(nativeAccountNumber);
    bstrt bstrLastPaymentDate = bstrt();
    bstrt bstrLastErrorMessage = bstrt();
    bstrt bstrLastErrorNumber = bstrt();
    jlong jTotalDue = NULL;
    jlong jEstablishedDueDay = NULL;
    jlong jLastPaymentAmount = NULL;
    jstring jLastPaymentDate = NULL;
    jstring jLastErrorMessage = NULL;
    jstring jLastErrorNumber = NULL;
    jthrowable jException = NULL;
    const char *chLastPaymentDate = NULL;
    const char *chLastErrorMessage = NULL;
    const char *chLastErrorNumber = NULL;
    long long totalDue;
    long long lastPaymentAmount;
    long establishedDueDateDay;
    //Convert string from Java string to C string to VB string
    const char *nativeIniFileName = NULL;
    if (iniFileName != NULL)
    nativeIniFileName = env->GetStringUTFChars(iniFileName, &isCopy);
    else
    jclass newExcCls;
    env->ExceptionDescribe();
    env->ExceptionClear();
    newExcCls = env->FindClass("java/lang/IllegalArgumentException");
    env->ThrowNew(newExcCls, "iniFileName passed in was null");
    return NULL;
    bstrIniFileName = comutil::ConvertStringToBSTR(nativeIniFileName);
    CoInitialize(NULL);
    // Create an instance of the COClass with the interface over it
    hr = CoCreateInstance(__uuidof(clsAccount), NULL, CLSCTX_INPROC_SERVER, __uuidof(_clsAccount), (void **)&pClsAccount);
    if (hr == S_OK)
    varConnectionSucceeded.boolVal = pClsAccount->OpenConnection(&bstrIniFileName);
    &#12288;
    if (varConnectionSucceeded.boolVal == -1)
    varGetAccountInfoSucceeded.boolVal = pClsAccount->GetAccountPaymentInformation(&(varAccountNumber.GetVARIANT()));
    env->ReleaseStringUTFChars(accountNumber, nativeAccountNumber);
    // Extract all available account information from the ClsAccount object
    if (varGetAccountInfoSucceeded.boolVal == -1)
    totalDue = pClsAccount->TotalDue.int64;
    establishedDueDateDay = pClsAccount->EstablishedDueDateDay;
    lastPaymentAmount = pClsAccount->LastPaymentAmount.int64;
    bstrLastPaymentDate = pClsAccount->LastPaymentDate;
    chLastPaymentDate = comutil::ConvertBSTRToString(bstrLastPaymentDate.GetBSTR());
    jTotalDue = (jlong)totalDue;
    jEstablishedDueDay = (jlong)establishedDueDateDay;
    jLastPaymentAmount = (jlong)lastPaymentAmount;
    jLastPaymentDate = env->NewStringUTF(chLastPaymentDate);
    delete[] chLastPaymentDate;
    pClsAccount->CloseConnection();
    // Populate error fields if any errors occur
    bstrLastErrorMessage = pClsAccount->LastErrMessage;
    chLastErrorMessage = comutil::ConvertBSTRToString(bstrLastErrorMessage.GetBSTR());
    bstrLastErrorNumber = pClsAccount->LastErrNumber;
    chLastErrorNumber = comutil::ConvertBSTRToString(bstrLastErrorNumber.GetBSTR());
    jLastErrorMessage = env->NewStringUTF(chLastErrorMessage);
    jLastErrorNumber = env->NewStringUTF(chLastErrorNumber);
    delete[] chLastErrorMessage;
    delete[] chLastErrorNumber;
    const char* clsName = "com/nuance/merchantsmutual/businessentities/CustomerAccountInfo";
    // Find the Java class and the ID of its constructor
    accountInfoCls = env->FindClass(clsName);
    ctorID = env->GetMethodID(accountInfoCls, "<init>", "(JJJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V");
    jException = env->ExceptionOccurred();
    if (jException != NULL)
    env->ExceptionDescribe();
    env->ExceptionClear();
    //Release all resources associated with the ClsAccount instance
    pClsAccount->Release();
    //Instantiate the class with the given parameters
    accountInfoObj = env->NewObject(accountInfoCls, ctorID, jTotalDue, jEstablishedDueDay, jLastPaymentAmount, jLastPaymentDate, jLastErrorMessage, jLastErrorNumber);
    jException = env->ExceptionOccurred();
    if (jException != NULL)
    env->ExceptionDescribe();
    env->ExceptionClear();
    else if (hr == REGDB_E_CLASSNOTREG)
    cout << "COM class not registered" << endl;
    else if ( hr == CLASS_E_NOAGGREGATION)
    cout << "COM class can't be aggregated" << endl;
    else if (hr == E_NOINTERFACE)
    cout << "No interface for COM class clsAccount" << endl;
    else if (hr == E_POINTER)
    cout << "*ppv pointer was NULL !" << endl;
    else
    cout << "Error occurred while creating COM object. HR is [" << hr << "]" << endl;
    // Free the BSTR because a new one was returned with a call to comutil::ConvertStringToBSTR
    SysFreeString(bstrIniFileName);
    // Release the string when it's no longer needed. MUST call if string won't be used
    // anymore or else a memory leak will occur
    env->ReleaseStringUTFChars(iniFileName, nativeIniFileName);
    CoUninitialize();
    &#12288;
    catch (_com_error &e)
    cout << "Encountered an exception in GetCustomerAccountInfo: Error was " << e.ErrorMessage();
    pClsAccount->Release();
    catch (...)
    pClsAccount->Release();
    return accountInfoObj;
    Edited by: Cthulhu76 on Jan 5, 2010 9:18 AM

    0x49202400 JavaThread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon [_thread_blocked, id=5340, stack(0x49bf0000,0x49c40000)]
    0x48a7e800 JavaThread "Thread-1" [_thread_in_native, id=5976, stack(0x48f00000,0x48f50000)]
    0x48a0dc00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3072, stack(0x48c60000,0x48cb0000)]
    0x48a09000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=4988, stack(0x48c10000,0x48c60000)]
    0x48a07c00 JavaThread "Attach Listener" daemon [_thread_blocked, id=3124, stack(0x48bc0000,0x48c10000)]
    0x48a07000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2572, stack(0x48b70000,0x48bc0000)]
    0x489f5c00 JavaThread "Finalizer" daemon [_thread_blocked, id=5752, stack(0x48b20000,0x48b70000)]
    0x489f4c00 JavaThread "Reference Handler" daemon [_thread_blocked, id=2596, stack(0x48ad0000,0x48b20000)]
    0x003c6000 JavaThread "main" [_thread_in_native, id=4252, stack(0x00820000,0x00870000)]
    Other Threads:
    0x489f0400 VMThread [stack: 0x48a80000,0x48ad0000] [id=5624]
    0x48a18800 WatcherThread [stack: 0x48cb0000,0x48d00000] [id=1192]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    Heap
    def new generation total 36288K, used 12762K [0x02940000, 0x050a0000, 0x07800000)
    eden space 32256K, 34% used [0x02940000, 0x0343af58, 0x048c0000)
    from space 4032K, 37% used [0x04cb0000, 0x04e2ba28, 0x050a0000)
    to space 4032K, 0% used [0x048c0000, 0x048c0000, 0x04cb0000)
    tenured generation total 483968K, used 7518K [0x07800000, 0x250a0000, 0x42940000)
    the space 483968K, 1% used [0x07800000, 0x07f57958, 0x07f57a00, 0x250a0000)
    compacting perm gen total 14080K, used 14016K [0x42940000, 0x43700000, 0x46940000)
    the space 14080K, 99% used [0x42940000, 0x436f0320, 0x436f0400, 0x43700000)
    No shared spaces configured.
    Dynamic libraries:
    0x00400000 - 0x0040f000      C:\Program Files\Apache Software Foundation\Tomcat 5.5\bin\tomcat5.exe
    0x7c800000 - 0x7c8c0000      C:\WINDOWS\system32\ntdll.dll
    0x77e40000 - 0x77f42000      C:\WINDOWS\system32\kernel32.dll
    0x77380000 - 0x77411000      C:\WINDOWS\system32\USER32.dll
    0x77c00000 - 0x77c48000      C:\WINDOWS\system32\GDI32.dll
    0x77f50000 - 0x77feb000      C:\WINDOWS\system32\ADVAPI32.dll
    0x77c50000 - 0x77cef000      C:\WINDOWS\system32\RPCRT4.dll
    0x76f50000 - 0x76f63000      C:\WINDOWS\system32\Secur32.dll
    0x77ba0000 - 0x77bfa000      C:\WINDOWS\system32\MSVCRT.dll
    0x7c8d0000 - 0x7d0cf000      C:\WINDOWS\system32\SHELL32.dll
    0x77da0000 - 0x77df2000      C:\WINDOWS\system32\SHLWAPI.dll
    0x76290000 - 0x762ad000      C:\WINDOWS\system32\IMM32.DLL
    0x77420000 - 0x77523000      C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.3790.3959_x-ww_D8713E55\comctl32.dll
    0x6d7c0000 - 0x6da10000      C:\Program Files\Java\jre1.6.0_07\bin\client\jvm.dll
    0x76aa0000 - 0x76acd000      C:\WINDOWS\system32\WINMM.dll
    0x7c340000 - 0x7c396000      C:\WINDOWS\system32\MSVCR71.dll
    0x6d270000 - 0x6d278000      C:\Program Files\Java\jre1.6.0_07\bin\hpi.dll
    0x76b70000 - 0x76b7b000      C:\WINDOWS\system32\PSAPI.DLL
    0x6d770000 - 0x6d77c000      C:\Program Files\Java\jre1.6.0_07\bin\verify.dll
    0x6d310000 - 0x6d32f000      C:\Program Files\Java\jre1.6.0_07\bin\java.dll
    0x6d7b0000 - 0x6d7bf000      C:\Program Files\Java\jre1.6.0_07\bin\zip.dll
    0x6d570000 - 0x6d583000      C:\Program Files\Java\jre1.6.0_07\bin\net.dll
    0x71c00000 - 0x71c17000      C:\WINDOWS\system32\WS2_32.dll
    0x71bf0000 - 0x71bf8000      C:\WINDOWS\system32\WS2HELP.dll
    0x71b20000 - 0x71b61000      C:\WINDOWS\system32\mswsock.dll
    0x5f270000 - 0x5f2ca000      C:\WINDOWS\system32\hnetcfg.dll
    0x71ae0000 - 0x71ae8000      C:\WINDOWS\System32\wshtcpip.dll
    0x76ed0000 - 0x76efa000      C:\WINDOWS\system32\DNSAPI.dll
    0x76f70000 - 0x76f77000      C:\WINDOWS\System32\winrnr.dll
    0x76f10000 - 0x76f3e000      C:\WINDOWS\system32\WLDAP32.dll
    0x76f80000 - 0x76f85000      C:\WINDOWS\system32\rasadhlp.dll
    0x4a6a0000 - 0x4a6ac000      C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\MMI\WEB-INF\lib\CustomerInfoProxy.dll
    0x77670000 - 0x777a9000      C:\WINDOWS\system32\ole32.dll
    0x77d00000 - 0x77d8b000      C:\WINDOWS\system32\OLEAUT32.dll
    0x7c420000 - 0x7c4a7000      C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_E6967989\MSVCP80.dll
    0x78130000 - 0x781cb000      C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_E6967989\MSVCR80.dll
    0x777b0000 - 0x77833000      C:\WINDOWS\system32\CLBCatQ.DLL
    0x77010000 - 0x770d6000      C:\WINDOWS\system32\COMRes.dll
    0x77b90000 - 0x77b98000      C:\WINDOWS\system32\VERSION.dll
    0x75da0000 - 0x75e5d000      C:\WINDOWS\system32\SXS.DLL
    0x75e60000 - 0x75e87000      C:\WINDOWS\system32\apphelp.dll
    0x4dc30000 - 0x4dc5e000      C:\WINDOWS\system32\msctfime.ime
    0x4b0d0000 - 0x4b395000      C:\WINDOWS\system32\xpsp2res.dll
    0x71bb0000 - 0x71bb9000      C:\WINDOWS\system32\WSOCK32.dll
    0x4bbe0000 - 0x4bbea000      C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\MMI\WEB-INF\lib\ClearTranProxy.dll
    0x745e0000 - 0x7489e000      C:\WINDOWS\system32\msi.dll
    0x71c40000 - 0x71c97000      C:\WINDOWS\system32\NETAPI32.dll
    0x4bc50000 - 0x4bc6c000      C:\WINDOWS\system32\DBNETLIB.DLL
    0x71f60000 - 0x71f64000      C:\WINDOWS\system32\security.dll
    0x76c90000 - 0x76cb7000      C:\WINDOWS\system32\msv1_0.dll
    0x76cf0000 - 0x76d0a000      C:\WINDOWS\system32\iphlpapi.dll
    0x761b0000 - 0x76243000      C:\WINDOWS\system32\crypt32.dll
    0x76190000 - 0x761a2000      C:\WINDOWS\system32\MSASN1.dll
    0x4bcf0000 - 0x4bcff000      C:\Program Files\Common Files\System\Ole DB\SQLOLEDB.RLL
    0x4a8a0000 - 0x4a8aa000      C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\MMI\WEB-INF\lib\MIGI.DLL
    0x73570000 - 0x736c2000      C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\MMI\WEB-INF\lib\MSVBVM60.DLL
    0x4a950000 - 0x4a9e2000      C:\Program Files\Common Files\System\ado\msado15.dll
    0x74a50000 - 0x74a6a000      C:\WINDOWS\system32\MSDART.DLL
    0x4c850000 - 0x4c8c9000      C:\Program Files\Common Files\System\Ole DB\oledb32.dll
    0x4dbb0000 - 0x4dbc1000      C:\Program Files\Common Files\System\Ole DB\OLEDB32R.DLL
    VM Arguments:
    jvm_args: -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 5.5 -Dcatalina.base=C:\Program Files\Apache Software Foundation\Tomcat 5.5 -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\endorsed -Djava.io.tmpdir=C:\Program Files\Apache Software Foundation\Tomcat 5.5\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\logging.properties -Djava.library.path=C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\MMI\WEB-INF\lib vfprintf -Xms512m -Xmx1024m
    java_command: <unknown>
    Launcher Type: generic
    Environment Variables:
    JAVA_HOME=C:\Program Files\Java\jdk1.6.0_07
    [error occurred during error reporting (printing environment variables), id 0xc0000005]
    --------------- S Y S T E M ---------------
    OS: Windows Server 2003 family Build 3790 Service Pack 2
    CPU:total 4 (4 cores per cpu, 1 threads per core) family 6 model 7 stepping 6, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3
    Memory: 4k page, physical 2097151k(2097151k free), swap 4194303k(4194303k free)
    vm_info: Java HotSpot(TM) Client VM (10.0-b23) for windows-x86 JRE (1.6.0_07-b06), built on Jun 10 2008 01:14:11 by "java_re" with MS VC++ 7.1
    time: Mon Dec 28 15:24:00 2009
    elapsed time: 600 seconds

  • Using JNI in JSP

    Hi
    i am going to develop a DI COM viewer in web.
    so that it uses lot of shared libraries (.dll).
    i tried JNI with servlet it works fine.
    but when i try to load a same DLL for another page it gives an error saying
    ".dll loaded in another class loader"
    So that i tried to write JNI wrapper as a component using java beans.
    and i can use as multiple instances.
    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
              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();      
    }Then i added the Java bean in JSP:
    <%@ page import = "BeanDir.mysimplebean" %>
    <jsp:useBean
         id="mybeanid"
         class="BeanDir.mysimplebean"
         scope="session"/>
    <jsp:setProperty
         name="mybeanid"
         property="*"/>
    <html>
    <head><title>JSP - Java Bean Demo </title></head>
    <body bgcolor="white">
    <font size=2 face=verdana>
    <center><strong>Simple JSP with JAVA Beans Demo Application Form</strong> <br>
    <%
    //Auto Compiled by JSP Engine dont use Javac
    //No Parameters Passed into Bean
    //cd E:/tomcat/webapps/examples/jsp/testdir/testme2.jsp
    String ceoname_ret;
    ceoname_ret=mybeanid.getceoname();          
    out.println("<br>CEO Name : "+ceoname_ret);
    //No Parameters Passed into Bean
    String ceoemail_ret;
    String s;
    ceoemail_ret=mybeanid.ceoemail();
    out.println("<br>CEO Email : "+ceoemail_ret);
    out.println("<br><br>");
    out.println("<table border=1 bordercolor='maroon' cellspacing=4 cellpadding=4 align=center>");
    out.println("<tr align=center valign=middle>");
    out.println("<td bgcolor=maroon><font face='verdana' size=2 color=white> Calling From JSP </font></td>");
    out.println("<td bgcolor=maroon><font face='verdana' size=2 color=white> BEAN BEANING CALLED </font></td></tr>");
    double takehomeamt_ret;     
    double totalcost=0;
    takehomeamt_ret = mybeanid.findtakehome(5000,"Developer") ;     
    totalcost=totalcost+takehomeamt_ret;
    out.println("<tr align=center valign=middle><td><font face='verdana' size=2>Take Home : James Smith  </font></td>");
    out.println("<td><font face='verdana' size=2>"+takehomeamt_ret+"</font></td></tr>");
    takehomeamt_ret = mybeanid.findtakehome(5000,"Designer") ;     
    totalcost=totalcost+takehomeamt_ret;
    out.println("<tr align=center valign=middle><td><font face='verdana' size=2>Take Home :  Andrew  </font></td>");
    out.println("<td> <font face='verdana' size=2>"+takehomeamt_ret+"</font></td></tr>");
    takehomeamt_ret = mybeanid.findtakehome(7000,"Developer") ;     
    totalcost=totalcost+takehomeamt_ret;
    out.println("<tr align=center valign=middle><td><font face='verdana' size=2>Take Home : Peter O Neal  </font></td>");
    out.println("<td> <font face='verdana' size=2>"+takehomeamt_ret+"</font></td></tr>");
    out.println("<tr align=center valign=middle><td><font face='verdana' size=2><strong>TOTAL COST FOR COMPANY </strong>  </font></td>");
    out.println("<td> <font face='verdana' size=2>"+totalcost+"</font></td></tr>");
    out.println("</table>");
    out.print("My dll should be somewhere here: "+System.getProperty("java.library.path"));
    s = mybeanid.sayHello();
    out.println("<br>Output from JNI"+s);
    %>  </center>
    </font>
    </body>
    </html>Error which i am getting is :
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    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)
    root cause
    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:121)
         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)
    root cause
    java.lang.UnsatisfiedLinkError: BeanDir.mysimplebean.sayHello()Ljava/lang/String;
         BeanDir.mysimplebean.sayHello(Native Method)
         org.apache.jsp.jsp.callbean_jsp._jspService(callbean_jsp.java:109)
         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 The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
    Apache Tomcat/6.0.20

    Hi friends,
    i got the solution for using JNI in JSP.
    But not with Javabean
    I created a class that loads the library and define the native method.
    import the above said class package in your JSP program
    create the object for the class
    access the native method with that object.
    copy your .dll file in system32 folder
    if you have declared package in java program change the method according to that
    other wise you will get unsatisfied link error
    for ex
    package sam.jni;
    import java.io.*;
    public class Helloworld
    static
    static.loadlibrary("HelloWorld");
    public native String sayHello();
    }Method name in your c++ program looks like
    JNIEXPORT jstring JNICALL Java_sam_jni_HelloWorld_sayHello
      (JNIEnv *env, jobject obj) {
        return  env->NewStringUTF("krishnakumar");

  • When to use servlets and jsp in an application like  shoping cart?

    Hi All
    I m going to design and implement a web application using servelts and jsp. I am still at its requirements analyze stage.
    The application is almost likely a shopping cart. So if any of you have the deep knowledge about this domain with servlets and jsp please help me for a good design. What I realy need to know is that
    1. what are the core requirements for a shoping cart ?
    2. use cases ?
    3. best way to follow mvc with servlets and jsp for it?
    you can answer to this at the abstract level. no need to go in detail.
    if you have any documents like design and use cases mail me to [email protected]
    your cooperation is highly appreciated in this regards.

    Look into this kid
    http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/Servlet-Tutorial-Session-Tracking.htm

  • Download local file using Servlet and JSP

    Hello,
    I will like to use a browser to download file on local system using serlvet and Jsp technology. Does anyone have any idea how to do it?
    Any comment will be appreciate.
    Thanks

    Well you can just put the file in a folder that is accessible to the web server. Then have a link point to that file. That will cause the web browser to download the file.
    hattan

  • URGENT.........File Upload using Servlets and jsp

    I am a new servlet programmer.......
    iam using tomcat server......
    can any one pls help in writing code for file upload using servlets and jsp without using multipart class or any other class like that....
    Please URGENT..

    Slow down! "Urgent" is from your perspective alone. I, myself, am not troubled or worried in the least.
    hi ugniss
    thanks for ur reply....sorry i was not
    y i was not asked not to use multipart class or any
    other class like that...is there any other
    possibility to do file uploading from jsp to
    servlet...
    Just as an aside, a JSP is a Servlet. But even if I move beyond that, the question does not make sense. If you want a "JSP to upload to a Servlet", then simply do so in memory. You are still (likely) within the same scope of a given request. However, if instead you are referring to a JSP that is displayed on a browser, then really you are talking about HTML, which is what the browser will receive. And since you are now talking about a browser, your only real, viable option is a multi-part file upload. So, it is either server or it is browser. And either way, the question leads to very established options, as outlined above.
    the main concept is.. in the browser the user selects
    a particular file and clicks the button upload..after
    clicking upload the jsp should sent the file to the
    servlet in streams...there the servlet gets in and
    saves in a server location........this is wat i hav
    to do...
    Okay. So, after reading my previous (redundant) paragraph, we have arrived at the crux of the issue. You have a JSP that will be output as HTML to a client (browser) which you want to upload content to your server (handled by a Servlet). So, you are now stuck again with multi-part. The requirement to not use multi-part is non-sensical. You can overcome it, say, if you write your own applet or standalone Swing client. However, if your users are invoking this functionality from a browser, you are limited by the options that W3C has provided you. Use multi-part.
    is there aby possibilty to do this.....can any one
    pls help....Take the advice to download and review Jakarta Commons FileUpload. Inform your management that their requirement makes no technical sense. Research on your own. There are dozens of examples (and tutorials) on file upload using multi-part. Embrace it. Live it. Love it.
    - Saish

  • File Upload using struts and jsp

    Hi,
    Anybody have sample coding for uploading files into the database using struts and jsp.
    Thanking you in advance for providing the sample coding.
    Veena

    Hi Veena,
    In Strutsconfig.xml you have to configure data sources like this
    **************strutsconfig.xml******
    <data-sources>
    <data-source
    type="org.apache.common.dbcp.BasicDataSource">
    <set-property property="driverClassName"
    vlaue="oracle.jdbc.driver.OracleDriver"/>
    <set-property property="url" vlaue="jdbcracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID =ORCL)))"/>
    <!-- <set-property property="url"
    vlaue="jdbcracle:thin:@127.0.0.1:1521:ORCL"/>-->
    <set-property property="username"
    vlaue="scott"/>
    <set-property property="password"
    vlaue="tiger"/>
    </data-source>
    </data-sources>
    Now here is how to get data source
    public class LookupAction extends Action
    public Double getQuote(String symbol,
    HttpServletRequest request)
    throws Exception
    Double price=null;
    Connection conn=null;
    Statement stmt=null;
    ResultSet rs=null;
    DataSource dataSource=null;
    try
    dataSource = getDataSource(request);
    conn= dataSource.getConnection();
    stmt= conn.createStatement();
    rs= stmt.executeQuery("select * from stocks where" + "symbol='" + symbol +"'");
    if (rs.next())
    =======================
    After you can use the coding what I posted earlier.
    For that you need to create a table with attachment as a CLOB col.
    then with prepared statement I am setting value .
    Plz try your self every thing ok you can get that.
    all the best
    bye
    sudheen

  • Problem with JNI and Tomcat (and threads???)

    Howdy,
    Here is the issue - I would like some help on HOW to debug and fix this problem:
    2 test use cases -
    1)
    a)User goes to Login.jsp, enters user and password
    b) User submits to LoginServlet
    c) login calls JNI code that connects to a powerbuilder(Yes I know this is ugly) PBNI code module (this is a .dll) that authenticates the user with the database
    d) the servlet then redirects to another .jsp page
    e) user then submits to LogoutServlet - also a JNI call to a powerbuilder PBNI code module
    f) REPEAT STEPS a-e over a few times (inconsistent) and then the call to the JNI code hangs
    2)
    a) users does NOT goto Login.jsp, but rather calls LoginServlet and passes the userid and password as GET parms
    b) user does NOT get redirected to a page (redirect code commented out)
    c) user calls LogoutServlet
    d) repeat steps a-c at will and no failure, no hanging
    The only difference is that in case 1 (with JSP), there is a redirect and it afffected the JNI call by haniging inside JNI code.
    In case 2 (without JSP) there is still a JNI call, but it does not hang. In addition, when it hangs and I stop Tomcat, the logs show cleanup entries that say:
    Oct 19, 2004 9:17:09 AM org.apache.catalina.core.StandardWrapper unload
    INFO: Waiting for 1 instance(s) to be deallocated
    Oct 19, 2004 9:17:10 AM org.apache.catalina.core.StandardWrapper unload
    INFO: Waiting for 1 instance(s) to be deallocated
    Oct 19, 2004 9:17:11 AM org.apache.catalina.core.StandardWrapper unload
    INFO: Waiting for 1 instance(s) to be deallocated
    Is this a threading issue in Tomcat???
    On would assume that the JNI code is not cleaning up after itself, but I don't believe this is the case,
    and even if it was, why would I get the tomcat log cleanup entries above???
    What do those cleanup entries imply about the state of Tomcat????

    hi ,
    I met the same problem this morning, and searched the www.google.com in order to solve it, as a result, your article was shown on my screen. :)
    Till now I have read some technical information and solved my problems. Maybe the solution be useful to you:
    ==============================
    error message : (Environment : Tomcat 5, Windows 2003, Mysql5)
    2006-3-29 11:53:48 org.apache.catalina.core.StandardWrapper unload
    message: Waiting for 2 instance(s) to be deallocated
    ==============================
    cause: the number of connection to database exceeded.another word,too many connections.
    ==============================
    solution: close the connection when it becomes useless for your program. :)
    ==============================
    ps. Sorry for my weak English . hehe ....

  • Problem with JNI and Parallel Port dll

    Hi. I'm doing some testes with JNI. Firs i followed the netbeans tutorial for doing a C programa that prints somthing for java.. like.. "Hello java from C".
    So i tried to load a dll from my dll. Like, I have this dll to use the parallel port on windows Xp. So i created a dll to access it an comunicates eoth java.
    I did everything just fine.
    When I start my Java app, the first thing it does is to load this parallel port dll and configure the functions of it.
    After that .. I get this error
    EXCEPTION_FLT_STACK_CHECK (0xc0000092) at pc=0x0093d269, pid=2284, tid=3000
    Can someone explain why ?
    (Sorry if i wasn't clear enough, english is not my native language, so ask if you don't understand something.. )

    hi ,
    I met the same problem this morning, and searched the www.google.com in order to solve it, as a result, your article was shown on my screen. :)
    Till now I have read some technical information and solved my problems. Maybe the solution be useful to you:
    ==============================
    error message : (Environment : Tomcat 5, Windows 2003, Mysql5)
    2006-3-29 11:53:48 org.apache.catalina.core.StandardWrapper unload
    message: Waiting for 2 instance(s) to be deallocated
    ==============================
    cause: the number of connection to database exceeded.another word,too many connections.
    ==============================
    solution: close the connection when it becomes useless for your program. :)
    ==============================
    ps. Sorry for my weak English . hehe ....

  • Problem in Frame and JSP

    hi all,
    i built an web application and now i want to add a menu using frame in HTML or javascript. The problem is all my JSP pages are data dependant from one another that means sometimes i am sending the data using input boxes and sometimes using HIDDEN values in HTML. Now i tried this followig way to use frame and to send my data to other pages but it is not working can anyone please help me.
    "DOES ANYONE KNOW WHETHER I CAN USE FRAME IN THE JSP PAGE OR NOT"
    LOGIN.HTML
    <form action="startframe.html" method="post">
    <center><h2>Employee Number:</h2></center>
    <center><input type="text" name="emplno" maxlength="4"size="4"></center></br>
    <center><h2>Password:</h2></center>
    <center><input type="password" name="pass" maxlength="6" size="6"></center></br>
    <center><input type="submit" value="SUBMIT YOUR INFO"></center>
    </form>
    </body>
    </html> DATA are GOING FROM LOGIN.HTML TO VARIFYLOGIN.JSP
    Now in between these two i used an HTML file to place a frame so that i can use the frame and the code is:
    <HTML>
    <HEAD>
    <TITLE> </TITLE>
    <frameset cols="15%,85%">>
    <frame name="frame1" src="buttons.html">
    <frame name="frame2" src="varifylogin.jsp?emplno=<%=emplno%> &pass=<%=pass%>" >
    </frameset>
    </HEAD>
    <BODY>
    </BODY>
    </HTML> "DOES ANYONE KNOW WHETHER I CAN USE FRAME IN THE JSP PAGE OR NOT"
    and then it should go to VARIFYLOGIN.JSP which is:
    String empl_no = request.getParameter("emplno");
       String password=request.getParameter("pass");
       Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
       Connection con = DriverManager.getConnection("jdbc:odbc:finalmp" );
       Statement stmt = con.createStatement();
       ResultSet rs = stmt.executeQuery("SELECT StaffID,FirstName,LastName,Password FROM StaffDetails");...................................................etc.
    i am getting this error on the RIGHT hand side frame meaning it showing the buttons on the left but this error on the right:
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:367)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    root cause
    java.lang.NullPointerException
         org.apache.jsp.varifylogin_jsp._jspService(varifylogin_jsp.java:83)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:856Can anyone please help me.
    Cheers

    i am working in jubuilder
    and have made there three forms,and
    calling s-aots and st_aots in fs_aots
    but when i compile
    it takes fiel,d text on seprate page display result on other window
    why it dosent use frame here
    2nd thing
    i want to enable scrolling
    how i can do
    or how can i display required no of records in second row
    if i mention page size in any check box
    <html>
    <head>
    <title>
    fs_aots
    </title>
    </head>
    <jsp:useBean id="fs_aotsBeanId" scope="session" class="s_aots.fs_aotsBean" />
    <jsp:setProperty name="fs_aotsBeanId" property="*" />
    <body>
    <FRAMESET Rows="30%" Framespacing="0">
    <Frame Name ="Header" SRC="s_aots.jsp" Frameborder="0" Scrolling="no">
    <FRAMESET Rows="70%" Framespacing="0">
    <Frame Name="data" SRC="st_aots.jsp" Frameborder="0" Scrolling="yes">
    </frameset>
    </frameset>
    </BODY>
    </html>
    <html>
    <head>
    <title>
    s_aots
    </title>
    </head>
    <jsp:useBean id="s_aotsBeanId" scope="session" class="s_aots.s_aotsBean" />
    <jsp:setProperty name="s_aotsBeanId" property="*" />
    <body>
    <p>update database content
    <form action="st_aots.jsp" method="post">
    Region<input type=text name=Regionparam><br>
    Bill Month From :<input type=text name=BmonthFparam><br>
    Bill Month To:<input type=text name=BmonthTparam><br>
    Connection Type:<input type=text name=Conntypeparam><br>
    Exchanges:<input type=text name=Exchparam><br>
    Phone No:<input type=text name=PhoneNoparam><br>
    <input type=Submit value="Retrive from DB">
    </form>
    </BODY>
    </HTML>
    <html>
    <head>
    <title>
    st_aots
    </title>
    </head>
    <jsp:useBean id="st_aotsBeanId" scope="session" class="s_aots.st_aotsBean" />
    <jsp:setProperty name="st_aotsBeanId" property="*" />
    <%@ page language="java" import="java.util.*"%>
    <table border=1 cellpadding=0 cellspacing=0 >
    <tr><td> Phone No: </td>
    <td> Current Bill: </td>
    <td> Net Payable: </td>
    <td>Net Arrers:</td>
    <td>customer Name:</td>
    <td>Customer Address:</td>
    <td>Connection Type:</td>
    </tr>
    <%
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      java.sql.Connection connection = java.sql.DriverManager.getConnection("jdbc:odbc:AOTS4");
      java.sql.Statement statement = connection.createStatement();
      Enumeration parameters = request.getParameterNames();
        if(parameters.hasMoreElements()){
        String REGION = request.getParameter("Regionparam");
        String BILL_MONTH_FROM = request.getParameter("BmonthFparam");
        String BILL_MONTH_TO = request.getParameter("BmonthTparam");
        String CONN_TYPE = request.getParameter("Conntypeparam");
        String EXCHANGES = request.getParameter("Exchparam");
        String PHONE = request.getParameter("PhoneNoparam");
       //String q;
       // statement.executeUpdate("INSERT INTO updatephonebook (LAST,FIRST,PHONE) VALUES ('"+LastValue+"','"+FirstValue+"','"+PhoneValue+"')");
    // q= " SELECT PHONE_NO,GROSS_CURRENT_BILL,AMOUNT_PAYABLE,NET_ARRERS_AMOUNT,NAME,ADDRESS_1,ADDRESS_2,ADDRESS_3,ADDRESS_4,CONNECTION_TYPE FROM AOTS WHERE REGION_CODE='" +REGION+ "' AND BILL_PERIOD BETWEEN '" + BILL_MONTH_FROM + "' AND '"+BILL_MONTH_TO+"' AND CONNECTION_TYPE='"+CONN_TYPE+"' AND EXCHANGE_CODE='"+EXCHANGES+"' AND PHONE_NO='"+PHONE+"'";
       // System.out.println(q);
         java.sql.ResultSet columns = statement.executeQuery
        (" SELECT PHONE_NO,GROSS_CURRENT_BILL,AMOUNT_PAYABLE,NET_ARRERS_AMOUNT,NAME,ADDRESS_1,ADDRESS_2,ADDRESS_3,ADDRESS_4,CONNECTION_TYPE FROM AOTS4 WHERE REGION_CODE='" +REGION+ "' AND (BILL_PERIOD BETWEEN '"+BILL_MONTH_FROM+"' AND '"+BILL_MONTH_TO+"') AND CONNECTION_TYPE='"+CONN_TYPE+"' AND EXCHANGE_CODE='"+EXCHANGES+"' AND PHONE_NO='"+PHONE+"' ")  ;
        //(" SELECT PHONE_NO,GROSS_CURRENT_BILL,AMOUNT_PAYABLE,NET_ARRERS_AMOUNT,NAME,ADDRESS_1,ADDRESS_2,ADDRESS_3,ADDRESS_4,CONNECTION_TYPE FROM AOTS4 WHERE REGION_CODE='" +REGION+ "' AND CONNECTION_TYPE='"+CONN_TYPE+"' AND EXCHANGE_CODE='"+EXCHANGES+"' AND PHONE_NO='"+PHONE+"' ")  ;
         // java.sql.ResultSet columns = statement.executeQuery(q);
       // String sql =  ("SELECT BILL_PERIOD,REGION_CODE,EXCHANGE_CODE,PHONE_NO,GROSS_CURRENT_BILL,AMOUNT_PAYABLE,NET_ARRERS_AMOUNT,NAME,ADDRESS_1,ADDRESS_2,ADDRESS_3,ADDRESS_4,CONNECTION_TYPE FROM AOTS WHERE REGION_CODE ='"+REGION+"' AND (BILL_PERIOD BETWEEN '"+BILL_MONTH_FROM+"' AND '"+BILL_MONTH_TO+"') AND CONNECTION_TYPE='"+CONN_TYPE+"' AND EXCHANGE_CODE = '"+EXCHANGES+"' AND PHONE_NO='"+PHONE+"') " );
         //System.out.println("THE SQL QUERY = " + sql);
          //java.sql.ResultSet columns = statement.executeQuery(sql);
                                while(columns.next()){
                                String Phone_No = columns.getString("PHONE_NO");
                                String G_C_Bill = columns.getString("GROSS_CURRENT_BILL");
                                String Amount_Payable= columns.getString("AMOUNT_PAYABLE");
                                String N_A_Amount= columns.getString("NET_ARRERS_AMOUNT");
                                String Name= columns.getString("NAME");
                                String Address1= columns.getString("ADDRESS_1");
                                String Address2= columns.getString("ADDRESS_2");
                                String Address3= columns.getString("ADDRESS_3");
                                String Address4= columns.getString("ADDRESS_4");
                                String C_Type= columns.getString("CONNECTION_TYPE");
    %>
                                <TR>
                                <TD> <%=Phone_No %></td>
                                <TD> <%=G_C_Bill %></td>
                                <TD> <%=Amount_Payable%></td>
                                <TD> <%=N_A_Amount %></td>
                                <TD> <%=Name %></td>
                                <TD> <%=Address1 %>,<%=Address2%>,<%=Address3%>,<%=Address4%></td>
                                <TD> <%=C_Type %></td>
                                </tr>
                                <%}
    }%>
                                </table>
                                </body>
                                </html>

  • User Authentication using Servlet and JSp

    Hi,
    I am developing a web app where i need to implement user Authentication to allow members to view and upload files on a certain directory say /data
    For this i am using a servlet as a controller which then forwads request to other jsps/servlets based on user response. I tried using servlet mapping in web.xml so that all browser requests would be directed to controller servlet and would branch from there on. However the problem all RequestDispatcher.forward() requests redirected to the servlet putting it in a loop.
    Is there another way to achieve this. (Apart from using form-based Basic Authentication).
    I am using Resin 1.2.8 servlet/jsp container.
    Any response as soon as possible would be appreciated.
    Thanks,
    Kushagra

    RequestDispatcher.forward() cause the HTTP request to be sent through the request processing flow as if the original request for the resource being forwarded to.
    It seems the servlet mapping you are talking about in web.xml should be made more specific. i.e. the mapping should be such that only your so called controller servlet will match up.
    You might want to specify the mapping for the controller servlet to be noticeably/effectively different from the mapping for other servlets and JSPs.

  • How to use servlets and JSP for my homepage?

    servlets and JSP are server-side program. If my homepage is on some web-hosting websites, can I upload the servlets and JSP to run it? if possible, where can I find such a web-hosting place?
    sraiper

    Not many hosts offer JSP or Servlet support (and some do but then stop and never give you a refund, grrrrrrr!!!!).
    Also, ones that do support it can often be more expensive. There are some free ones but all the one's I've come across have problems that made them unsuitable for my needs.
    Here is a list of hosts that support Java:
    http://www.thejspbook.com/resources/category.jsp?id=1005&name=JSP+web+hosting
    I can't comment on any from that list, however I use http://www.positive-internet.com they are a bit pricey but they have excellent support and are always happy to help with any Tomcat (the JSP/Servlet server they use)configuration issues or needs that you may have.

  • Using javadoc and jsp

              I'm supposed to javadoc my application. Can this be done? Any advice or
              tips? References to documentation?
              Thanks
              

    I tried it out and it doesn't work. The jsp compiler inserts its own
              description before the class declaration. The rest of the information
              generated by javadoc is pretty much useless. Clearly javadoc and jsps were
              never meant to go together. Too bad.
              * This code was automatically generated at 11:01:15 AM on Dec 7, 2000
              * by weblogic.servlet.jsp.Jsp2Java -- do not edit.
              * Copyright (c) 2000 by BEA Systems, Inc. All Rights Reserved.
              "Jacob Meushaw" <[email protected]> wrote in message
              news:3a2fa46c$[email protected]..
              > That is a great question that I have been thinking about myself. Would it
              be
              > possible to use the "keepgenerated" parameter with the JSPServlet to
              > generate the straight java code from the JSPs and then run javadoc on
              those?
              > Or does the JSPServlet strip out all the comments?
              >
              > Just an idea,
              > -jacob
              >
              > "Peter Bismuti" <[email protected]> wrote in message
              > news:3a2f02c7$[email protected]..
              > >
              > >
              > > I'm supposed to javadoc my application. Can this be done? Any advice
              or
              > > tips? References to documentation?
              > >
              > > Thanks
              > >
              > >
              >
              >
              

  • How to create an InputSelect using ADF and JSP

    I looking for some docs/instructions on creating "an InputSelect using ADF with JSP".
    Thanks,
    BG...

    Ok here are the Steps
    1) Open the JSP editor for the page in Question.
    2) In the Data Control palette select the item that you want to become the poplist and change the "Drop As" poplist to "Single Select List"
    3) Drag the field into the page. You'll get an empty poplist which implements the <html:select> and <html:optionsCollection> tags.
    4) With the JSP editor still open click on the "UI Model" sub-tab in the Structure pane
    5) Select the field you've just dragged in - then right click to get the context menu and choose "edit"
    6) Change the List Binding Mode poplist to "LOV Mode"
    You're then taken into a couple of screens where you can select the Source VO for the poplist, and the destination dataset, along with the thing you want for the Label and the Value.

  • Any problem using bseg and bkpf tables

    For fico details i using  bseg  and bkpf  tables.
    I noted that programming is very difficult because of these tables are cluster table.
    plz give me other tables
    if i using these tables any problem will come?

    >
    mysvijai197715 wrote:
    > Hi Aniesh,
    >
    >            BSEG and BKPF are cluster tables. It contains transperant tables like BSIS, BSIK etc. For example to take vendor details usr the BSIK.If you use BSEG and BKPF it will take long time search. suppose your concern having lot of data means may be your server will get shutdown. So use only trasnperant tables like BSIS, BSIK etc.
    >
    >
    > Regards
    > R.Vijai
    Incorrect.  BKPF is a transparent table and not a cluster table and you can use it just like any other transparent table.  BSEG is a cluster table but there is no problem selecting from it so long as you use the key of BUKRS, BELNR, GJAHR - unless you are selecting a very large amount of data, but then this can cause problems when selecting from any type of table.
    The advantage of using BSEG over the other FI line item tables such as BSIS and BSIK is that it holds all the lines of an FI document while the others will hold only a subset eg BSIK will only hold lines that contain a vendor reference and BSAS holds only cleared GL account lines.  Though you can only use it when you have the key.  If you need to search on vendor, you can use BSIK as a starting point, but since I usually need to get hold of all the lines on an FI document, I then have to select from BSEG anyway.

Maybe you are looking for

  • My iPhone 4 is not showing up in the left USB port on my Retina MBP. It does, however, show up in the right port. Thoughts on why?

    It does not seem to matter if the computer is plugged into power, or if other devices are plugged into the other ports. Can anyone tell me why, or give me solution? Thanks Jtsmith

  • How do I flag a partition as bootable?

    I'm trying to install Ubuntu on my old Macbook Pro. I can't get it to work. 1. This is what I did first: I boot my portable up as a hard drive. I do this by holding down T upon startup, and see it as a hard drive on my working computer. 2. This is wh

  • CIN TAX PROCEDURE

    Can u pls. help me to know TAXINN procedure and creating a new tax code??

  • Where is Organizer in PSE 9?

    New MBA with LION; just downloaded PSE9 from app store and I'll be darned if I can find the pSE 9 organizer tab; its usually a blue tab on the upper right hand of the screen; if the adobe-apple fight has resulted in removing organizer or bridge from

  • App store account help.... Please

    I just recently had to change my email adress. I updated the information in iTunes under account settings, but when I purchase a app on my iPhone, it's still showing my old email. Can someone please tell me how to change my account info on my phone!?