session在java中
㈠ java中怎麼使用session
不考慮框架下,在JAVA中使用session
大概有以下幾種使用方法:
1、前台設置:利用jsp的內置對象session進行設置。
<%
session.setAttribute("username",username);
%>
2、後台設置:
(1)Filter設置:
{
@Override
publicvoiddoFilter(ServletRequestarg0,ServletResponsearg1,FilterChainchain)throwsIOException,ServletException{
//把請求和響應對象強制轉換為HttpServlet域對象
HttpServletRequestrequest=(HttpServletRequest)arg0;
HttpServletResponseresponce=(HttpServletResponse)arg1;
HttpSessionsession=request.getSession(false);
session.setAttribute("username",username);
}
}
(2)Servlet設置:
{
//doGet()與doPost()任選
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
//創建session對象
HttpSessionsession=request.getSession(false);
session.setAttribute("username",username);
}
}
(1)session在java中擴展閱讀:
Session:在計算機中,尤其是在網路應用中,稱為「會話控制」。Session
對象存儲特定用戶會話所需的屬性及配置信息。
這樣,當用戶在應用程序的 Web 頁之間跳轉時,存儲在 Session
對象中的變數將不會丟失,而是在整個用戶會話中一直存在下去。
當用戶請求來自應用程序的 Web 頁時,如果該用戶還沒有會話,則 Web
伺服器將自動創建一個 Session 對象。當會話過期或被放棄後,伺服器將終止該會話。
Session
對象最常見的一個用法就是存儲用戶的首選項。例如,如果用戶指明不喜歡查看圖形,就可以將該信息存儲在 Session 對象中。
有關使用
Session 對象的詳細信息,請參閱「ASP 應用程序」部分的「管理會話」。注意 會話狀態僅在支持 cookie 的瀏覽器中保留。
session的工作原理:
1、當一個session第一次被啟用時,一個唯一的標識被存儲於本地的cookie中。
2、首先使用session_start()函數,php從session倉庫中載入已經存儲的session變數。
3、當執行PHP腳本時,通過使用session_register()函數注冊session變數。
4、當PHP腳本執行結束時,未被銷毀的session變數會被自動保存在本地一定路徑下的session庫中,這個路徑可以通過php.ini文件中的session.save_path指定,下次瀏覽網頁時可以載入使用。
㈡ 如何在 Java 中創建 session
使用request對象獲取session,然後進消寬行操作。
1,引入包servlet-api.jar 。滾橋租
2,使用request獲取session:HttpSession session = request.getSession();
3,對session的操作:大兆
session.setAttribute("key", value);
session.getAttribute("key");
session.removeAttribute("key");
session.invalidate(); //刪除所有session中保存的鍵
㈢ Java中session是怎樣定義的,它的作用域在哪
首先要明確一個概念,session並不是java獨有的,而是基於http的(jsp、asp.net、php等等技術都會涉及到session),下面我來講解一下sessin的具體內容:
session機制是一種伺服器端的機制,伺服器使用一種類似於散列表的結構(也可能就是使用散列表)來保存信息。
當程式需要為某個客戶端的請求創建一個session的時候,伺服器首先檢查這個客戶端的請求里是否已包含了一個session標識 - 稱為session id,如果已包含一個session id則說明以前已為此客戶端創建過session,伺服器就按照session id把這個session檢索出來使用(如果檢索不到,可能會新建一個),如果客戶端請求不包含session id,則為此客戶端創建一個session並且生成一個和此session相關聯的session id,session id的值應該是個既不會重復,植蝗菀妝徽業焦媛梢苑略斕淖址???飧?ession id將被在本次響應中返回給客戶端保存。
保存這個session id的方式能採用cookie,這樣在交互過程中瀏覽器能自動的按照規則把這個標識發揮給伺服器。一般這個cookie的名字都是類似於SEEESIONID,而。比如weblogic對於web應用程式生成的cookie,JSESSIONID=!-145788764,他的名字就是JSESSIONID。
由於cookie能被人為的禁止,必須有其他機制以便在cookie被禁止時仍然能夠把session id傳遞回伺服器。經常被使用的一種技術叫做URL重寫,就是把session id直接附加在URL路徑的後面,附加方式也有兩種,一種是作為URL路徑的附加信息,表現形式為http://...../xxx;jsessionid=ByOK ... 99zWpBng!-145788764另一種是作為查詢字元串附加在URL後面,表現形式為http://...../xxx?jsessionid=ByOK ... 99zWpBng!-145788764
這兩種方式對於用戶來說是沒有差別的,只是伺服器在解析的時候處理的方式不同,採用第一種方式也有利於把session id的信息和正常程式參數區分開來。
為了在整個交互過程中始終保持狀態,就必須在每個客戶端可能請求的路徑後面都包含這個session id。
另一種技術叫做表單隱藏欄位。就是伺服器會自動修改表單,添加一個隱藏欄位,以便在表單提交時能夠把session id傳遞回伺服器。
這種技術目前已較少應用,筆者接觸過的非常古老的iPlanet6(SunONE應用伺服器的前身)就使用了這種技術。實際上這種技術能簡單的用對action應用URL重寫來代替。
在談論session機制的時候,常常聽到這樣一種誤解「只要關閉瀏覽器,session就消失了」。其實能想像一下會員卡的例子,除非顧客主動對店家提出銷卡,否則店家絕對不會輕易刪除顧客的資料。對session來說也是相同的,除非程式通知伺服器刪除一個session,否則伺服器會一直保留,程式一般都是在用戶做log off的時候發個指令去刪除session。然而瀏覽器從來不會主動在關閉之前通知伺服器他將要關閉,因此伺服器根本不會有機會知道瀏覽器已關閉,之所以會有這種錯覺,是大部分session機制都使用會話cookie來保存session id,而關閉瀏覽器後這個session id就消失了,再次連接伺服器時也就無法找到原來的session。如果伺服器設置的cookie被保存到硬碟上,或使用某種手段改寫瀏覽器發出的HTTP請求頭,把原來的session id發送給伺服器,則再次打開瀏覽器仍然能夠找到原來的session。
恰恰是由於關閉瀏覽器不會導致session被刪除,迫使伺服器為seesion設置了一個失效時間,當距離客戶端上一次使用session的時間超過這個失效時間時,伺服器就能認為客戶端已停止了活動,才會把session刪除以節省存儲空間。
㈣ JAVA中的session 是干什麼用的 怎麼給session賦值
session就是一陸沖敗個會話
,在瀏覽器不關閉的前提下,可以保存用戶的信息,就是象一個臨時的容器,來存放這些臨時早顫的東西。比如登錄的保存用戶信息從一個網頁跳轉到另一個網頁,用戶信息就可以用session保存網站購物車可以用session實現
session賦值:判做
Request.getSession().setAttribute(key,value);
㈤ java的session用法
import
java.io.IOException;
import
javax.servlet.Filter;
import
javax.servlet.FilterChain;
import
javax.servlet.FilterConfig;
import
javax.servlet.ServletException;
import
javax.servlet.ServletRequest;
import
javax.servlet.ServletResponse;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
import
javax.servlet.http.HttpSession;
import
com.fz.entity.User;
public
class
ValidatorFilter
implements
Filter
{
public
void
destroy()
{
}
public
void
doFilter(ServletRequest
arg0,
ServletResponse
arg1,
FilterChain
arg2)
throws
IOException,
ServletException
{
HttpServletRequest
request
=
(HttpServletRequest)arg0;
HttpServletResponse
response
=
(HttpServletResponse)arg1;
HttpSession
session
=
request.getSession();
User
user
=
(User)session.getAttribute("user");
//判斷用戶是否登錄,如果沒有登錄,則直接重定向至登錄頁面,
//如果登錄,則將請求交給下一個過濾器或者目標資源
if(user
==
null||user.getUserName()==null){
response.sendRedirect(request.getContextPath()+"/login.jsp");
}else{
arg2.doFilter(request,
response);
}
}
public
void
init(FilterConfig
filterConfig)
throws
ServletException
{
}
以上是filter的代碼
以下是在web.xml中的配置
<filter>
<filter-name>validatorFilter</filter-name>
<filter-class>com.fz.filter.ValidatorFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>validatorFilter</filter-name>
<url-pattern>/user/*</url-pattern>
</filter-mapping>
㈥ 如何在 Java 中創建 session
1、 HttpSession session = ServletActionContext.getRequest().getSession(); //創建培燃
2、 ActionContext.getContext().getSession().put("msg", "Hello World from Session!"); //存
session.setAttribute("softtypeid", softtypeid); //存
獲取 if(session.getAttribute("softtypeid")!=null){
if(!softtypeid.equals(session.getAttribute("softtypeid")))
pager_offset=1; //如銷芹果不是同一種分類,返回是第配斗虛一頁
}
3、
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
HttpSession session = request.getSession(); //創建
㈦ session 在JAVA中的具體使用方法,求帶詳解及具體格式使用方式等。有時間的大俠麻煩多花點時間給菜鳥。
session的使用:
a,創建session
方式一:
HttpSession request.getSession();
方式二:
HttpSession request.getSession(boolean flag);
flag為true:
伺服器查看請搜賣求中是否有sessionId,
如果沒有,則創建一個session對象,返回
該豎腔對象的引用。
如果有,要查看對應的session對象是否
存在,如果存在,則返回該對象的引用,若
不存在,則創建一個session對象。
flag為false:
伺服器查看請求中是否有sessionId,
如果沒有,返回null。
如果世纖逗有,要查看對應的session對象是否
存在,如果存在,則返回該對象的引用,若
不存在,返回null。
request.getSession()與
request.getSession(true)等價。
b,常用方法
String session.getId();
//綁訂某個對象
session.setAttribute(String name,Object obj);
//找不到,返回null
Object session.getAttribute(String name)
顯示某個用戶是第幾次訪問該應用。
//設置最大不活動時間
session.setMaxInActiveInterval(int seconds)
c,設置默認超時限制
針對整個伺服器或者某個特定的應用設置
超時限制。
對於tomcat: tomcat_home\conf\web.xml
<session-config>
<session-timeout>30</session-timeout>
</session-config>
對於某個特定的應用 WEB-INF\web.xml
㈧ java中怎麼設置一個session在整個web中的時間
java中怎麼設置一個session在整個web中的時間
java中設置session存在整個web的時間方法如下:
(1)在主頁面或者公共頁面中冊嫌加入:session.setMaxInactiveInterval(900);
參數900單位是秒,即在沒有活動15分鍾後,session將失效。
這里要注意這個session設置的時間是根據伺服器來計算的,而不是客戶端。所以如果是在調試程序,應該是修改伺服器端時間來測試,而不是客戶端。
(2)也是比較通用的設置session失效時間的方法,就是在項目的web.xml中設置
Xml代碼
[x] view plain
<session-config>
<session-timeout>15</session-timeout>
</session-config>
這里的15也就是15分鍾失效.
(3)直接在應用伺服器中設置,如果是tomcat,可以在tomcat目錄下conf/web.xml中
找到<session-config>元敬笑素,tomcat默認設置是30分鍾,只要修改這個值就可以了。
jsp中怎麼設置讓一個表格在整個網頁中居中
tml中讓表格在瀏覽器中左右居中,可以設置表格的align屬性 align有三個屬性: 1、居中:ce
如何為session設置一個過期的時間
為session設置一個過期的時間的方法
-
1、操作系統: 步驟:開始——〉管理工具——〉Inter信息服務(IIS)管理器——〉網站——〉默認網站——〉右鍵「屬性」——〉主目錄——〉配置——〉選項——〉啟用會話狀態——〉會話超時(在這兒設置你要的超時時間,單位分鍾)。確定即可。
-
2、ASP.NET應用程序中Session過期時間的設置 在ASP.NET這樣的Web應用中,Session是用來保存用戶狀態的常用手段,不過由於伺服器內存空間是有限的,所以Session過期時間設置是很有必要的。在ASP.NET中如何設置Session的過期時間呢,很簡單,修改web.config配置。 具體修改方法如下,在web.config中進行如下配置 <system.web> <sessionState mode="InProc" timeout="30"/> </system.web> 在這里指的是Session過期時間為30分鍾。也就是說30分鍾後如果當前用戶沒有操作,那麼Session就會自動過期了。
-
3、在調用Session的cs頁中,Load事件裡面寫以下 Session.Timeout = 30;
-
4、Store session in asp. state service <sessionState cookieless="false" timeout="480" mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" /> 看一下,看你的程序是用到了哪種設置方式,把時間改成你需要的時間就可以了。
怎麼在整個pdf中加入一頁
Adobe Reader只是閱讀PDF文件的軟體。要在PDF文檔中添加一頁,推薦小巧的「Foxit PDF Editor」軟體,該軟體能編輯、修改PDF文件,功能十分強大。
如果PDF格式文件中間少了一頁,要加一頁的話,首先要把這一頁也改成PDF格式(即你要加的那一頁是TIFF頁得先改成PDF格式)州稿手。然後你可用Adobe Acrobat 6.0軟體來實現,具體方法是:
先打開需要插入某一頁的PDF文件,再依次點擊「文檔」—「頁面」—「插入」,選擇要插入的頁(即你把TIFF頁改成後的PDF這一頁),再選擇插入的位置後點擊「確定」即可。
java web中怎麼設置請求時間
Java中可以使用HttpURLConnection來請求WEB資源。
HttpURLConnection對象不能直接構造,需要通過URL.openConnection()來獲得
HttpURLConnection對象,示例代碼如下:
String szUrl = 「:ee2ee./」;
URL url = new URL(szUrl);
HttpURLConnection urlCon = (HttpURLConnection)url.openConnection();
HttpURLConnection是基於HTTP協議的,其底層通過socket通信實現。如果不設置超時
(timeout),在網路異常的情況下,可能會導致程序僵死而不繼續往下執行。可以通過以下兩
個語句來設置相應的超時:
System.setProperty(「sun..client.defaultConnectTimeout」, 超時毫秒數字元串);
System.setProperty(「sun..client.defaultReadTimeout」, 超時毫秒數字元串);
其中: sun..client.defaultConnectTimeout:連接主機的超時時間(單位:毫秒)
sun..client.defaultReadTimeout:從主機讀取數據的超時時間(單位:毫秒)
例如:
System.setProperty(「sun..client.defaultConnectTimeout」, 「30000″);
System.setProperty(「sun..client.defaultReadTimeout」, 「30000″);
JDK 1.5以前的版本,只能通過設置這兩個系統屬性來控制網路超時。在1.5中,還可以使用
HttpURLConnection的父類URLConnection的以下兩個方法:
setConnectTimeout:設置連接主機超時(單位:毫秒)
setReadTimeout:設置從主機讀取數據超時(單位:毫秒)
怎樣固定div在整個網頁中的位置?
不用定位
加上
margin:0 auto;
margin-:30%; .百分比根據 div高度來調整
java 怎麼定義一個方法在整個系統中每隔多少時間(時間自己定義)就調用一次
繼承Thread類,或者實現Runnable類,在run()方法裡面,
while(true){
Sleep(1000);等1000毫秒,具體的時間自己定
做你要做的東西
}
然後在程序啟動的時候,start這個線程就可以。
ie6中的div模塊怎麼在整個屏幕中居中?
div{margin:0px auto;width:900px;}
若想在FF與IE中都居中就要加一屬性,div{margin:0 auto;text-align:center;width:900px;}
大傢伙幫下word字體在整個頁面垂直居中怎麼設置?
單行文字居中,適用於表格中
在文本段落里,不涉及這個問題
打開《表格屬性》,在[單元格]一項中,選擇垂直對齊方式就行了
======================
文本段落里還用上下居中啊?打了三行字,中間那一行會跑到別的地方嗎?
echarts怎麼設置圖形在整個echarts裡面的位置,一直居中不太靈活
series下有個center屬性,可以控制圓心坐標。圓心坐標,支持絕對值(px)和百分比,百分比計算min(width, height) * 50%,具體參見api文檔。
㈨ java怎麼獲取session
在Servlet或者是在Struts1中獲取當前用戶的Session方法是:
HttpSession session = request.getSession(true);
注意:request的類型是:HttpServletRequest.
如果是在Struts2中的Action中獲取Session.方法是:
Map session = ActionContext.getContext().getSession();