
I am facing following problem, I am trying to open a new browser using java. First i have opened one IE browser and manually. And i ran my LaunchURL.java file, it is opening new browser but with the same JSESSIONID of which IE browser window i opened manually. Her it is giving same JSESSIONID for both the windows(one is manually opened and another one is opened by my LaunchURL.java). But that is not my requirement. I have to open a new browser window with new JSESSIONID.
Here is my code:
LaunchURL.java
public class LaunchURL {
public static void main(String[] args) {
// TODO Auto-generated method stub
String url="http://10.64.174.166:8080/Popup/popup?phone="+9999999999l;
BareBonesBrowserLaunch.openURL(url);
}
}
BareBonesBrowserLaunch.java
import javax.swing.JOptionPane;
import java.util.Arrays;
public class BareBonesBrowserLaunch {
static final String[] browsers = {"google-chrome", "firefox", "opera",
"epiphany", "konqueror", "conkeror", "midori", "kazehakase", "mozilla","Microsoft Internet Explorer"};
static final String errMsg = "Error attempting to launch web browser";
>public static void openURL(String url) {
try { //attempt to use Desktop library from JDK 1.6+
Class> d = Class.forName("java.awt.Desktop");
d.getDeclaredMethod("browse", new Class[] {java.net.URI.class}).invoke(
d.getDeclaredMethod("getDesktop").invoke(null),
new Object[] {java.net.URI.create(url)});
//above code mimicks: java.awt.Desktop.getDesktop().browse()
}
catch (Exception ignore) { //library not available or failed
String osName = System.getProperty("os.name");
try {
if (osName.startsWith("Mac OS")) {
Class.forName("com.apple.eio.FileManager").getDeclaredMethod(
"openURL", new Class[] {String.class}).invoke(null,
new Object[] {url});
}
else if (osName.startsWith("Windows"))
Runtime.getRuntime().exec(
"rundll32 url.dll,FileProtocolHandler " + url);
else { //assume Unix or Linux
String browser = null;
for (String b : browsers)
if (browser == null && Runtime.getRuntime().exec(new String[]
{"which", b}).getInputStream().read() != -1)
Runtime.getRuntime().exec(new String[] {browser = b, url});
if (browser == null)
throw new Exception(Arrays.toString(browsers));
}
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, errMsg + "\n" + e.toString());
}
}
}
}
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.