Calling java application from jsp using onUnload
I have tried to find the answer to this by searching many jsp, js and java forums, but have not had much luck. I hope someone here can help out. I have written a jsp page that passes a sql string to a java application when it loads. That application creates an xml file (a report) and returns the filename, which is the target of an onclick event. What I want to do, is to delete the file when the page unloads. I have written a separate application that will delete the file, but onclick and onunload events apparently only take JavaScript commands. I have tried to embed the jsp code into an onunload event, but it runs when the page is originally loaded. In addition, I created a separate jsp page that deletes the file, and I call that page onunload using window.open(). I can set that page to self.close(), but I can't get the page to not show itself. Even if I set the height and width to 0 (or 1), it seems to appear 100X100. Can anyone give me any suggestions on what to do in this situation? Thanks.
When my jsp page loads, I create the file using this code:
String filename = printtasktest.createxml(closed,encodedSQLString);
printtasktest is a java application on the server, that
creates a file on the server, and passes the filename back to the jsp page. Later I use this filename as a target of an onclick event:
<div class="button" onclick="printTask('<%=filename%>')">Print This Page</div>
printTask() is a javascript function that opens the printable page using window.print() and self.close().
The problem I have is that the file hangs around after, and I want to delete it when the user leaves the page.
Similar Messages
-
Calling java application from servlet using servletexec servlets
We are using servletexec 3.0,IIS 5.0, sun Java SDK 1.3.1_12.
I have a servlet which works fine. This servlet is being called from the submit of the form in a html file.
It works fine.
But now i have to use a third party credit card application from my servlet.How can i do that.
I have added the third party jar files in the classpath of servletexec.
How can i use their methods.
Please let me know.Something like this ?
import thirdparty.*;
import javax.servlet.http.*;
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) {
ThirdPartyClass t = new ThirdPartyClass();
t.someMethod();
} -
How to call Java Beans from JSP (eg.put them in a WAR or package)
Can anyone explain to me what are the steps and ways to call java beans from JSP?
1st, put the javabean classes in the right place:
the web-inf/classes/your_bean.class directory of corresponding web application
2nd in your jsp page:
<jsp:useBean id="obj_var_name" class="your_bean"/>
<jsp:setProperty name="obj_var_name" property="smthg" value="smthg_calue"/>
Micheal -
Calling Java API from ABAP using JCo (Part 2)
Hello,
This is an additional question to thread Calling Java API from ABAP using JCo
Has anyone managed to get the input parameter value
input.getString("REQUTEXT")
that is being passed from ABAP?
If yes, what kind of setting you need to do? Because when I execute, it has no value.
Thus, the below ECHOTEXT parameter returns blank value:
output.setValue(input.getString("REQUTEXT"),"ECHOTEXT");
When I debug by printing the below line, the input XML is indeed without value:
System.out.println(input.toXML());
Anybody knows how to pass input variable from ABAP to JAVA using JCo?
rgs,
hiroshiHallo Hiroshi,
as far as I can see, you are doing it the right way. The problem might be that the ABAP program does not fill in this parameter because something went wrong in the SAP System.
Have you tried setting a breakpoint (an HTTP session - remote breakpoint) and tried checking step by step if the value is being processed and put into the REQUTEXT field?
Bye,
Sameer -
Calling java class from jsp page
Dear Friends.
I wrote jsp page and java class.
Am calling java class from jsp page. after processing result,
I have to refresh jsp page from java class.
processing time may take 5 minutes or 1 minute etc. that depends on user.
Can It be possible ? if possible , How ?Ok, I get a very strange error now:
org.apache.jasper.JasperException: Unable to compile class for JSPerror: An error has occurred in the compiler; please file a bug report (http://java.sun.com/cgi-bin/bugreport.cgi).
What is this??? Anyone? -
Calling Java application from servlet
Hi !
I'm trying to run a Java application from within a servlet with Tomcat 4. I'm using the Runtime.getRuntime ().exec () method. So the application is run in a different JVM as a subprocess of the servlet. I use ObjectInputStream and ObjectOutputStream and a serializable object to enable communication between the servlet and the application.
I tested the application and the serializable object with another Java application that works as the caller and it works fine. However, replacing the caller application with the servlet I get a StreamCorruptedException. The structure of the caller application and the servlet is the same.
My questions are:
- Is there something I should configure in Tomcat to create a subprocess ?
- What is the cause of the StreamCorruptedException ? How do I get it with the servlet and not with the application ?
- Should I use an environment with the call to Runtime.getRuntime ().exec () ? How do I use it ?
- Is the called application forced to run in my servlet's context ?
- Is there a better way to do this ?
Thanks to allHere's my code:
1. The serializable object:
// Object Obj
import java.io.*;
public class Obj implements Serializable
public int n;
public Obj ()
n = 0;
public Obj (int n)
this.n = n;
public String toString ()
return getClass ().getName () + " -> (n = " + n + ")";
2. The application Sub (subprogram)
// Application Sub
import java.io.*;
public class Sub
private static File f;
private static FileWriter fw;
public static void main (String [] args)
throws IOException, InterruptedException, ClassNotFoundException
ObjectInputStream ois;
ObjectOutputStream oos;
Obj obj;
ois = new ObjectInputStream (System.in);
obj = (Obj) ois.readObject ();
f = new File ("Sub.txt");
fw = new FileWriter (f);
fw.write (obj.toString ());
fw.close ();
oos = new ObjectOutputStream (System.out);
oos.writeObject (obj);
ois.close ();
oos.close ();
3. The application AMain (caller application)
// Application AMain
import java.io.*;
class AMain
private static File f;
private static FileWriter fw;
public static void main (String [] args)
throws IOException, ClassNotFoundException
Runtime r;
Process p;
ObjectInputStream ois;
ObjectOutputStream oos;
Obj obj, obj2;
r = Runtime.getRuntime ();
p = r.exec ("java Sub");
oos = new ObjectOutputStream (p.getOutputStream ());
obj = new Obj (5);
oos.writeObject (obj);
oos.flush ();
B.comunica (obj);
System.out.println ("AMain sends to Sub: " + obj.toString ());
try
p.waitFor ();
catch (InterruptedException e)
System.out.println ("Subprogram was interrupted");
System.out.println (e.toString ());
ois = new ObjectInputStream (p.getInputStream ());
System.out.print ("Sub sends to AMain: ");
obj2 = (Obj) ois.readObject ();
System.out.println (" " + obj2.toString ());
oos.close ();
ois.close ();
p.destroy ();
4. The servlet SMain (the calling servlet)
// Servlet SMain
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.io.*;
import java.util.*;
public class SMain extends HttpServlet
public void doPost (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
Runtime r;
Process p;
ObjectInputStream ois;
ObjectOutputStream oos;
Obj obj, obj2;
int state, i;
res.setContentType ("text/html");
ServletOutputStream out = res.getOutputStream ();
out.println ("<html>");
out.println ("<head><title>Sub</title></head>");
out.println ("<body>");
out.println ("Invoking subprogram...");
out.println ("<br>");
try
r = Runtime.getRuntime();
p = r.exec ("java -cp .;c:\\Programs\\Apache~1.0\\webapps\\SMain\\WEB-INF\\classes Sub");
out.println ("...invoked<br>");
oos = new ObjectOutputStream (p.getOutputStream ());
obj = new Obj (5);
oos.writeObject (obj);
oos.flush ();
out.println ("<br>SMain sends to Sub: " + obj.toString () + "<br>");
try
p.waitFor ();
catch (InterruptedException e)
out.println ("<br>Subprogram was interrupted<br>");
out.println ("<br>" + e.toString () + "<br>");
state = p.exitValue ();
out.println ("<br>Subprogram state: " + state + "<br>");
ois = new ObjectInputStream (p.getInputStream ());
out.print ("<br>Sub sends to SMain: ");
obj2 = (Obj) ois.readObject ();
p.destroy ();
catch (SecurityException e)
out.println ("<br>SecurityException<br>");
out.println ("<br>" + e.toString () + "<br>");
catch (IOException e)
out.println ("<br>IOException<br>");
out.println ("<br>" + e.toString () + "<br>");
catch (Exception e)
out.println ("<br>Exception<br>");
out.println ("<br>" + e.toString () + "<br>");
out.println ("</body>");
out.println ("</html>");
So, as you can see, both application AMain and servlet SMain invoke application Sub and pass it the serializable object Obj. Oddly enough, application AMain works fine whereas servlet SMain throws a StreamCorruptedException exception.
johnpoole said:
�It's hard to guess what would cause the exception without seeing code, but the interaction between the processes would differ from that between two applications, because the servlet process is started with a different class loader. I'm not sure which one the jvm started by the call would use.�
How can I enforce that a System classloader be used in the call to Runtime.getRuntime ().exec () ? (I mean by System classloader a classloader equals to the one applications are launched from console).
johnpoole said
�Is there a reason why you aren't starting the second process manually and then connecting to it on a port?�
The idea is providing a Web interface for an application running in the server. The servlet is used to restrict access to this application but once access is granted (passing the servlet) the application should not be constrained. -
Calling Java Application from another
How can i call a Java Application from another java App.
eg., If my Java application is called MyApp and i would like call another java application from within it.
One way could be by using "System". I would like to know if there is any other method and is portable.
Thanks in advance.hi,
it works and not!
if you start an other class with a command like this the 2nd prog/class terminates too if you terminate the caller-class!
dear
oliver scorp -
Calling Java API from ABAP using JCo
I need to call Java API from ABAP & BSP also. For this I have got useful information related to JCo from following blog:
/people/gregor.wolf3/blog/2004/08/26/setup-and-test-sap-java-connector-outbound-connection
But, I am facing one problem. On executing Java program myExample5.java (recommended by Gregor Wolf) from command line I get following error message:
Server JCOSERVER01 changed state from [ STOPPED ] to [ STARTED ]
Exception in server JCOSERVER01:
com.sap.mw.jco.JCO$Exception: (129) JCO_ERROR_SERVER_STARTUP: Server startup failed at Thu Apr 26 13:46:32 IST 2007.
This is caused by either a) erroneous server settings, b) the backend system has
been shutdown, c) network problems. Will try next startup in 1 seconds.
Connect to SAP gateway failed
Connect_PM TPNAME=JCOSERVER01, GWHOST=gateway, GWSERV=3300
LOCATION CPIC (TCP/IP) on local host
ERROR hostname 'gateway' unknown
TIME Thu Apr 26 13:46:32 2007
RELEASE 640
COMPONENT NI (network interface)
VERSION 37
RC -2
MODULE ninti.c
LINE 336
DETAIL NiPGetHostByName2: hostname 'gateway' not found
SYSTEM CALL gethostbyname_r
COUNTER 1.
Can anyone please help me out. Do I need to do any setting?
I'll surely reward points.
Thanks & Regards,
Nilesh KumarHi Nilesh,
From the error i think that the error is with the hostname.
Please enter the the Application Server IP/Hostname.
If you are loggin to SAP System "XX1" from SAP GUI. Then click the change Item tab and see Application server name/IP let say "XX2" for hostname or "xx.xx.xx.xx" for IP.
Replace <i>srv[0] = new Server("gateway","sapgw00","JCOSERVER01",repository);</i>
with <i>srv[0] = new Server("XX2","sapgw00","JCOSERVER01",repository);</i>
If App Server is IP then replace with
<i>srv[0] = new Server("xx.xx.xx.xx","sapgw00","JCOSERVER01",repository);</i>
Let me know if it is throwing any error.
Thanks,
Prashil -
How to call java bean from jsp
hi
How to call a java bean from jsp page..
Is any other way to call javabean from jsp page apart from this sample code...
<jsp:useBean id="obj" class="com.devsphere.articles.calltag.TestBean"/>
thnx in advanceIf you also use servlets, you can attach beans to the request or session and use them directly in your JSP's. So if you do:
request.setAttribute("name", yourBean);and then forward to a JSP, you can reference the bean like:
${requestScope.name} -
Executing a java application from c++ using jni
hi,
how do i execute a java application from c++ ?. it should behave similar to typing 'java abc.class' at the dos prompt.
i've done up till recognizing the method id. GetStaticMethodID(). I tried using CallStaticVoidMethod() but didnt work. are there any other methods i should be using?Look at the source code to the "java" command that is included in the sources that come with the JDK. Since it is the exact code that is run when you type java at the command line, it should be close to what you want.
-
Calling a external Java method from JSP - using Tomcat server
Hi all,
I am trying to call a method in an external Java file from my JSP. I am using Tomcat server.
I have my class within the package package "mypackage" and it is called myclass.class. It has only one static method mymethod() which reads from a file and writes to a file.
I compiled the java class and I put the class file under webapps/ROOT/web-inf/classes/mypackage/myclass.class
I am trying to say something like this from my JSP file(which is under webapps/ROOT) :
<%@ page import = "mypackage.myclass"%>
<% myclass.mymethod(); %>
I am not instatiating the class as its a static method.
This is what I get while accessing my jsp file :
javax.servlet.ServletException: try to access class mypackage.myclass from class org.apache.jsp.index_005ftest_jsp
To put my problem in a nutshell, Can someone guide me how to access a method of an external class from a JSP page? I have a bunch of pages doing the same operation so I thought I would have it in a method and call it from every page. Even though I tried to put the file under web-inf/classes, The JSP is not able to see the class.
Please help.
Thanks
-UdayI have a situation that is a bit similar. I have successfully used beans for storing methods used in JSPs and used by other methods in the same class as was suggested above. Now I would like to break some methods into another (utility) class since they are lower level and can be used by lots of things. They are for database operations (given a String query and String dbname, it queries and returns ResultSet for example). I want to have them in a separate class for reusability and OOP.
I am having problems calling those public static methods in the public class from my bean that communicates with the JSP. I can't compile the class that calls the method in the database ops class. I get an error like :
loginHelper.java:45: cannot find symbol
symbol : variable sqlHelper
location: class dbHelperBean.loginHelper
and when I include the package name in the call I get
loginHelper.java:45: cannot find symbol
symbol : class sqlHelper
location: package dbHelperBean
That's strange since the package of both classes is dbHelperBean and the class is indeed called sqlHelper. I tried to compile it in the same directory as sqlHelper as well. What am I doing wrong?
Thanks for any help. -
Calling java application from Oracle forms button
Hi all,
I have a problem. The idea is to call Java desktop application when button is pressed. I have used this (above) line of code, but there is no results. When I start form in local everything is fine but when I start from server it doesn't work. Does anyone has that kind of problem and how is solved?
Thanks in advance.
__Code is:__
DECLARE
v_path VARCHAR2(1000);
BEGIN
v_path:= '\\location\Java_Application.jar';
HOST(v_path);
END;First, please start here:
http://blogs.oracle.com/shay/2007/03/02/
As for what you are doing and the problem, it will be difficult to give an exact reason, but here are a few comments which will apply regardless of the platform, version, and installation type.
1. In most case, when calling HOST from Forms the shell that is started does not include all of the system environment variables. This means for example, if a java.exe is needed (on Windows), you would need to specify its path as part of the call or use a batch file rather than calling a command or app directly. The batch file would first set all the needed environment variables (i.e. PATH, CLASSPATH, etc)
2. If you are running a newer version of Forms, you have a middle tier. This is were your HOST call will be executed. So, if you are expecting this to occur on the client it will not work. You would need WebUtil for client side calls.
3. Calling a network resource (i.e. shared drive) is not permitted on Windows platforms when called from a Windows Service. Doing so can be seen as a security vulnerability. This can be overridden, but I would suggest that doing so is not a good idea. All files needed to run your app should be made available locally. If files exist on a remote machine, they should be temporarily brought to the machine (e.g. using ftp, sftp, etc) where they are needed and removed later if necessary. If you are running a newer version of Forms, the Forms runtime process belongs to a Windows Service, even if indirectly as a child.
4. Calling a jar directly is not the proper way to call a java app. Refer to the following:
http://download.oracle.com/javase/tutorial/deployment/jar/run.html -
Calling report application from jsp
Hi,
I am designing a JSP that captures search parameters. The user will enter words contained in a company name and product codes. This triggers the jsp to display all matches on the same page. My question is how do I call a portal report application from within the jsp and pass the parameters? Also, I would like to change the column condition relational operator for the date parameters.
Thanks for any help,
EdHi,
I found that when i changed the permissions on the following directory to 777 the error in weblogic went away.
/local/apps/boxir2/boinstall/bobje/data/<domainname>.pageserver
However i still have the web page error when i try to load a crystal reports document that is:
An error occurred while creating a Page Server subprocess.
Any help with this would be great.
Thanks -
Call Web Applications from Xcelsius using LiveOffice connections
Hi,
I have read the HTG: "How To... Call BEx Web Applications from SAP BusinessObjects Dashboards (Xcelsius) and vice versa" here on SDN. Problem is that it is using BW Connection as connection.
Is it be possible to call web applications using Live Office connections?
Br,
SonniHi Sonni,
If you are building dashboard using live office connection and you want to give a drill down to detailed webi or crystal report, you can use Open document interface. In the particular HTG you have mentioned, Open document approach is not possible because dashboard is based on SAP BW. Since you are using live office, i guess you have the source report published in BOE and you can use open document approach here.
If this is not your requirement please mention your exact requirement.
Hope it helps you.
Regards,
Nikhil Joy -
Start java application from jsp?
is there any way i can have a JSP, bean or servlet start a java application on the server? maybe a better question is: what can i do to make sure that some class is always running on my javaserver? im talking about the server app. for a chat program that im making that will be an applet in a JSP page along with a load of other JSP pages that do other things...
sorry for my incoherence. i usually talk better than this. :)
Lazjust replying so the message comes to the top of the forum... can anyone help me here?
Thanks
Laz
Maybe you are looking for
-
How do I turn privileges back on?
After a Software Update all of the privileges in my original user's files have been turned off. (The Mac has created a new user, which is what it is running under.) To see how deep the problem went, I turned the privileges on for one folder, and ever
-
I tried to launch photoshop CS 5.1 design premium suite. It did not launch.( Have not had a problem before this) Received a message which said that I had to uninstall it and then reinstall....but first had to download Java se6. I installed Java... i
-
6.0 audit provider class location
Hi, I have been using 6.0 with my application deployed in the default web application. I have a class which implements audit functionality which is located in the classes directory within DefaultWebApp_myserver/WEB-INF I am also using that audit clas
-
Adjust page size dynamically ?
Hi, i have a page with 2 iView created from PAR (URL isolation mode), i need the page to dynamically adjust the size to fit with the size of both iView together. At this point i set the height type to automatic, but when the iView reached its maximum
-
Problems with the par file of Browse Deployment
Hi, I had an error message with the com.sap.portal.support.browse.default in Browse deployment, that this iView is not found. Fortunately I had a file with the same name, so I uploaded it, but it was the wrong one (Why do they all have the same file