swing - calling stand alone java application from a java servlet -
i new java. have been trying java application development.
i have created stand alone java application. basic calculator application basic operations addition, subtraction, multiplication , division. developed using java swings , awt.its gui
i have java servlet application takes 2 inputs (numbers) user , returns result. whatever basic calculator does, servlet can such operations on numbers , return result client web browser. (client html file)
instead of servlet doing operations, want invoke(from servlet) stand alone application operations , return result servlet. servlet returns result client. possible call stand alone java application servlet. if different ways?
to invoke application,you have write bat or sh file based on operating system. -- invoke command using processbuilder -- sample code match requirement
if (osname.indexof("nux") >= 0 || osname.indexof("nix") >= 0) { //for sending request sh file filepath = request.getsession().getservletcontext().getrealpath("")+"/web-inf/classes/"; cmdlist.add("sh"); cmdlist.add("calldesktopapp.sh"); cmdlist.add(path); } else { // windows string jrepath=""; string f="c:/windows/syswow64"; if(new file(f).exists()) { jrepath="c:\\program files (x86)\\java\\jre6\\bin\\java"; jrepath="\""+jrepath+"\""; } else { jrepath="c:\\program files\\java\\jre6\\bin\\java"; jrepath="\""+jrepath+"\""; } filepath = request.getsession().getservletcontext().getrealpath("")+"\\web-inf\\classes\\"; cmdlist.add("cmd"); cmdlist.add("/c"); cmdlist.add("calldesktopapp.bat"); cmdlist.add(path); cmdlist.add(jrepath); } pb=new processbuilder(cmdlist); pb.directory(new file(filepath)); process = pb.start(); //read out dir output inputstream = process.getinputstream(); inputstreamreader isr = new inputstreamreader(is); bufferedreader br = new bufferedreader(isr); string line; while ((line = br.readline()) != null) { system.out.println(line); } br.close(); is.close(); isr.close(); }
hope may you.
Comments
Post a Comment