¡¡¡¡1.1 application
¡¡¡¡*ÔÚjspÖлñµÃapplication¶ÔÏó
¡¡¡¡È磺getServletContext().setAttribute("counter",new mycount.Counter());
¡¡¡¡È磺<jsp:useBean scope="application" id="counter" class="mycounter.Counter"/>
¡¡¡¡*ÔÚjspÖд¦ÀíOn Application StartºÍOn Session StartʼþµÄ·½·¨
¡¡¡¡Ê¹ÓÃHttpSessionBindingListenerÀà.
¡¡¡¡Ìí¼Ósession:
¡¡¡¡session.putValue("bingdings.listener",new MyListener(getServletContext());
¡¡¡¡¶¨ÒåMyListenerÀࣺ
¡¡¡¡import javax.servlet.http.*;
¡¡¡¡import javax.servlet.*;
¡¡¡¡public class MyListener implements HttpSessionBindingListener{
¡¡¡¡ServletContext context;
¡¡¡¡public MyListener(ServletContext context){
¡¡¡¡this.context=context;
¡¡¡¡}
¡¡¡¡public void valueBound(HttpSessionBindingEvent event){
¡¡¡¡System.out.println("valuebound:someone just bound my listener to a session!");
¡¡¡¡}
¡¡¡¡public void valueUnbound(HttpSessionBindingEvent event){
¡¡¡¡System.out.println("valueunbound:someone just unbound my listener!");
¡¡¡¡}
¡¡¡¡}
¡¡¡¡1.2 request
¡¡¡¡*»ñÈ¡Ò»¸öÕýÔÚÔËÐÐʱµÄjsp/servletÎļþµÄ¾ø¶ÔurlµØÖ·
¡¡¡¡Stringf file=request.getRequestURL();
¡¡¡¡if(requet.getQueryString()!=null{
¡¡¡¡file+='?'+request.getqueryString();
¡¡¡¡}
¡¡¡¡URL reconstructedURL=new URL(request.getScheme(),request.getServerName(),request.getServerPort(),file);
¡¡¡¡out.println(reconstructedURL.toString());
¡¡¡¡*»ñÈ¡¿Í»§¶Ëͨ¹ýÄÄÒ»¸öurl·ÃÎʱ¾Ò³Ãæ
¡¡¡¡String callPage=request.getHeader("Referer");
¡¡¡¡*»ñÈ¡µ±Ç°½Å±¾ÔÚµ±½êÎļþϵͳÖеÄÕæʵ·¾¶
¡¡¡¡request.getRealPath(request.getServletPath());
¡¡¡¡*Åж϶à¸ösubmitÖеÄÒ»¸ö
¡¡¡¡<input type=submit name="sub" value="up">
¡¡¡¡<input type=submit name="sub" value="down">
¡¡¡¡ÔÚjspÖÐʹÓÃrequest.getParameter("sub");¾Í¿É·Ö±æ
¡¡¡¡1.3 response
¡¡¡¡*ÍøÒ³Öض¨ÏòÖ®Èý·½·¨
¡¡¡¡(1)response.sendRedirect(url);
¡¡¡¡(2)<£¥response.setStatus(HttpServletResponse.SC_MOVED_PREMANENTLY);
¡¡¡¡String nowloc="/newpath/index.htm";
¡¡¡¡response.setHeader("Location",newloc);£¥>
¡¡¡¡(3)<jsp:forward page="/newpage.jsp"/>
¡¡¡¡×¢ÒâÉÏ·¨Ö»ÄÜÔÚÈκÎÊä³ö»¹Ã»Óз¢Ë͵½¿Í»§¶Ë֮ǰʹÓÃÕâÖÖ·½·¨
¡¡¡¡*½ûÓûº´æ
¡¡¡¡<£¥response.setHeader("Cache-Control","no-store");
¡¡¡¡response.setDateHeader("Expires",0);£¥>
¡¡¡¡1.4 session
¡¡¡¡*´æ»îʱ¼ä
¡¡¡¡<£¥session.setMaxInactiveInterval(300);£¥>
¡¡¡¡*×¢Ïú
¡¡¡¡session.invalidate();
¡¡¡¡1.5 exception
¡¡¡¡*ÔÚjspÒ³ÃæÖд¦ÀíServletµÄ´íÎó
¡¡¡¡protected void sendErrorRedirect(HttpServletRequest request,
¡¡¡¡HttpServletResponse response,String errorPageURL,Throwable e)
¡¡¡¡throws ServletException,IOException{
¡¡¡¡request.setAttibute("javax.servlet.jsp.jspException",e);
¡¡¡¡getServletConfig().getServletContext();
¡¡¡¡getRequestDispatcher(errorPageURL).forward(request,response);
¡¡¡¡}
¡¡¡¡public void doPost(HttpServletRequest request,HttpServletResponse response){
¡¡¡¡try{
¡¡¡¡//
¡¡¡¡}
¡¡¡¡catch(Exception e){try{
¡¡¡¡sendErrorRedirect(request,response,"/jsp/ErrPage.jsp",e);
¡¡¡¡}catch(Exception e){e.printStackTrace();}
¡¡¡¡}
¡¡¡¡}
¡¡¡¡*ÔÚjspÒ³ÃæÖÐÊä³ö´íÎóµÄstacktrace
¡¡¡¡(1)
¡¡¡¡<£¥@ page isErrorPage="true£¥>
¡¡¡¡<£¥
¡¡¡¡out.println("<pre>");
¡¡¡¡printWriter pw=response.getWriter();
¡¡¡¡exception.printStackTrace(pw);
¡¡¡¡out.println("</pre>");
¡¡¡¡£¥>
¡¡¡¡(2)
¡¡¡¡<£¥@ page isErrorPage="true£¥>
¡¡¡¡<pre>
¡¡¡¡<£¥
¡¡¡¡exception.printStackTrace(new PrintWriter(out));
¡¡¡¡£¥>
¡¡¡¡</pre>
¡¡¡¡1.6 Cookie
¡¡¡¡*ÉèÖÃcookie
¡¡¡¡<£¥
¡¡¡¡Cookie mycookie=new Cookie("aName","aValue");
¡¡¡¡response.addCookie(mycookie);
¡¡¡¡//mycookie.setMaxAge(time);
¡¡¡¡£¥>