終于看到JSP了,進入實際應用階段,我原來以為JSP跟ASP或者ASP.NET差不多,今天了解了一下,感覺不是那么回事。JSP是Java Server Page的縮寫,是Servlet的擴展。書上解釋說:“在傳統的網頁HTML文件中加入Java程序片斷和JSP標簽,就構成了JSP網頁”
          jsp.JPG

                  看起來很簡單,但是JSP語法都沒有看完就遇到問題了:

          <% if(false){ %>
             She is a girl
          <% }else{  %>
             He is a boy.
          <%  }  %>
          結果是He is a boy,  這里有點不能夠理解,不知道JSP容器是怎么解釋的,暫時把“He is a boy”當作一個字符串處理

          JSP語法:
          <%@   %>用來設置和整個JSP網頁相關的屬性,常用的由Page, include, taglib
          <%!     %>用于聲明JSP代表的Servlet類的成員變量和方法
          <%      %>用于直接嵌入任何有效的Java語言代碼
          <%=    %>用于顯示表達式的值,int或者float類型的值都自動轉換成字符串加以顯示

          <%! int hitcount=1; %> 和<% int count=1; %>的區別?是類成員變量和局部變量的區別。在<%!  %>聲明中的都是類成員變量。

          隱含對象:
          使用這些對象的引用變量時不需要做任何變量聲明
          request            javax.servlet.HttpServletRequest
          reponse           javax.servlet.HttpServletResponse
          pageContext    javax.servlet.jsp.PageCntext
          application       javax.servlet.ServletContext
          out                  javax.servlet.jsp.JspWriter
          config              javax.ServletConfig
          page                java.lang.Object    (相當于Java中的this關鍵字)  
          session            javax.servlet.http.HttpSession
          exception         java.lang.Exception

          JSP與Cookie:只要客戶端不禁止,使用很簡單
                   Cokie[] cookies = request.getCookies();
                   cookies[0].getName;
                   cookies[0].getValue();
                   cookies[0].setMaxAge(30);
                   cookies[0].getMaxAge();
                   response.addCookie(new Cookie("cookieName", "cookieValue"));

          JSP轉發請求:
                <jsp:forward page="重新定向的文件" />
          如果在a.jsp中,a.jsp請求轉發給b.jsp,   a.jsp所有的數據輸出都無效;此外a.jsp和a.jsp共享同一個HttpRequest對象,因此b.jsp可以通過request.getParameter("name")方法讀取請求參數

          JSP異常處理:
               JSP異常處理是針對每個頁面的,不知道能不能在Web.xml中配置,讓所有頁面的異常處理指向通一個頁面(應該有,只是我不知道而已^_^),每個頁面都去設置errorpage感覺很麻煩。
              <%@ page errorPage="errorpage.jsp"  %>
              <%@ page isErrorPage="true" %>默認為true
          在處理異常的網頁中可以直接訪問exception隱含對象:<%=exception.getMessage() %>   <% exception.printStackTrace(new PrintWriter(out));%>在異常處理頁面中也是共享一個HttpRequest對象,應此也可以使用<%=request.getParameter("name");%>



          今天就學這么一點點,玩會兒wow先^_^

          posted on 2005-08-07 17:03 恏人 閱讀(251) 評論(0)  編輯  收藏 所屬分類: Java學習歷程

          統計

          主站蜘蛛池模板: 浦县| 珲春市| 樟树市| 滦南县| 阿勒泰市| 大同市| 济宁市| 吴堡县| 墨江| 醴陵市| 攀枝花市| 五大连池市| 北川| 应用必备| 涟源市| 夏邑县| 武陟县| 大安市| 长治市| 南木林县| 河池市| 寿光市| 沧源| 鄢陵县| 博野县| 邵阳市| 杭锦后旗| 灵武市| 安远县| 阳城县| 巨野县| 清徐县| 凤冈县| 厦门市| 平利县| 吐鲁番市| 张掖市| 肥乡县| 巴林右旗| 含山县| 五河县|