1. java中的session 是干什麼用的 怎麼給session賦值
你好!
setAttribute等於是取了一個叫做arg0的名字,並給這個名字賦值了一個叫做arg1的值。
而putValue()則是給arg0賦值,如果arg0變數有值了,則將arg1的值賦值給arg0,等於覆蓋了。
你用System.out.println(session.getAttribute(arg0))
;輸出來就知道了!
希望對你有幫助!
2. 在Servlet中session一個值,如何在java類中使用session的值
1、可以通過HttpServletRequest的getSession()方法獲得,此方法會返回一個布爾值來表示是否成功得到了Session。
2、嘗試獲得鍵名為「VisitCounter」的session值,將獲得的值轉換為Integer對象。
3、如果是空則說明session還沒有設置,就往session中添加VisitCounter,否認則對VisitCounter+1並保存到session中。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
* Example Servlet
* @author outofmemory.cn
*/
public class ExampleServlet extends HttpServlet {
/** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
printPageStart(out);
//Obtain the session object, create a new session if doesn't exist
HttpSession session = request.getSession(true);
//Check if our session variable is set, if so, get the session variable value
//which is an Integer object, and add one to the value.
//If the value is not set, create an Integer object with the default value 1.
//Add the variable to the session overwriting any possible present values.
Integer param = (Integer) session.getAttribute("MySessionVariable");
if (param != null) {
session.setAttribute("MySessionVariable", new Integer(param.intValue() + 1));
param = (Integer) session.getAttribute("MySessionVariable");
} else {
param = new Integer(1);
session.setAttribute("MySessionVariable", param);
}
out.println("You have displayed this page <b>" + param.intValue() + "</b> times this session.<br/><br/>");
out.println("Hit the browsers refresh button.");
printPageEnd(out);
}
/** Prints out the start of the html page
* @param out the PrintWriter object
*/
private void printPageStart(PrintWriter out)
{
out.println("<html>");
out.println("<head>");
out.println("<title>Example Servlet of how to store and retrieve session variables</title>");
out.println("</head>");
out.println("<body>");
}
/** Prints out the end of the html page
* @param out the PrintWriter object
*/
private void printPageEnd(PrintWriter out)
{
out.println("</body>");
out.println("</html>");
out.close();
}
}
3. java獲取session的值怎麼使用
一、頁面傳值
發送方:
觸發requestCommand.execute()事件,setPath(path)來跳轉頁面,requestCommand.parameters().setValue("field1",value)來
傳遞參數,也可以setDataSet(dataset)來傳遞該dataset的當前記錄。
還有一種方式:通過requestCommand的parameterFields實現傳值
接受方:
任意一dataset中設置和requestConmmand傳遞的參數相同名稱的fields,就可以獲取相應的參數了。或者用session來獲取參數。
該處可能是描述上的問題,相信作者理解上不存在問題
接受requestCommand傳過來的參數都是通過Request實現,由於生命周期的不同,而會是用不同的方式處理:
Java代碼:一般我們是通過DoradoContext處理
視圖模型xml文件中的屬性以及js事件:我們通過dorado提供的EL表達式處理,例如:${Request.parameterName1}或則${request.getParameter("parameterName1")},具體參考EL表達式的使用文檔。
同樣我們在以上的兩個地方要操作session也是一樣通過DoradoContext或者EL表達式實現
二、設置session
第一步:頁面傳值(略)
第二步:設置session
方法一,在jsp中設session: <%session.setAttribute("roles",request.getParameters("roles"));%>
方法二,在servlet中設session:
String roles = request.getParameter("roles");
HttpSession session = request.getSession();
session.setAttribute("roles", roles);
----------------------------------------------------------
第三步:獲取session值
方法一:在jsp中獲取:String roles = (String)session.getAttribute("roles");
方法二:在scrīpt中獲取:
var roles = new Array();
roles = "${Session.roles}";
這兒指的script是指View(視圖模型的事件代碼),而對於jsp中的js就不必拘泥於形式,當然一個dorado頁面我們認為不太可能在jsp上出現非布局與css的其他代碼(如果你的dorado經驗比較豐富的話)
--------------------------------------------------------
注意事項:
session的設置順序要和頁面傳值的順序一致
4. Java里設置session的幾種方式
由於session值之前沒有設置 以至於剛登錄的網站 不到一分鍾就超時了 總結了一下 原來是session過期的原因 以下粗殲是設置session時間的 個方法
在tomcat——>conf——>servler xml文件中定義岩敬沖
<Context path= /test docBase= /test defaultSessionTimeOut= isWARExpanded= true isWARValidated= false isInvokerEnabled= true isWorkDirPersistent= false /> defaultSessionTimeOut=
在web xml中定義
稿手<session config> <session timeout> </session timeout> </session config>
在程序中定義
session setMaxInactiveInterval( * )
設置單位為秒 設置為 永不過期
lishixin/Article/program/Java/hx/201311/26519
5. JAVA中的session 是干什麼用的 怎麼給session賦值
session就是一個會話
,在瀏覽器不關閉的前提下,可以保存用戶的信息,就是象一個臨時的容器,來存放這些臨時的東西。比如登錄的保存用戶信息從一個網頁跳轉到另一個網頁,用戶信息就可以用session保存網站購物車可以用session實現
session賦值:
Request.getSession().setAttribute(key,value);
6. java 怎麼使用session
ttpSession session = request.getSession();
session.setAttribute("變數名", 值對象);
session.getAttribute("變數名"); //此時取出來的是Object, 一般需要強轉
session.removeAttribute("變數名");
session.invalidate(); //刪除所有session中保存的鍵版
------------------------------------------------------
HttpSession是不能new出來的,
要從HttpServletRequest中調用權getSession方法得到.
一般也就是request.getSession();