JSPÖлùÓÚSessionµÄÔÚÏßÓû§Í³¼Æ·ÖÎö
JSP×÷ΪºóÆðÖ®ÐãÄܹ»ÔÚ·þÎñÆ÷±à³Ì»·¾³ÖÐÕ¼¾ÝÒ»¶¨µØÎ»£¬ÊǺÍËüÁ¼ºÃÖ§³ÖһϵÁÐÒµ½ç±ê×¼ÃÜÇÐÏà¹ØµÄ¡£Session¾ÍÊÇËüÌṩµÄ»ù´¡Éèʩ֮һ¡£×÷Ϊһ¸ö³ÌÐòÔ±£¬Äã¿ÉÒÔ²»½éÒâ¾ßÌåÔÚ¿Í»§¶ËÊÇÈçºÎʵÏÖ£¬¾Í·½±ãµÄʵÏÖ¼òµ¥µÄ»ùÓÚsessionµÄÓû§¹ÜÀí¡£ÏÖÔÚ¶ÔÓÚ´¦ÀíÔÚÏßÓû§£¬Óм¸ÖÖ²»Í¬µÄ´¦Àí·½·¨¡£
¡¡¡¡Ò»ÖÖÊÇÒ³ÃæË¢ÐÂÓÉÓû§¿ØÖÆ£¬·þÎñÆ÷¶Ë¿ØÖÆÒ»¸ö³¬Ê±Ê±¼ä±ÈÈç30·ÖÖÓ£¬µ½ÁËʱ¼äÖ®ºóÓû§Ã»Óж¯×÷¾Í±»Ìß³ö¡£ÕâÖÖ·½·¨µÄÓŵãÊÇ£¬Èç¹ûÓû§ÍüÁËÍ˳ö£¬¿ÉÒÔ·ÀÖ¹±ðÈ˶ñÒâ²Ù×÷¡£È±µãÊÇ£¬Èç¹ûÄãÔÚ×öÒ»¼þºÜºÄʱ¼äµÄÊÂÇ飬³¬¹ýÁËÕâ¸öʱ¼äÏÞÖÆ£¬submitµÄʱºò¿ÉÄÜÒªÔÙ´ÎÃæÁٵǽ¡£Èç¹ûÔÀ´µÄÒ³ÃæÓÖÊÇÇ¿ÖÆÊ§Ð§µÄ»°£¬¾ÍÓпÉÄܶªÊ§Äã×öµÄ¹¤×÷¡£ÔÚʵÏֵĽǶÈÀ´¿´£¬ÕâÊÇ×î¼òµ¥µÄ£¬Server¶ËĬÈÏʵÏֵľÍÊÇÕâÑùµÄģʽ¡£
¡¡¡¡ÁíÒ»ÖÖ·½Ê½ÊÇ£¬Õ¾µã²ÉÓÿò¼Ü½á¹¹£¬ÓÐÒ»¸öFrame»òÕßÒþ²ØµÄiframeÔÚ²»¶ÏˢУ¬ÕâÑùÄãÓÀÔ¶²»»á±»Ìß³ö£¬µ«ÊÇ·þÎñÆ÷¶ËΪÁËÅжÏÄãÊÇ·ñÔÚÏߣ¬ÐèÒª¶¨Ò»¸ö·¢´ôʱ¼ä£¬Èç¹û³¬¹ýÕâ¸ö·¢´ôʱ¼äÄã³ýÁËÕâ¸ö×Ô¶¯Ë¢ÐµÄÒ¶ÃæÍâûÓÐË¢ÐÂÆäËûÒ¶ÃæµÄ»°£¬¾ÍÈÏΪÄãÒѾ²»ÔÚÏßÁË¡£²ÉÈ¡ÕâÖÖ·½Ê½µÄµäÐÍÊÇxici.net¡£ ËûµÄÓŵãÊÇ¿ÉÒÔ¿ÉÒÔÀûÓò»¶ÏµÄË¢ÐÂʵÏÖһЩÀàËÆserver-pushµÄ¹¦ÄÜ£¬±ÈÈçÍøÓÑÖ®¼ä·¢ËÍÏûÏ¢¡£
¡¡¡¡²»¹ÜÄÄÒ»ÖÖģʽ£¬ÎªÁËʵÏÖä¯ÀÀµ±Ç°ËùÓеÄÔÚÏßÓû§£¬»¹ÐèÒª×öһЩ¶îÍâµÄ¹¤×÷¡£servlet APIÖÐûÓеõ½SessionÁбíµÄAPI¡£
¡¡¡¡¿ÉÒÔÀûÓõÄÊÇListener. Servlet 2.2ºÍ2.3¹æ·¶ÔÚÕâÀïÂÔ΢ÓÐһЩ²»Ò»Ñù¡£2.2ÖÐHttpSessionBindingListener¿ÉÒÔʵÏÖµ±Ò»¸öHTTPSessionÖеÄAttribute±ä»¯µÄʱºò֪ͨÄãµÄÀà¡£¶ø2.3Öл¹ÒýÈëÁËHttpSessionAttributeListener.¼øÓÚÎÒʹÓõĻ·¾³ÊÇVisual age for java 4ºÍJRun server 3.1£¬ËûÃÇ»¹²»Ö±½ÓÖ§³ÖServlet 2.3µÄ±à³Ì£¬ÕâÀïÎÒÓõÄÊÇHttpSessionBindingListener¡£
¡¡¡¡ÐèÒª×öµÄÊÂÇé°üÀ¨×öÒ»¸öеÄÀàÀ´ÊµÏÖHttpSessionBindingListener½Ó¿Ú¡£Õâ¸ö½Ó¿ÚÓÐÁ½¸ö·½·¨£º
¡¡¡¡public void valueBound(HttpSessionBindingEvent event)public void valueUnbound(HttpSessionBindingEvent event)
¡¡¡¡µ±ÄãÖ´ÐÐSession.addAttribute(String,Object)µÄʱºò£¬Èç¹ûÄãÒѾ°ÑÒ»¸öʵÏÖÁËHttpSessionBindingListener½Ó¿ÚµÄÀà¼ÓÈëΪAttribute£¬Session»á֪ͨÄãµÄÀ࣬µ÷ÓÃÄãµÄvalueBound·½·¨¡£Ïà·´£¬Session.removeAttribute·½·¨¶ÔÓ¦µÄÊÇvalueUndound·½·¨¡£
¡¡¡¡public class HttpSessionBinding implements javax.servlet.http.HttpSessionBindingListener {¡¡ServletContext
Ïà¹ØÎĵµ£º
<£¥@ page contentType="text/html; charset=gb2312" £¥>
<£¥@ page language="java"£¥>
<£¥@ page info="database handler"£¥>
<£¥@ page import="java.io.*"£¥>
<£¥@ page import="java.lang.*"£¥>
<£¥@ page import="java.util.*"£¥>
<£¥@ page import="java.sql.*"£¥> ......
JspµÄ¾ÅÖÖ¶ÔÏóÎÒ¼òÊöÖ®£º
page
application
request
response
session
config
out
pageContext
page
<%@page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
response
<%
response.setHeader("Pragma","No-cache");
respons ......
JSPÖеÄÌø×ª£º
(1). forward()·½·¨
ʹÓõ½javax.servlet.RequestDispatcherÀà
RequestDispatcher rd = getServletContext().getRequestDispatcher("url");
rd.forward(requestVar,requestVar); //´«µÝservletµÄÈë¿Ú²ÎÊý
/*forwardº¯ÊýÒѾ°ÑÔÒ³ÃæµÄrequest,response¶ÔÏó´«ÈëеÄÒ³Ãæ£¬Òò´ËÕâо ......
1 ±ê¼Ç´¦Àí³ÌÐòÀà
´¦ÀíÀà¼Ì³ÐTagSupportÀà²¢ÖØÔØdoStartTag()·½·¨,
Ôڸ÷½·¨ÖÐʹÓÃout.print();Êä³öÐèÒªµÄÊý¾Ýµ½Ê¹Óñ¾±êÇ©µÄjspÒ³Ãæ
package cn.xxx;
public class DateTag extends TagSupport {
private static final long serialVersionUID = 1L;
public int doStartTag() thr ......
ÏÈsunÌá³öµÄÊÇServletÌåϵ£¬Õâ¸öÌåϵʹµÃʹÓÃJAVAµÄ³ÌÐòÔ±Ò²ÄÜ¿ª·¢»ùÓÚB/S¼Ü¹¹µÄWEBÓ¦ÓóÌÐò£¬Ê¹ÓÃServletÀཫHTTPÇëÇóºÍÏìÓ¦·â×°ÔÚ±ê×¼JAVAÀàÖÐÀ´ÊµÏÖ¸÷ÖÖWEBÓ¦Ó÷½°¸¡£
Ëæ×Å´óÁ¿µÄB/S¼Ü¹¹³ÌÐò¿ª·¢³öÀ´ÒÔºó£¬ÈËÃÇ·¢ÏÖServletÀàµÄ±àдÊǷdz£·±ËöµÄ£¬Ö÷Òª¼¯ÖÐÔÚ¼¸¸öÎÊÌâÉÏ£ºÊ×ÏÈÓдóÁ¿ÈßÓà´úÂ룬ÕâЩ´úÂëÔÚÿ¸öservletÀàÖж ......