先看後臺的業務代碼:
package biz; import javax.servlet.http.HttpSession; public class UserBiz { /** * session和request是不需要傳的,dwr會自動傳,所以在頁面調用的時候沒有帶session參數 * @param name * @param session * @return */ public String save(String name, HttpSession session) { session.setAttribute("name", name); return session.getAttribute("name").toString(); } }
頁面的JSP代碼,注意調用的時候有些不同:
<html> <head> <base href="<%=basePath%>"> <title>dwr中如何訪問session</title> <mce:script type='text/javascript' src="/dwr-session/dwr/interface/userBiz.js" mce_src="dwr-session/dwr/interface/userBiz.js"></mce:script> <mce:script type='text/javascript' src="/dwr-session/dwr/engine.js" mce_src="dwr-session/dwr/engine.js"></mce:script> <mce:script type="text/javascript"><!-- //把abc放在session中,並從session中取出來,回調的時候顯示出來 function saveSession() { userBiz.save("abc",function(name) { alert(name); }); } // --></mce:script> </head> <body> <input type="button" οnclick="saveSession()" value="session"> </body> </html>
dwr.xml的代碼:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd"> <dwr> <allow> <create creator="new" javascript="userBiz"> <param name="class" value="biz.UserBiz" /> </create> </allow> </dwr>
注意:web.xml的配置
<servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <!-- 新加corssDomainSessionSecurity參數 不然會出現A request has been denied as a potential CSRF attack --> <init-param> <param-name>crossDomainSessionSecurity</param-name> <param-value>false</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>
一、簡單介紹: CaffeineCache和Guava的Cache是應用廣泛的本地緩存。 在開發中,爲了達到降低依賴、提高訪問速度的目的。會使用它存儲一些維表接口的返回值和數據庫查詢結果,在有些場景下也會在分佈式緩存上再加上一層本地緩存,
0x01 獲取webshell 在各種信息蒐集中,發現某個ip的端口掛着一個比較老的服務。 首先看到了員工工號和手機號的雙重驗證,也不知道賬號是什麼結構組成的,基本上放棄字典爆破這一條路。於是乎打開之前用燈塔的掃描結果,看看文件泄露是否
O2OA是一個高度可定製化的企業級開發平臺,它的API(應用程序接口)分爲前端和後端,各自有不同的用途,平臺爲用戶開放了全部的後端API供開發者使用,開發者可以根據各類API組織出符合實際業務需求的新服務或者新業務,用於數據查詢,業務接
本教程將指導您如何生成一個可運行的Google Web Toolkit (GWT) 2.1和Spring應用程序,該應用程序爲域模型實現了CRUD應用程序模式。在本教程中,您將學習如何: 安裝Google Eclipse插件 爲GWT配置
前端面試題 - Node JS與V8是什麼關係? V8 引擎是 Node.js 的核心組成部分,負責執行 JavaScript 代碼, 而 Node.js 爲 V8 提供了一個運行環境和API,使其能夠在服務器端運行。 通俗易懂的前端面試題
前端面試題 - V8是什麼? V8 是一個JavaScript引擎,能將JavaScript代碼直接編譯成本地平臺的機器碼並執行。 通俗易懂的前端面試題網站: https://www.front-interview.com
Codejock軟件公司的Xtreme Toolkit Pro是屢獲殊榮的VC界面庫,是MFC開發中最全面界面控件套包,它提供了Windows開發所需要的11種主流的Visual C++ MFC控件,包括Command Bars、Contr
一般情況下公司爲了某個團隊或者公司內部共享數據等用途來更改網站的樣式,打造獨特的品牌樣式,很多研發工程師給定的解決方案是爲他們的站點構建自定義主頁,雖然SharePoint Designer是一個強大的工具,但這裏我不推薦使用ShareP
上次鹹魚對關於 MD5 hash 的JS加密方法做了總結,這次把鹹魚遇到的 MD5 hash 的案例做了彙總,這個彙總系列會持續更新,攢到一定數量的網站就發一次。 關於 MD5 HASH 的處理可以參考下面這篇文章: Python爬蟲進
零、序言 vue 用多了,自然離不開生命週期。最近突發奇想,加上之前看過的文章中關於 script 標籤中的 async 和 defer 的搗糨糊,決定整理一下,攻克這個模糊點。 當然,最多的還是與 script 標籤相關的前兩個
[js] 寫一個格式化時間的方法 function dateToString(date, format = 'yyyy-MM-dd') { const d = new Date(date); let result = format
cheerp 通用計算模塊(ccm1) 是基於cheerp 編譯器發射出平臺格式無關的wasm中間代碼,在不同宿主之內運行的一種模塊化方式。 0x1. 不同宿主的相同代碼實現 ccm1 的一般宿主是c++實現,不同平臺編譯引用就可以,目
5 月 9 日阿里雲 AI 峯會,阿里雲智能集團首席技術官周靖人宣佈,通義靈碼企業版正式發佈,滿足企業用戶的定製化需求,幫助企業提升研發效率。 通義靈碼是國內用戶規模第一的智能編碼助手,基於 SOTA 水準的通義千問代碼模型 Code-Qw
Ai technology 前言 AppBuilder上線了低代碼製作組件功能,可以通過工作流的方式構建自定義組件,完成簡單Agent無法完成的複雜功能,使得生成的文本更加定製化,
最近在刷一些問題的時候看到有下面一個問題 上面問的是當輸入的字符串爲什麼的時候返回 True 總結 在做題目的時候,第一次還做錯了。 這是因爲解答這個題目的時間只有 3 分鐘,沒有自己看題目 後來拿着程序跑了下。 p