怎么在JavaScript腳本中執(zhí)行java后臺代碼,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
創(chuàng)新互聯(lián)公司服務(wù)項目包括渦陽網(wǎng)站建設(shè)、渦陽網(wǎng)站制作、渦陽網(wǎng)頁制作以及渦陽網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,渦陽網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到渦陽省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
使用場景:關(guān)閉頁面彈窗時執(zhí)行sql語句。
其實js里執(zhí)行sql語句有多種方式。
方式一:直接在js代碼里調(diào)用sql語句,原則上不能使用,因為這將sql直接暴露在客戶端,安全性極差。
方式二:在js里運用ajax技術(shù),調(diào)用后臺方法執(zhí)行sql語句。
方式三:運用dwr框架,其實是對ajax技術(shù)進行了封裝。
一、首先編寫一個dwr.xml文件
); 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 ); ]]>
二、在web.xml文件里配置servlet
dwr-invoker uk.ltd.getahead.dwr.DWRServlet debug false allowGetForSafariButMakeForgeryEasier true crossDomainSessionSecurity false 1 dwr-invoker /dwr/*
三、寫一個普通的JAVA類
package cn.etcom.jfgl.tel.fee.callType; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.json.JSONException; import org.json.JSONObject; import cn.etcom.common.utility.DBUtil; import cn.etcom.common.utility.RsHandler; import cn.etcom.common.utility.SqlActuator; import cn.etcom.common.utility.StringUtil; /******************************************************************************* * * @author 劉彥寧 2011-08-12 * */ // 處理呼叫類型的dwr public class CallTypeOpDwr { /*************************************************************************** * DWR 方法,執(zhí)行存儲過程。 * */ 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("關(guān)閉彈窗執(zhí)行存儲過程 >> "+sql); } catch (SQLException e) { e.printStackTrace(); }finally { DBUtil.close(null, psmt, conn); } return null; } }
四、寫一個JSP頁面,主要導入engine.js和相應(yīng)的java類映射的js文件,然后編寫js即可調(diào)用
//以下為jsp的引入js文件部分
五、js文件里調(diào)用后臺代碼
var basePath = ""; if(typeof(glbRootPath) != "undefined"){ basePath = glbRootPath; document.write("