js脚本中执行java后台代码办法解析
家电修理 2023-07-16 19:17www.caominkang.com电器维修
使用场景关闭页面弹窗时执行sql语句。
其实js里执行sql语句有多种方式。
方式一直接在js代码里调用sql语句,原则上不能使用,因为这将sql直接暴露在客户端,安全性极差。
方式二在js里运用ajax技术,调用后台方法执行sql语句。
方式三运用dr框架,其实是对ajax技术进行了封装。
一、编写一个dr.xml文件
); UserInfoManageOpDr.addUserInfo(String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,String,Map ); ]]>
二、在eb.xml文件里配置servlet
dr-invoker uk.ltd.getahead.dr.DWRServlet debug false alloGetForSafariButMakeFeryEasier true crossDomainSessionSecurity false 1 dr-invoker /dr // 处理呼叫类型的dr public class CallTypeOpDr { public String updateSp() { String sql = "exec Pub_Sp_UpdateFieldMemo ?"; Connection conn = DBUtil.getConnection(); PreparedStatement psmt = null; try { psmt = conn.prepareStatement(sql); psmt.setString(1, "CALL"); boolean a = psmt.execute(); DBUtil.close(null, psmt, conn); conn = DBUtil.getConnection(); psmt = conn.prepareStatement(sql); psmt.setString(1, "USER"); boolean b = psmt.execute(); System.out.println(a); System.out.println(b); System.out.println("关闭弹窗执行存储过程 >> "+sql); } catch (SQLException e) { e.printStackTrace(); }finally { DBUtil.close(null, psmt, conn); } return null; } }
四、写一个JSP页面,主要导入engine.js和相应的java类映射的js文件,然后编写js即可调用
//以下为jsp的引入js文件部分
五、js文件里调用后台代码
var basePath = ""; if(typeof(glbRootPath) != "undefined"){ basePath = glbRootPath; document.rite(""); } . . . if(typeof(glbRootPath) != "undefined"&&$(this).parent().children().eq(0).text()=="呼叫类型设置"){ console.log("进来了"); DWREngine.setAsync(false); CallTypeOpDr.updateSp(); }
空调维修
- 温岭冰箱全国统一服务热线-全国统一人工【7X2
- 荆州速热热水器维修(荆州热水器维修)
- 昆山热水器故障码5ER-昆山热水器故障码26
- 温岭洗衣机24小时服务电话—(7X24小时)登记报
- 统帅热水器售后维修服务电话—— (7X24小时)登
- 阳江中央空调统一电话热线-阳江空调官方售后电
- 乌鲁木齐阳春燃气灶厂家服务热线
- 珠海许昌集成灶售后服务电话-全国统一人工【
- 乌鲁木齐中央空调维修服务专线-乌鲁木齐中央空
- 新沂热水器故障电话码维修-新沂热水器常见故障
- 诸城壁挂炉24小时服务热线电话
- 靖江空调24小时服务电话-——售后维修中心电话
- 空调室外滴水管维修(空调室外排水管维修)
- 九江壁挂炉400全国服务电话-(7X24小时)登记报修
- 热水器故障码f.22怎么解决-热水器f0故障解决方法
- 营口热水器售后维修服务电话—— 全国统一人工