background image

oScript = document.getElementById(id);

var

 head = document.getElementsByTagName("head").item(0);

if

 (oScript) {

head.removeChild(oScript);
}
oScript = document.createElement("script");

var

 url = "http:

//127.0.0.1:2012/esb/servlet/HttpClient?randomType=MIX&success=justHandle

oScript.setAttribute("id",id);
oScript.setAttribute("type","text/javascript");
oScript.setAttribute("language","javascript");
head.appendChild(oScript);
}

//jsutHandle 这个函数是反调函数。servlet 代码中会使用 eval 这种方式来执行。
function

 justHandle(dd){

alert(dd);
}
 
servlet 的代码:
代码如下:
 

protected

 void service(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, java.io.IOException {
 
Object obj = "test";
ServletOutputStream sos = resp.getOutputStream();
StringBuffer sb = 

new

 StringBuffer();

resp.setCharacterEncoding("GBK");
 
resp.setHeader("Charset","GBK");
resp.setContentType("charset=GBK");

//下面那句表明是 javascript 脚本文件

resp.setContentType("text/javascript"); 
 
sb.append("eval(/""+paramMap.get("success")+"(/'"+obj.toString()+"/')/")");

try

 {

sos.write(sb.toString().getBytes(this.character_encoding));

catch

 (Exception e) {

System.out.println(e.toString());
} finally {

try

 {

sos.close();