解決之道

          個人日記
          posts - 33, comments - 1, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          [導入]JSP內部對象學習

          Posted on 2008-07-31 15:29 閱讀(261) 評論(0)  編輯  收藏

          最近在學JSP編程,感覺JSP的內部對象在實際開發中的作用不小。今天剛好看到一篇不錯的資料,自己整理下!


          1、Out對象

          主要用來向客戶端輸出各種格式的數據,并且管理應用服務器上的輸出緩沖區,Out對象的基類是javax.servlet.jsp.JspWriter類。

          Out的主要方法:

          out.println(DataType);或out.print(DataType);

          實例:

          <%@page? language="java"
          contentType="text/html;charset=gb2312"
          import="java.util.*"
          %>
          <HTML>
          <HEAD>
          <TITLE> out對象使用實例</TITLE>
          </HEAD>
          <BODY>
          <%
          out.println(new Date().toLocaleString());
          out.print("<BR>");
          out.print("測試成功");
          %>
          </BODY>
          </HTML>

          2、Request對象

          Request.setAttribute()與Request.getAttribute()方法實例(也可以使用forward建立請求關系):

          引入頁面:

          <%@page language="java"
          contentType="text/html;charset=gb2312"
          %>
          <%@ include file="1.jsp" %>
          你剛才輸入的內容是:
          <%=request.getAttribute("gr")%>

          主頁面:

          < %@page language="java"
          contentType="text/html;charset=gb2312"
          import="java.util.*"
          %>
          <HTML>
          <HEAD>
          <TITLE> request對象使用實例</TITLE>
          </HEAD>
          <BODY>
          <%
          request.setAttribute("gr","123333");
          %>
          </FORM>
          </BODY>
          </HTML>

          Request.getParameter()方法實例

          主頁面

          <%@page language="java"
          contentType="text/html;charset=gb2312"
          import="java.util.*"
          %>
          <HTML>
          <HEAD>
          <TITLE> request.getParameter()方法使用實例</TITLE>
          </HEAD>
          <BODY>
          <FORM METHOD=POST ACTION="2.jsp">
          <INPUT TYPE="text" NAME="gr1"><BR>
          <INPUT TYPE="text" NAME="gr2"><BR>
          <INPUT TYPE="text" NAME="gr3"><BR>
          <INPUT TYPE="submit" NAME="submit" value="提交">
          <INPUT TYPE="reset" NAME="reset" value="清除">
          </FORM>
          </FORM>
          </BODY>
          </HTML>

          引入頁面

          <%@page language="java"
          contentType="text/html;charset=gb2312"
          %>
          你剛才輸入的內容是:<BR>
          <%=request.getParameter("gr1")%><BR>
          <%=request.getParameter("gr2")%><BR>
          <%=request.getParameter("gr3")%><BR>

          Request.getParameterName()方法實例

          主頁面

          <%@page? language="java"
          contentType="text/html;charset=gb2312"
          %>
          <HTML>
          <HEAD>
          <TITLE> request.getParameterName()方法使用實例</TITLE>
          </HEAD>
          <BODY>
          <FORM METHOD=post ACTION="2.jsp">
          <INPUT TYPE="text" NAME="gr1"><BR>
          <INPUT TYPE="text" NAME="gr2"><BR>
          <INPUT TYPE="text" NAME="gr3"><BR>
          <INPUT TYPE="submit" value="提交">
          <INPUT TYPE="reset" value="清除">
          </FORM>
          </FORM>
          </BODY>
          </HTML>

          指向頁面

          <%@page language="java"
          contentType="text/html;charset=gb2312"
          import="java.util.*"
          %>
          你剛才輸入的內容是:<BR>
          <%
          Enumeration e=request.getParameterNames();
          while(e.hasMoreElements()){
          String parameterName=(String)e.nextElement();
          String parameterValue=(String)request.getParameter(parameterName);
          out.print("參數名稱:"+parameterName+"<BR>");
          out.print("參數內容:"+parameterValue+"<BR>");
          }
          %>
          PS:Enumeration接口的API:
          實現 Enumeration 接口的對象,它生成一系列元素,一次生成一個。連續調用 nextElement 方法將返回一系列的連續元素。
          hasMoreElements ()
          ????????? 測試此枚舉是否包含更多的元素。
          nextElement ()
          ????????? 如果此枚舉對象至少還有一個可提供的元素,則返回此枚舉的下一個元素。

          Request.getAttributeName()方法實例

          主頁面:

          <%@page language="java"
          contentType="text/html;charset=gb2312"
          import="java.util.*"
          %>
          <HTML>
          <HEAD>
          <TITLE> request.getAttributeName()方法使用實例</TITLE>
          </HEAD>
          <BODY>
          <jsp:include page="2.jsp" flush="true"/>
          <%
          Enumeration e=request.getAttributeNames();
          while(e.hasMoreElements()){
          String attributeName=(String)e.nextElement();
          String attributeValue=(String)request.getAttribute(attributeName);
          out.print("變量名稱:"+attributeName);
          out.print("變量內容:"+attributeValue+"<BR>");
          }
          %>
          </FORM>
          </FORM>
          </BODY>
          </HTML>


          轉向頁面

          <%@page language="java"
          contentType="text/html;charset=gb2312"
          %>
          <%
          request.setAttribute("gr1","111");
          request.setAttribute("gr2","222");
          request.setAttribute("gr3","333");
          %>

          request.getRemoteAddr()方法實例:

          <%@page language="java"
          contentType="text/html;charset=gb2312"
          %>
          <HTML>
          <HEAD>
          <TITLE> request.getRemoteAddr()方法使用實例</TITLE>
          </HEAD>
          <BODY>
          <B>你的IP地址:</B>
          <B><%=request.getRemoteAddr()%></B>
          </FORM>
          </FORM>
          </BODY>
          </HTML>

          3、Response對象

          response.setHeader()方法網頁自動刷新實例:

          <%@page language="java"
          contentType="text/html;charset=gb2312"
          import="java.util.*"
          %>
          <HTML>
          <HEAD>
          <TITLE> response刷新頁面實例</TITLE>
          </HEAD>
          <BODY>
          <%
          response.setHeader("refresh","3");
          out.println(new Date().toLocaleString());
          %>
          </BODY>
          </HTML>


          response.sendRedirect();方法實現頁面的跳轉
          <%@page language="java"
          contentType="text/html;charset=gb2312"
          import="java.util.*"
          %>
          <HTML>
          <HEAD>
          <TITLE> response頁面跳轉實例</TITLE>
          </HEAD>
          <BODY>
          <%
          ??? response.sendRedirect("login.jsp");
          %>
          </BODY>
          </HTML>

          4、Application對象

          在JSP服務器運行時刻,僅有一個Application對象,它由服務器創建,也由服務器自動清除,
          不能被用戶創建和清除。我們只能創建這個Appliation對象的同步拷貝。

          setAttribute(),getAttribute()和removeAttribute()方法實例:

          <%@page language="java"
          contentType="text/html;charset=gb2312"
          %>
          <HTML>
          <HEAD>
          <TITLE> Application對象方法實例</TITLE>
          </HEAD>
          <BODY>
          <%
          String username="rossini";
          String password="126263";
          application.setAttribute("username",username);
          application.setAttribute("password",password);
          out.println(application.getAttribute("username")+"<BR>");
          out.println(application.getAttribute("password")+"<BR>");
          application.removeAttribute("password");
          out.println(application.getAttribute("password")+"<BR>");
          %>
          </BODY>
          </HTML>

          getAttributeNames()方法實例:

          <%@page language="java"
          contentType="text/html;charset=gb2312"
          import="java.util.*"
          %>
          <HTML>
          <HEAD>
          <TITLE> Application對象方法實例</TITLE>
          </HEAD>
          <BODY>
          <%
          String username="rossini";
          String password="126263";

          application.setAttribute("username",username);
          application.setAttribute("password",password);

          Enumeration enum=application.getAttributeNames();
          while(enum.hasMoreElements()){
          String attrName=(String)enum.nextElement();
          out.println(attrName+"----"+application.getAttribute(attrName)+"<BR>");
          }

          %>
          </BODY>
          </HTML>


          5、Session對象

          當用戶登陸網站,系統將為他生成一個獨一無二的Session對象,用以記錄改用戶的個人信息
          ,一旦該用戶退出網站,那么該Session對象將會注銷。Session對象可以綁定若干個人信息或
          者Java對象,不同Session對象的同名變量是不會相互干擾的。

          getValue(String name)、putValue(String name)、removeValue(String name)、getValueNames()
          、getCreationTime()、getId()、getLastAccessedTime()、getMaxInactiveInterval()、
          setMaxInactiveInterval()方法:

          主文件:

          <%@page? language="java"
          contentType="text/html;charset=gb2312"
          %>
          <HTML>
          <HEAD>
          <TITLE> Session主頁面</TITLE>
          </HEAD>
          <BODY>
          <%
          String username="rossini";
          String password="126263";
          session.putValue("username",username);
          session.putValue("password",password);
          %>
          <A HREF="2.jsp">指向第二頁</A>
          </BODY>
          </HTML>

          轉向頁面1

          <%@page language="java"
          contentType="text/html;charset=gb2312"
          %>
          <HTML>
          <HEAD>
          <TITLE> Session轉向頁面1</TITLE>
          </HEAD>
          <BODY>
          <%
          String usr=(String)session.getValue("username");
          String pwd=(String)session.getValue("password");
          %>
          <%=usr%><BR>
          <%=pwd%><BR>
          <%out.println("session create:"+session.getCreationTime());%><BR>
          <%out.println("session id:"+session.getId());%><BR>
          <%out.println("session last access:"+session.getLastAccessedTime());%><BR>
          <%out.println("session 原來最大休眠時間:"+session.getMaxInactiveInterval());%><BR>
          <%session.setMaxInactiveInterval(session.getMaxInactiveInterval()+1);%><BR>
          <%out.println("session 最新最大休眠時間:"+session.getMaxInactiveInterval());%><BR
          <%
          String []name=session.getValueNames();
          out.println("--------------"+"<BR>");
          for(int i=0;i<name.length;i++)
          {
          out.println(session.getValue(name[i])+"<BR>");
          }
          %>
          <%
          session.removeValue("username");
          %>
          <A HREF="3.jsp">指向第三頁</A>
          </BODY>
          </HTML>

          轉向頁面2

          <%@page language="java"
          contentType="text/html;charset=gb2312"
          %>
          <HTML>
          <HEAD>
          <TITLE> Session轉向頁面2</TITLE>
          </HEAD>
          <BODY>
          <%
          String usr=(String)session.getValue("username");
          String pwd=(String)session.getValue("password");
          %>
          <%=usr%><BR>
          <%=pwd%>
          </BODY>
          </HTML>

          invalidate()方法將會將會清除當前的session對象解除它和任何參數或者JAVA對象的綁定關系



          久城 2006-10-08 20:54 發表評論

          文章來源:http://www.aygfsteel.com/realsmy/archive/2006/10/08/73901.html

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 策勒县| 卢湾区| 大庆市| 余江县| 辽宁省| 巴青县| 沽源县| 方城县| 邢台市| 济阳县| 江达县| 文山县| 千阳县| 留坝县| 天全县| 新源县| 剑阁县| 台前县| 会昌县| 凤城市| 突泉县| 叶城县| 治县。| 分宜县| 同德县| 枞阳县| 盐山县| 定安县| 黄骅市| 大邑县| 克拉玛依市| 肇源县| 安化县| 普定县| 新竹市| 巴林右旗| 莆田市| 莱西市| 连江县| 宁国市| 庆安县|