jquery 如何调用java中的session 或者request

Python09

jquery 如何调用java中的session 或者request,第1张

session对象用于在会话范围内,记录每个客户端的访问状态,以便于跟踪每个客户端的操作状态。在会话中存储的信息,在浏览器发出后续请求时可以获取这些会话的有效数据。

在jsp页面中可以直接使用session对象,也可以通过pageContext.getSession()或request.getSession()方法重新获取session对象。

session对象可以保存用户的登录信息,实现购物车功能等。

HTTP协议是一种无状态协议。客户向服务器发出请求request,然后服务器返回响应response,连接就被关闭了。在服务器端不保留连接的有关信息,因此当下一次连接时,服务器端已没有以前的连接信息了,无法判断这一次连接和以前的连接是否属于同一个客户。因此,必须使用会话记录有关连接的信息。

从客户打开浏览器连接到服务器,到客户关闭浏览器离开这个服务器,称做一个会话。当客户访问服务器是,可能会反复连接这个服务器上的几个页面、反复刷新一个页面或不断地向一个页面提交信息等,服务器应当通过某种方法知道这是同一个客户,这时就需要session对象。

Jquery Json调用在日常工作中非常好用,只需要Json数据就可以了。

session的工作原理如下:

1.客户首次访问服务器的一个页面时,服务器就会为该客户分配一个session对象,同时为该session对象指定一个唯一的ID,并且将该ID号发送到客户端并写入到cookie中,使得客户端与服务器端的session建立一一对应关系。

2.当客户继续访问服务器上的其他资源时,服务器不再为该客户分配新的session对象,直到客户端浏览器关闭、超时或调用session的invalidate()方法使其失效,客户端与服务器的会话结束。

3.当客户重新打开浏览器访问网站时,服务器会重新为客户分配一个session对象,并重新分配sessionID。

session对象主要用于属性操作和会话管理,常用方法如下:

1.public void setAttribute(Sting

name, Object

value),设定指定名字的属性的值,并将它添加到session会话范围内,如果这个属性是会话范围内存在,则更改该属性的值。

2.public Object getAttribute(String

name),在会话范围内获取指定名字的属性的值,返回值类型为object,如果该属性不存在,则返回null。

3.public void removeAttribute(String

name),删除指定名字的session属性,若该属性不存在,则出现异常。

4.public void

invalidate(),使session失效。可以立即使当前会话失效,原来会话中存储的所有对象都不能再被访问。

5.public String getId(

),获取当前的会话ID。每个会话在服务器端都存在一个唯一的标示sessionID,session对象发送到浏览器的唯一数据就是sessionID,它一般存储在cookie中。

6.public void setMaxInactiveInterval(int interval),设置会话的最大持续时间,单位是秒,负数表明会话永不失效。

7.public int getMaxInActiveInterval(),获取会话的最大持续时间。

8.使用session对象的getCreationTime()和getLastAccessedTime()方法可以获取会话创建的时间和最后访问的时间,但其返回值是毫秒,一般需要使用下面的转换来获取具体日期和时间。

    

Date creationTime = new

Date(session.getCreationTime())

    Date accessedTime = new

Date(session.getLastAccessedTime())

<%@ page language="java" import="java.util.*" contentType="text/htmlcharset=GBK"%>

<%

String

path = request.getContextPath()

String basePath =

request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01

Transitional//EN">

<html>

 

<head>

    <base

href="<%=basePath%>">

   

   

<title>session对象方法</title>

   

 <meta

http-equiv="pragma" content="no-cache">

 <meta

http-equiv="cache-control" content="no-cache">

 <meta

http-equiv="expires" content="0">   

 <meta

http-equiv="keywords" content="keyword1,keyword2,keyword3">

 <meta

http-equiv="description" content="This is my

page">

 <!--

 <link rel="stylesheet" type="text/css"

href="styles.css">

 -->

</head>

 

  <body>

   

<b>

    会话ID:<%=session.getId() %>

<br>

    是否新会话:<%=session.isNew()

%><br>

    设置和获取属性对象:用户名 =

   

<%session.setAttribute("用户名","陈宁")

%>

    <%=session.getAttribute("用户名")

%><br>

    <%

    Date creationTime = new

Date(session.getCreationTime())

    Date accessedTime = new

Date(session.getLastAccessedTime())

    

%>

     会话创建时间:<%=creationTime

%><br>

     上次访问时间:<%=accessedTime

%><br>

     会话持续时间(s):<%=session.getMaxInactiveInterval()

%><br>

     <%session.setMaxInactiveInterval(12)

%>

    

修改后的会话持续时间(s):<%=session.getMaxInactiveInterval()

%><br>

     <%session.invalidate()

%>

     </b>

 

</body>

</html>

Jquery Json调用在日常工作中非常好用,只需要Json数据就可以。

jquery可以通过ajax调用后台。

ajax请包含

$.ajax(url,[settings])

load(url,[data],[callback])

$.get(url,[data],[fn],[type])

$.getJSON(url,[data],[fn])

$.getScript(url,[callback])

$.post(url,[data],[fn],[type])

这些种

具体使用方法可以参照jquery的api

jquery 在线 api http://jquery.cuishifeng.cn/

function username_check(){

var regUserName=/^[0-9a-zA-Z_]{5,20}$/

var username = $('#username').val()

if(!regUserName.test(username))

{

$('#username_stat').html('<font color="red">只能输入5-20个以字母、数字、“_”组成的字串</font>')

return false

}else{

$('#username_msg').load('/test/reg/hasuser.do',{username:username})

//看看吧

return true

}

}

struts2的类就写个查询用户名称的方法(根据用户名称查询用户)、struts2.xml 定义返回一个新页、只显示提示语句、就成了、看看吧

$.ajax({

type: "POST", //提交类型

url: "some.action", //请求的action

data: "name=John&location=Boston", //传的参数

success: function(msg){ //结果啦

alert( "Data Saved: " + msg )

}

})

多试试吧~