Executing a batch file from a jsp
hi,
i have a jsp running on tomcat 3.1
now upon submit, i want a batch file to execute .
how do i do that..( i mean what will be the correct syntax for this ) say the batch file exists in /tomcat/batch/ do i have to give the abosolute path for this or a relative path will do.. ( if the relative path works then, do i have to mention a context for the batch directory in server.xml..
pls help.. this is urgent
thanx
Hi truptip,
This is the code to execute a batch file or any system command,
Process p = Runtime.getRuntime().exec("shell command you want to exit");
p.waitFor();
In regards to whether you should access it using a relative location, the answer is no. Execution of a batch file is not part of the the webserver, so the webserver's concept of the current directory for the client does not apply.
On a side note I wanted to say that I would highly recommend that you don't put the batch files anywhere on the webserver that is accessible to the user, not that the webserver would execute the code, but it may let out some information that you don't want available.
Hope this is of some help,
James
Similar Messages
-
Urgent : Executing a batch file in a JSP file
Hi;
I need help in executing a batch file within a jsp page, ive the following codes but it doesnt seem to work...
These are the codes :
<%@ page import="java.util.*,java.io.*,java.net.*" %>
<%@ page import="java.sql.*" %>
<%
Process p = Runtime.getRuntime().exec("Ratio.bat");
p.waitFor();
int i = p.exitValue();
%>
The following is the error :
ype Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.io.IOException: CreateProcess: Ratio.bat error=2
java.lang.Win32Process.create(Native Method)
java.lang.Win32Process.<init>(Win32Process.java:63)
java.lang.Runtime.execInternal(Native Method)
java.lang.Runtime.exec(Runtime.java:550)
java.lang.Runtime.exec(Runtime.java:416)
java.lang.Runtime.exec(Runtime.java:358)
java.lang.Runtime.exec(Runtime.java:322)
org.apache.jsp.invRatio_jsp._jspService(invRatio_jsp.java:52)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
Anyone can tell me why it doesnt work ?... ThanksAside from removing the "start" or adding the title ...
Does your batfile really say "SET PATH=%PATH%;%JAVA_HMOE%\bin"? If so, I rather expect you meant to say "JAVA_HOME" and not "JAVA_HMOE".
Also, I'd be cautious about those relative paths that you're passing in to the Java program. Of course I don't know what you're doing with those in the program, but if you try to just pass those paths to a File or InputStream constructor, they're going to be relative to the current directory. And if you execute a batfile using cmd from an exec that's within a JSP ... I'm not sure what your current directory would be when the bat runs. Maybe you've checked this out and it's the right place, but if not, perhaps you have a misconception there. -
Java.io.filepermission error while executing a batch file from java prog
Hi,
i want run a java program which executes a batch file, both are in a jar file. while am trying this using webstart it shows error:access denied java.io.filepermission <<ALL FILES>>execute. why this happens how to rectify this.
By
VinodClearly, it would be a security vulnerability to be able to do such a thing from the web w/o user granting trust to the application.
Java Web Start applications run in the Java SE secure sandbox unless they have been granted all-permissions by the user:
1.) sign all jar files.
2.) add <security><all-permissions/></security> to the jnlp file.
The user would then be prompted to grant trust to the applications.
/Andy -
How can I execute a batch file from my java program
Hi,
Can someone help me or direct me to a link,
How can I execute a DOS batch file from my java program?
ThanksYou will need to grab a handle to the process's
outputstream so u can see its output.The OP didn't mention any output from any batch file;
nor any input for that
matter,so lets not complicate matters here for now
ok?Actually I think this is essential to see whether it works or not. It's either that or do some manual check to see whether it ran, which is not exactly elegant, and in some cases this may not be easier than simply writing the output stream code, or in fact it may be impossible to check manually.
I'm sure it wasn't intentional that your post appeared to be bristling with attitude. -
It is possible to execute a batch file from a business service
Hi,
I am developing on inbound batch interface. The interface will be trigged by a batch file and I want to invoke that batch file from within Siebel. To this I've written a business service that uses the Clib.System() method to launch the batch file but I don’t know how don’t send row id as an input with that.
Please correct me below script is correct or not,
var ret = Clib.system(“C:\\SEA752\\siebsrvr\\Batch\\CreditCard.exe \I “ + sRowId);
Regards,
Sankar.PHi,
You might want to post this in [Siebel Forum|http://forums.oracle.com/forums/category.jspa?categoryID=151]
-Arun -
Executing the batch file from SQL Server Agent job
Hi - I have a simple batch file (.bat) which connects the SFTP server and drop the files to location machine. When I run the .bat file manually its working fine but when I schedule it in SQL Agent its keep on running and never shows success message.
Could you please tell me how can i resolve it. Its very urgent for me.
thanksIf you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n) Remote working directory is /
When you connect via putty you get prompted to accept a key in interactive mode. At this point your batch file is waiting for someone to type in y or n.
Try running putty in batch mode to get around this.
http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html#6.1.8
6.1.8 -batch: avoid interactive prompts
If you use the -batch option, PSFTP will never give an interactive prompt while establishing the connection. If the server's host key
is invalid, for example (see section 2.2), then the connection will simply be abandoned instead of asking you what to do next.
This may help PSFTP's behaviour when it is used in automated scripts: using -batch, if something goes wrong at connection time, the batch
job will fail rather than hang. -
Executing a batch file from oracle
Hi ,
I just want to execute a windows .BAT file using a .SQL script from a Unix server.
please guide meAnd I just want world peace, but I think that both of us are going to be disappointed.
Taking Oracle and SQL out of the equation for a minute, are you able to execute a Windows .BAT file on a Unix server?
This may not be as silly as it sounds, because using cygwin, I am able to execute Unix scripts on Windows, though why anyone would port Windows command line (in) capabilities to Unix is beyond me. -
How to execute batch file from JSP
hi frens !
i wanna know how to execute batch file from my JSP.i am using exec() method to get call the batch file. but its not working ....plz help
here mine code:-
File F = new File("C:/var.bat");
try{
if (F.exists())
Runtime rt = Runtime.getRuntime();
String url=F.getAbsolutePath();
Process proc = rt.exec(url);
proc.waitFor();
proc.destroy();
catch(Exception IOEx){
System.out.println(IOEx);
}Thanks and Regards
AllwynYou might improve your chances of getting help if you do two things:
1) Explain what "not working" means.
2) ChangeSystem.out.println(IOEx); to IOEx.printStackTrace(); (in the eventhat is in fact related to "not working"). -
Execute a .cmd file from Java program on tomcat which is running as service
I have a .cmd/,.bat file which has to be executed depending on the parameters I pass through JSP page hosted on a tomcat instance.
Tomcat is running as a windows service.
I need my .cmd file to be opened in a cmd or DOS box so that user can interact with the dos window, which is mandatory.
When I run the program from eclipse it works well but on the tomcat , the server side the output of the command is written to my log file and it gives no chance for users to monitor and interact with the command.
Should I do something with log4j settings or is due to tomcat running as service?
Please help.
thanksthanks for the responses.
But the design is like that.Then it needs to be fixed.
I think this is why there's a shortage of people to write computer applications, they are all wasting their time struggling to implement bad designs.
its a scheduler to be run on tomcat where we interact
with the running batch files and can't be changed.A scheduler in Tomcat? Why run a scheduler in an application server?
any help is appreciated.
I tried to execute the batch file from servlet it
runs , but i see the cmd.exe in windows task manager
and need a dos box open.
Any ideas?If you need a DOS box open then you need a signed-on user. So here's my patch:
1. Write an application that listens for messages from this Tomcat scheduler, and when it receives those messages it does something in a DOS box.
2. Have somebody sign on to the server and run that application.
3. Change the Tomcat scheduler to send messages to that application instead of trying to actually run it.
It's up to you what kind of messages you should send. There are plenty of choices. -
URGENT:- Running a batch file from java program
Author: pkanury
I am trying to execute a batch file from my java program using RunTime and Process . It can execute any dos command except for a batch file. Can anyone throw
some light ?? My code looks like this .....
cmd = "command.com /c X:\\grits\\scripts\\test.bat"; Runtime rt = Runtime.getRuntime(); Process p = rt.exec(cmd);
The weird part is that p.waitFor() returns a status of 0 implying that the cmd has been executed successfully. But that is not the case. And my batch file is as simple as - type "ADADA" > junk.txt
Any help would be appreciated.I think it should work when you use a String[] array
instead of a single String:
String[] cmd = { "command.com", "/C", "D:\\batch\\do.bat" };
Note: If the batchfile creates any output (i.e. files),
they will be stored in the directory of the application
which calls the batch file, not in d:\batch\... -
How to run a batch file from within an Oracle 9i Form?
Hi, I would like to execute a batch file from within an oracle form - I'm assuming there's some PLSQL command I can use? I am not allowed to use any third party libraries, and I'm hoping I can get away without having to progam any C or Java to do it. I don't want to run my java program from my form, but my lecturer is insisting on it.
Can anyone help?
Thanx
AdamCan u give me an example
I need to run a batch files that does a series of step doing dir ( in 3 different folders)
after each one it shows on screen with a pause & user press enter
can this work out ? -
How to Run Batch files from inside Reports.
Hi All,
I have 2 questions.
1) How to change the direction of the reports with Arabic orientation i.e Right to left Change without changing the registry.
2) How to execute a batch file from report or before execution of the report i.e before opening the report.
I want to set few environmental variables before opening the report. How do i achieve this?
Request the forum community to discuss and help me out on this issue.
Thanks in advanceThanks Inol
Though my report is running NLS variable values given in the batch file is not getting picked.
Here is my batch file contents. My NLS Variables are not getting picked in the reports. I want that to be picked up and the reports orientation should change automatically as per the NLS variables given in the batch file.
Please go through my batch file code.
set NLS_LANG = AMERICAN_AMERICA.UTF8
set NLS_CALENDAR = GREGORIAN
set NLS_DATE_FORMAT = dd/MON/yyyy
set FORMS60_PATH = <Enter Relevant Path>
set REPORTS60_PATH = <Enter Relevant Path>
set PATH=%PATH%;c:\forms6i\bin
set ORACLE_HOME = c:\forms6i
set TNS_ADMIN = c:\forms6i\NET80\ADMIN\TNSNAMES.ORA
rwrun60.exe d:\DOTNETORION17_bin\elist_rg1.rdf userid=scott/tiger@thai P1=10Please help me out in getting this value picked and run the report. -
I want to execute a batch file which is located at d:\build from a jsp
I also want to give parameters to batch file.
Actually my batch file is demo.bat and i want to execute this command via jsp
demo Compile devin a word - don't. that's not what jsps are for.
you sound confused about where jsps actually run. get client and server straight in your head and then think about it again.
% -
How to execute java batch file in JSP
Kindly give a solution. I want execute a batch file which gives a preview window ,. I want call that batch file in my jsp, .I am using Tomcat 5.5, I have tried that using a Process object and Runtime.getRuntime().exec(path) , where path is location of my batch file. As a java class i could execute the batch file, but when i import the method in JSP nothing is happening (even no jsp error).
Is it possible to execute the batch file in JSP?
Can any one help me?itsdhanasaraa wrote:
But as this a web application ... By using Runtime i'm getting some probs ..
Let me guess, you want your web application to run a program on the client and to your surprise that's not working?
Ain't gonna happen.
its taking more time to execute .... that's y is there any other option to execute .exe file other than Runtime.getRuntime().exec("filename");Write proper English and you may be taken more seriously.
1) it's not "taking more time to execute", whatever that's supposed to mean.
2) there's no other way to execute something. Not that you should every use even that way anyway
3) whenever you start thinking of executing external programs from Java, start thinking of not using Java in the first place. -
Executing batch file from Java stored procedure hang
Dears,
I'm using the following code to execute batch file from Java Stored procedure, which is working fine from Java IDE JDeveloper 10.1.3.4.
public static String runFile(String drive)
String result = "";
String content = "echo off\n" + "vol " + drive + ": | find /i \"Serial Number is\"";
try {
File directory = new File(drive + ":");
File file = File.createTempFile("bb1", ".bat", directory);
file.deleteOnExit();
FileWriter fw = new java.io.FileWriter(file);
fw.write(content);
fw.close();
// The next line is the command causing the problem
Process p = Runtime.getRuntime().exec("cmd.exe /c " + file.getPath());
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = input.readLine()) != null)
result += line;
input.close();
file.delete();
result = result.substring( result.lastIndexOf( ' ' )).trim();
} catch (Exception e) {
e.printStackTrace();
result = e.getClass().getName() + " : " + e.getMessage();
return result;
The above code is used in getting the volume of a drive on windows, something like "80EC-C230"
I gave the SYSTEM schema the required privilege to execute the code.
EXEC DBMS_JAVA.grant_permission('SYSTEM', 'java.io.FilePermission', '<<ALL FILES>>', 'read ,write, execute, delete');
EXEC DBMS_JAVA.grant_permission('SYSTEM', 'SYS:java.lang.RuntimePermission', 'writeFileDescriptor', '');
EXEC DBMS_JAVA.grant_permission('SYSTEM', 'SYS:java.lang.RuntimePermission', 'readFileDescriptor', '');
GRANT JAVAUSERPRIV TO SYSTEM;
I have used the following to load the class in Oracle 9ir2 DB:
loadjava -u [system/******@orcl|mailto:system/******@orcl] -v -resolve C:\Server\src\net\dev\Util.java
CREATE FUNCTION A1(drive IN VARCHAR2) RETURN VARCHAR2 AS LANGUAGE JAVA NAME 'net.dev.Util.a1(java.lang.String) return java.lang.String';
variable serial1 varchar2(1000);
call A1( 'C' ) into :serial1;
The problem that it hangs when I execute the call to the function (I have indicated the line causing the problem in a comment in the code).
I have seen similar problems on other forums, but no solution posted
[http://oracle.ittoolbox.com/groups/technical-functional/oracle-jdeveloper-l/run-an-exe-file-using-oracle-database-trigger-1567662]
I have posted this in JDeveloper forum ([t-853821]) but suggested to post for forum in DB.
Can anyne help?Dear Peter,
You are totally right, I got this as mistake copy paste. I'm just having a Java utility for running external files outside Oracle DB, this is the method runFile()
I'm passing it the content of script and names of file to be created on the fly and executed then deleted, sorry for the mistake in creating caller function.
The main point, how I claim that the line in code where creating external process is the problem. I have tried the code with commenting this line and it was working ok, I made this to make sure of the permission required that I need to give to the schema passing security permission problems.
The function script is running perfect if I'm executing vbs script outside Oracle using something like "cscript //NoLogo aaa1.vbs", but when I use the command line the call just never returns to me "cmd.exe /c bb1.bat".
where content of bb1.bat as follows:
echo off
vol C: | find /i "Serial Number is"
The above batch file just get the serial number of hard drive assigned when windows formatted HD.
Same code runs outside Oracle just fine, but inside Oracle doesn't return if I exectued the following:
variable serial1 varchar2(1000);
call A1( 'C' ) into :serial1;
Never returns
Thanks for tracing teh issue to that details ;) hope you coul help.
Maybe you are looking for
-
Duration problem with animated gif
Hi! I love the animated gif feature and have used it several times successfully. This time, it seems to ignoring my settings for duration. I've set the number as high as 1500/100, but when I preview in browser (Mac Safari or Firefox), the images just
-
Is CUOM 2.3 able to Support CUCM 7.1.5
Hi, I am looking at the supported CUCM by CUOM 2.3 at the following link: http://www.cisco.com/en/US/docs/net_mgmt/cisco_unified_operations_manager/2.3/device_support/table/OMdvs23.html#wp97691 The supported CUCM version are 4.1, 4.2, 4.3, 5.0, 5.1
-
Greetings, I have Adobde Design Suite CS5. I have also purchased Adobde Creative Suite 5 Bible. I have read chapter 22 (Designing and Modifying Layouts) - Establishing an InDesign Layout - Page versus Spreads - working with Pages and Spreads... H
-
Computer crashed, can't transfer old songs to new harddrive. Help?
My old Dell w/ Windows XP crashed and Dell sent me a new harddrive that I installed on my computer. All my songs are on my IPOD Nano (3rd Gen) and I want to transfer the music from my Nano to the computer with the new harddrive, but when I hook up th
-
I have redeemed my iTunes card every time I click to buy a song it goes to a credit card screen. Plz help I've tried everthing