关于java中的会话技术需要理解以下几点:
首先需要认识会话:用户打开浏览器,访问Web服务器上多个资源,然后关闭浏览器,整个过程称之为一次会话。
为什么需要会话技术:http协议是非连接的,浏览器取完页面的内容以后就断掉了。当用同一个浏览器去访问同一个appa的另外一个页面的时候,另外一个页面能知道原来session里面的内容,会话机制因此出现。
常用的会话技术有:Cookies、Session和Url重写。
Cookies:由容器创建并且保存在客户端,客户端后续访问服务器的请求都将返回该Cookie ,明确地请求与会话关联,又Cookies携带SessionId到服务器端。
Session:Session本质上是服务器端的一块内存,可以往里面放内容。并赋SessionId, 与Cookies携带的SessionId对应。
Url重写:如果浏览器不支持cookies,需要自己编程使用URL重写的方式实现(这样session永远有效),方式如下:
response.encodeURL()有以下几种用途:
通过 session 来储存用户信息。
存储用户的对话状态,对话状态就是当前用户和服务。
是一个jsp内置对象,保存跟一个会话相关的信息。JAVA中的session的作用非常重要,起到保存对话的作用。
Session,在计算机中,尤其是在网络应用中,称为“会话”。具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。
可以做的到,但这个是有前提的,就好像QQ一样,必须对方在线,他才能收到你的会话。比如说多次,你可以采用循环输入,等到满足一个条件时,退出!
比如说发送方代码如下:
import java.io.IOException
import java.net.DatagramPacket
import java.net.DatagramSocket
import java.net.InetAddress
import java.net.SocketException
import java.net.UnknownHostException
import java.util.Scanner
class practise12{
public static void main(String[] args) throws SocketException, UnknownHostException, IOException{
DatagramSocket ds=new DatagramSocket(3000)
DatagramPacket dp=null
String str=""
do{
System.out.println("请输入:")
Scanner input=new Scanner(System.in)
str=input.next()
dp=new DatagramPacket(str.getBytes(),str.length(),InetAddress.getByName("localhost"),8000)
ds.send(dp)
}while(str.compareTo("exit")!=0)
ds.close()
}
}
这样你就可以多次发送会话,当发送方输入“exit”时,程序就会退出。
接收方也是同样道理:当接收到“exit”时,程序退出。
一点灼见,希望对你有用!