java 启动浏览器的方法很多,我也是在参照了各位大神的基础上总结来的,希望对别的同学有帮助,感谢这位大哥
https://blog.csdn.net/zp357252539/article/details/77896257/,这里面讲的启动浏览器的方法很多,但是传递参数就不行了,
try {
Runtime.getRuntime().exec( "cmd /c start http://localhost:8012/admin/sysAdminOfPlatform.do?sysId=141);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这种方法只能传递一个参数,controller后台用 String id=request.getParameter("sysId");接收,后来我发现可以传递多个参数的放式,且启动的是默认浏览器
try {
//http://localhost:8012
String serverName=request.getServerName();
int port=request.getServerPort();
String url = "http://"+serverName+":"+port+"/admin/sysAdminOfPlatform.do?sysId=141&uesrId=1681&memberid="+m.getId();
java.net.URI uri = java.net.URI.create(url);
// 获取当前系统桌面扩展
java.awt.Desktop dp = java.awt.Desktop.getDesktop();
// 判断系统桌面是否支持要执行的功能
if (dp.isSupported(java.awt.Desktop.Action.BROWSE)) {
dp.browse(uri);
// 获取系统默认浏览器打开链接
}
} catch (java.lang.NullPointerException e1) {
// 此为uri为空时抛出异常
e1.printStackTrace();
} catch (java.io.IOException e1) {
// 此为无法获取系统默认浏览器
e1.printStackTrace();
}
根绝地址,传递多个参数,后台接收如下
Integer sysId=Integer.valueOf(request.getParameter("sysId"));
Integer userId=Integer.valueOf(request.getParameter("uesrId"));
Integer memberid=Integer.valueOf(request.getParameter("memberid"));
完美解决!