本人现遇到一问题,我是java白痴,望详细指导。
当链接到xxx.jsp文件时 该jsp文件调用了java代码。 我想在xxx.jsp文件调用运行该java文件时,把JAVA_HOME的路径临时改变成指向java32bit(我环境默认的是java64bit,但是该java代码必须通过java32bit来运行). 请问在jsp代码中怎么样实现(能实现这功能吗???)
当链接到xxx.jsp文件时 该jsp文件调用了java代码。 我想在xxx.jsp文件调用运行该java文件时,把JAVA_HOME的路径临时改变成指向java32bit(我环境默认的是java64bit,但是该java代码必须通过java32bit来运行). 请问在jsp代码中怎么样实现(能实现这功能吗???)
解决方案 »
- 如何往JMPM注入Connection
- JSp报错 org.apache.jasper.JasperException: An exception occurred processing
- 帮我看看jsp分页的显示哪里有问题,它只显示一行数据,我想让它循环显示多行数据
- jsp数组取值范围是多少??
- 民女有礼了,初学JSP,想知道怎么把自动增长的ID在servlet中存放到session中去,然后取出来,最好贴点小代码:))
- com.borland.primetime.util.AssertionException: gbk 是什么错误,如何解决,谢谢!
- JSP 简单问题在于!!!!
- java ServletResponse 发送mime数据问题(解决了马上结帐!)
- 用ResultSet接口的next方法时,为什么从数据库查询的结果不按顺序显示
- 急求servlet中的ResultSet传到jsp中如何显示输出?
- 一个简单的bbs论坛
- jquery easyui的datagrid如何实现多列排序
1、将该32bit程序单独用另一个JVM启动,然后提供远程调用方法,比如WS或EJB啥的;
2、在JSP中,用Runtime来借助32bit的JVM独立运行该Java文件,并通过getInputStream()或其它方式搜集运行结果。
我看第二种方法还挺靠谱的,怎么用runtime来借助32bit的JVM独立运行该java文件呢。
单独用io流读取class,然后用反射、classLoader去运行
需求挺怪异的
没办法 AIX下只支持 用32位java加载 一个本地库,那本地库好像又只有32位的~~
不懂java的我 表示看你们的解释方法 压力大大的
Process p = Runtime.getRuntime().exec(new String[]{"C:\jdk\bin\java.exe", "其它启动参数"});然后:
InputStream is = p.getInputStream(); // 程序的正常输出会在这里。
InputStream err = p.getErrorStream(); // 如果发生异常,异常信息会在这里。
首先jsp调用java,那么这个java就是一个页面的javabean,如果这个javabean是一个独立的处理还好(处理结果是否需要在64位机重构也要考虑),如果需要跟页面互动,甚至有可能需要request,session以及一些web容器的上下文信息,单纯的runtime如何能胜任?
如果是系统移植,那么可以重新编译源码(64位机编译),如果没有源码,那么可以考虑服务调用,即32位jvm启动32位的服务,64位机去调用服务(服务之间的传输协议可以自己控制)
没有源码。32位的服务就 这个jsp文件调用的一个java文件。
我就是不知道怎么控制 当需要用32位的jvm启动32位的服务的时候,让系统临时将32位的jvm作为默认的JAVA_HOME。 你说那服务调用是个啥概念? 服务之间的传输协议自己控制来干嘛? 我没看懂呢大神!!!!!!!!!!!
关于服务调用的概念,就是我在1楼所说的方案1。
整个服务 需要用64bit运行,除了报错的那个class文件需要32bit运行。
你的第一种方案 需要写很多代码吧。。还要通信之类的,,我看第一种方案对于我来说还不太现实呀。太复杂了
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class JavaWS {
@WebMethod
public String echo(String msg) {
System.out.println("echo(" + msg + ")");
return msg;
} public static void main(String[] args) {
Endpoint.publish("http://localhost/ws", new JavaWS());
}
}
运行后,浏览器可直接访问其服务说明: http://localhost/ws?wsdl