我是靠谱客的博主 雪白芹菜,最近开发中收集的这篇文章主要介绍js调用java后台_js脚本中执行java后台代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用场景:关闭页面弹窗时执行sql语句。

其实js里执行sql语句有多种方式。

方式一:直接在js代码里调用sql语句,原则上不能使用,因为这将sql直接暴露在客户端,安全性极差。

方式二:在js里运用ajax技术,调用后台方法执行sql语句。

方式三:运用dwr框架,其实是对ajax技术进行了封装。

一、首先编写一个dwr.xml文件

1 <?xml version="1.0" encoding="utf-8"?>

2

3

4

5

6

7

8 value="cn.etcom.jfgl.tel.fee.callType.CallTypeOpDwr" />

9

10

11

12

13

14

15

16

17

18 );22 UserInfoManageOpDwr.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);23 ]]>

24

25

二、在web.xml文件里配置servlet

1

2

3 dwr-invoker

4 uk.ltd.getahead.dwr.DWRServlet

5

6 debug

7 false

8

9

10

11 allowGetForSafariButMakeForgeryEasier12

13 true

14

15

16 crossDomainSessionSecurity

17 false

18

19 1

20

21

22 dwr-invoker

23 /dwr/*24

三、写一个普通的JAVA类

1 packagecn.etcom.jfgl.tel.fee.callType;2

3 importjava.sql.Connection;4 importjava.sql.PreparedStatement;5 importjava.sql.ResultSet;6 importjava.sql.SQLException;7 importjava.util.ArrayList;8 importjava.util.List;9

10 importjavax.servlet.http.HttpServletRequest;11

12 importorg.json.JSONException;13 importorg.json.JSONObject;14

15 importcn.etcom.common.utility.DBUtil;16 importcn.etcom.common.utility.RsHandler;17 importcn.etcom.common.utility.SqlActuator;18 importcn.etcom.common.utility.StringUtil;19

20 /*******************************************************************************21 *22 *@author刘彦宁 2011-08-1223 *24 */

25 //处理呼叫类型的dwr

26 public classCallTypeOpDwr {27

28 /***************************************************************************29 * DWR 方法,执行存储过程。30 *31 */

32 publicString updateSp() {33 String sql = "exec Pub_Sp_UpdateFieldMemo ?";34 Connection conn =DBUtil.getConnection();35 PreparedStatement psmt = null;36 try{37 psmt =conn.prepareStatement(sql);38 psmt.setString(1, "CALL");39 boolean a =psmt.execute();40 DBUtil.close(null, psmt, conn);41 conn =DBUtil.getConnection();42 psmt =conn.prepareStatement(sql);43 psmt.setString(1, "USER");44 boolean b =psmt.execute();45 System.out.println(a);46 System.out.println(b);47 System.out.println("关闭弹窗执行存储过程 >> "+sql);48 } catch(SQLException e) {49 e.printStackTrace();50 }finally{51 DBUtil.close(null, psmt, conn);52 }53 return null;54 }55 }

四、写一个JSP页面,主要导入engine.js和相应的java类映射的js文件,然后编写js即可调用。

1 //以下为jsp的引入js文件部分

2

3 //设置根路径,放在 tab.js 前

4 var glbRootPath = "";5

6

7

五、js文件里调用后台代码

1 var basePath = "";2 if(typeof(glbRootPath) != "undefined"){3 basePath =glbRootPath;4 document.write("

7 中间省略若干代码8 */

9 .10 .11 .12 if(typeof(glbRootPath) != "undefined"&&$(this).parent().children().eq(0).text()=="呼叫类型设置"){13 console.log("进来了");14 DWREngine.setAsync(false);15 CallTypeOpDwr.updateSp();16 }

最后

以上就是雪白芹菜为你收集整理的js调用java后台_js脚本中执行java后台代码的全部内容,希望文章能够帮你解决js调用java后台_js脚本中执行java后台代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部