51La

          JSP內部對象學習

          Posted on 2006-10-08 20:54 久城 閱讀(1002) 評論(1)  編輯  收藏 所屬分類: Jsp學習

          最近在學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對象的綁定關系



          歡迎來訪!^.^!
          本BLOG僅用于個人學習交流!
          目的在于記錄個人成長.
          所有文字均屬于個人理解.
          如有錯誤,望多多指教!不勝感激!

          Feedback

          # re: JSP內部對象學習  回復  更多評論   

          2007-04-07 17:39 by 謝曉靜
          呵呵,我引用了半天,后來看到怎么出來個大四,東軟什么的。 一看,呵呵, 這不是坐在我后面的大哥的大作嗎? 嘖嘖, 下次再過來踩。

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


          網站導航:
           

          Copyright © 久城

          主站蜘蛛池模板: 阿拉尔市| 崇左市| 康马县| 泸定县| 沅江市| 通州市| 天气| 美姑县| 若尔盖县| 宁波市| 长武县| 隆子县| 海城市| 合肥市| 溆浦县| 沙坪坝区| 盐池县| 新晃| 眉山市| 广元市| 兴安县| 渭源县| 姚安县| 宜川县| 云浮市| 广丰县| 金门县| 镇江市| 房山区| 青铜峡市| 宜都市| 衢州市| 资中县| 敦煌市| 齐河县| 石景山区| 东乡县| 延长县| 黄陵县| 玉龙| 永泰县|