ÎåÖÖJSPÒ³ÃæÌø×ª·½·¨Ïê½â(1)
1. RequestDispatcher.forward()
ÊÇÔÚ·þÎñÆ÷¶ËÆð×÷ÓÃ,µ±Ê¹ÓÃforward()ʱ,Servlet engine´«µÝHTTPÇëÇó´Óµ±Ç°µÄServlet or JSPµ½ÁíÍâÒ»¸öServlet,JSP »òÆÕͨHTMLÎļþ,Ò²¼´ÄãµÄformÌá½»ÖÁa.jsp,ÔÚa.jspÓõ½ÁËforward()ÖØ¶¨ÏòÖÁb.jsp,´ËʱformÌá½»µÄËùÓÐÐÅÏ¢ÔÚ b.jsp¶¼¿ÉÒÔ»ñµÃ,²ÎÊý×Ô¶¯´«µÝ. µ«forward()ÎÞ·¨Öض¨ÏòÖÁÓÐframeµÄjspÎļþ,¿ÉÒÔÖØ¶¨ÏòÖÁÓÐframeµÄhtmlÎļþ,ͬʱforward()ÎÞ·¨ÔÚºóÃæ´ø²ÎÊý´«µÝ,±ÈÈçservlet?name=frank,ÕâÑù²»ÐÐ,¿ÉÒÔ³ÌÐòÄÚͨ¹ýresponse.setAttribute("name",name)À´´«ÖÁÏÂÒ»¸öÒ³Ãæ¡£
ÖØ¶¨Ïòºóä¯ÀÀÆ÷µØÖ·À¸URL²»±ä¡£
Àý£ºÔÚservletÖнøÐÐÖØ¶¨Ïò
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
¡¡ response.setContentType("text/html; charset=gb2312");
¡¡ ServletContext sc = getServletContext();
¡¡ RequestDispatcher rd = null;
¡¡ rd = sc.getRequestDispatcher("/index.jsp"); //¶¨ÏòµÄÒ³Ãæ
¡¡ rd.forward(request, response);
}
ͨ³£ÔÚservletÖÐʹÓ㬲»ÔÚjspÖÐʹÓá£
2. response.sendRedirect()
ÊÇÔÚÓû§µÄä¯ÀÀÆ÷¶Ë¹¤×÷,sendRedirect()¿ÉÒÔ´ø²ÎÊý´«µÝ,±ÈÈçservlet?name=frank´«ÖÁϸöÒ³Ãæ,ͬʱËü¿ÉÒÔÖØ¶¨ÏòÖÁ²»Í¬µÄÖ÷»úÉÏ,sendRedirect()¿ÉÒÔÖØ¶¨ÏòÓÐframe.µÄjspÎļþ.
ÖØ¶¨ÏòºóÔÚä¯ÀÀÆ÷µØÖ·À¸ÉÏ»á³öÏÖÖØ¶¨ÏòÒ³ÃæµÄURL
Àý£ºÔÚservletÖÐÖØ¶¨Ïò
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
¡¡ response.setContentType("text/html; charset=gb2312");
¡¡ response.sendRedirect("/index.jsp");
}
ÓÉÓÚresponseÊÇjspÒ³ÃæÖеÄÒþº¬¶ÔÏ󣬹ÊÔÚjspÒ³ÃæÖпÉÒÔÓÃresponse.sendRedirect()Ö±½ÓʵÏÖÖØ¶¨Î»¡£
×¢Ò⣺
(1) ʹÓÃresponse.sendRedirectʱ£¬Ç°Ãæ²»ÄÜÓÐHTMLÊä³ö£»
Õâ²¢²»ÊǾø¶ÔµÄ£¬²»ÄÜÓÐHTMLÊä³öÆäʵÊÇÖ¸²»ÄÜÓÐHTML±»Ë͵½ÁËä¯ÀÀÆ÷¡£ÊÂʵÉÏÏÖÔÚµÄserver¶¼ÓÐcache»úÖÆ£¬Ò»°ãÔÚ8K£¨ÎÒÊÇ˵ JSP¡¡SERVER£©£¬Õâ¾ÍÒâζ×Å£¬³ý·ÇÄã¹Ø±ÕÁËcache£¬»òÕßÄãʹÓÃÁËout.flush()Ç¿ÖÆË¢Ð£¬ÄÇôÔÚʹÓÃsendRedirect֮ǰ£¬ÓÐÉÙÁ¿µÄHTMLÊä³öÒ²ÊÇÔÊÐíµÄ¡£
(2) response.sendRedirectÖ®ºó£¬Ó¦¸Ã½ô¸úÒ»¾äreturn¡£
ÎÒÃÇÒѾ֪µÀresponse.sendRedirectÊÇͨ¹ýä¯ÀÀÆ÷À´×öתÏòµÄ£¬ËùÒÔÖ»ÓÐÔÚÒ³Ãæ´¦ÀíÍê³Éºó£¬²Å»áÓÐʵ¼ÊµÄ¶¯×÷¡£¼ÈÈ»ÄãÒѾҪ×öתÏòÁË£¬ÄÇôºóµÄÊä³ö»¹
Ïà¹ØÎĵµ£º
JSPÄÚÖöÔÏó(9¸ö³£ÓõÄÄÚÖöÔÏó)
1.request¶ÔÏó
¿Í»§¶ËµÄÇëÇóÐÅÏ¢±»·â×°ÔÚrequest¶ÔÏóÖУ¬Í¨¹ýËü²ÅÄÜÁ˽⵽¿Í»§µÄÐèÇó£¬È»ºó×ö³öÏìÓ¦¡£ËüÊÇHttpServletRequestÀàµÄʵÀý¡£
ÐòºÅ ·½ ·¨ ˵ Ã÷
1 object getAttribute(String name) ·µ»ØÖ¸¶¨ÊôÐÔµÄÊôÐÔÖµ
2 Enumeration getAttr ......
JSP/Servlet µÄ¹ØÏµ
JSP £¦Servlet ÊôÓÚjava web ²ãµÄ¼¼Êõ£¬×÷Óö¼ÊÇÓÃÀ´ÊµÏÖ¶¯Ì¬ÍøÒ³¡£JSP Ö÷ÒªÃæÏòµÄÊÇÍøÒ³Éè¼ÆÈËÔ±£¬Servlet Ö÷ÒªÃæÏòµÄÊdzÌÐòÉè¼ÆÈËÔ±¡£ÎÞÂÛÄã²ÉÓÃÁ½ÕßÖÐÄÄÒ»ÖÖµ¥Ò»µÄ¼¼Êõ£¬Äã¶¼¿ÉÒÔ½â¾öËùÓж¯Ì¬ÍøÒ³³ÊÏÖµÄÎÊÌâ¡£´ÓÔËÐз½Ê½ÉϽ²£¬JSP ÊÂʵÉÏÐèҪתÒëΪServlet ²ÅÄÜÔËÐУ¬ËùÒÔ£¬ÓÐÒ»ÖÖ˵·¨ËµËüÃÇÊÇ"һà ......
1. ActionContext
ÔÚStruts2¿ª·¢ÖÐ,³ýÁ˽«ÇëÇó²ÎÊý×Ô¶¯ÉèÖõ½ActionµÄ×Ö¶ÎÖÐ,ÎÒÃÇÍùÍùÒ²ÐèÒªÔÚActionÀïÖ±½Ó»ñÈ¡ÇëÇó(Request)»ò»á»°
(Session)µÄһЩÐÅÏ¢,ÉõÖÁÐèÒªÖ±½Ó¶ÔJavaServlet
HttpµÄÇëÇó(HttpServletRequest),ÏìÓ¦(HttpServletResponse)²Ù×÷.
ÎÒÃÇÐèÒªÔÚActionÖÐÈ¡µÃrequestÇëÇó²ÎÊý"username"µÄÖµ: ......
jspÒ³ÃæÖ®¼äµÄ´«ÖµÂÒÂëÎÊÌ⣬×ܽáÈçÏ£º
a.jspÍùb.jsp´«Öµ£º
a.jspÒ³ÃæÄÚÈÝ£º
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<form action="b.jsp">
name:<input type=text name=name>
<input type=s ......