JSP四种会话跟踪技术
转自:http://blog.sina.com.cn/s/blog_5990faac0100dnfx.html
Cookie
:服务器在一个应答首部传递给浏览器的名称
/
值对。浏览器保存的时间由
cookie
的过期时间属性来指定。当浏览器向某个服务器
发送一个请求时,它会检查其保存的
cookie
,并在请求首部中包含从同一台服务器上接收到的所有
cookie
。
Session tracking
:
在
浏览器和服务器之间不直接传送所有的状态信息,而只是传递表示符(
session
ID
)。浏览器发送
sessionID,
服
务器跟踪与该会话相关联的所有信息。传递
sessionID
可以通过
cookie
和
URL
复写技术,大部分容器都支持这两种技术。服务器无法分辨用户是否关闭了浏览器,因此关闭浏览器意味
着与先前的会话关联的所有会话数据都保留在服务器上,直到会话超时,服务器销毁会话对像。
®
跟踪
同一会话中的请求的会话
ID
可以有多种方法,主要有
cookie
和
url
复写。
URL
复写
:把会话
ID
编码在
URL
中。
例:
counter.jjsp;jsessionnid=be8d697876787876befdbde898789098980
这样,即使浏览器不支持
cookie
,也能够实现会话跟踪。
对于
URL
复写,服务器从请求的
URI
中提取出会话
ID
,并把该请求与
相应的会话关联起来,然后在访问会话数据的时候,
JSP
页面所进行的处理方式就和使用
cookie
跟踪会话
id
时所使用的方式
完全相同。所以
sesssion
的实现要依靠
cookie
或
URL
复写技术。
如果想为不支持
cookie
的浏览器提供会话跟踪,就必须使用
<c:url>
行为对应用程序中的所有
URL
进行复写。这意味着应用程序中的所有页面(至少是那些带有对其他页面引用的页面)都必须是
JSP
页面,这样
页面引用才能以动态方式进行编码,如果遗漏了一个
ur
,那么服务就会失去对会话的跟踪。
隐藏表单域
:隐藏表单域是将会话ID添加到HTML的隐藏表单中(类型为hidden的input)。
重定向和转发
可以使用两种方法来调用另一
个页面,重定向和转发。
i)
转发:
<jsp:forward
page=”userInfo.jsp”/>
转发
,JSP
容器将使用一个内部方法来调用目标页面,新的页面继续处理同一个请求,而浏览器不会知道这个过程涉
及到了多个页面。浏览器
UR
相关文档:
昨天在写东西的时候,数据库用的编码是UTF-8,页面也是UTF-8,然后存进数据库的时发现还是乱码。中文的时候,随后debug,查到Action里面得到的表单内容也是乱码,哈哈
问题找到了,原来是Form表单或者其他地方有问题
后来在web.xml中加上对Spring编码的控制语句,好了...呵呵
......
目前在Internet上广泛使用的后台技术种类繁多,应用比较广泛的有CGI,ASP,PHP,JSP/JavaServlet,ColdFusion等。在这一节里,主要介绍几种在国内应用比较广泛的后台语言。
CGI,全称为Common Gateway Interface
CGI就是公共网关接口 (Common Gateway Interface) 的缩写。它是最早被用来建立动态网站的后台技术 ......
package com.lsf;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.sql.*;
import java.io.*;
import java.util.ArrayList;
import java.sql.Co ......
request, reponse, out, session, application, config, pagecontext, page, exception.
一.request对象:该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。
1.Request对象可以使用getParameter(string s)方法获取该表单通过text提交的信息。如:
Requ ......
在管理工具里面有数据源 选择sql数据源
在代码中:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content= ......