最近在學(xué)JSP編程,感覺JSP的內(nèi)部對象在實際開發(fā)中的作用不小。今天剛好看到一篇不錯的資料,自己整理下!
1、Out對象
主要用來向客戶端輸出各種格式的數(shù)據(jù),并且管理應(yīng)用服務(wù)器上的輸出緩沖區(qū),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建立請求關(guān)系):
引入頁面:
<%@page language="java"
contentType="text/html;charset=gb2312"
%>
<%@ include file="1.jsp" %>
你剛才輸入的內(nèi)容是:
<%=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"
%>
你剛才輸入的內(nèi)容是:<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.*"
%>
你剛才輸入的內(nèi)容是:<BR>
<%
Enumeration e=request.getParameterNames();
while(e.hasMoreElements()){
String parameterName=(String)e.nextElement();
String parameterValue=(String)request.getParameter(parameterName);
out.print("參數(shù)名稱:"+parameterName+"<BR>");
out.print("參數(shù)內(nèi)容:"+parameterValue+"<BR>");
}
%>
PS:Enumeration接口的API:
實現(xiàn) Enumeration 接口的對象,它生成一系列元素,一次生成一個。連續(xù)調(diào)用 nextElement 方法將返回一系列的連續(xù)元素。
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("變量內(nèi)容:"+attributeValue+"<BR>");
}
%>
</FORM>
</FORM>
</BODY>
</HTML>
轉(zhuǎn)向頁面
<%@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()方法網(wǎng)頁自動刷新實例:
<%@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();方法實現(xiàn)頁面的跳轉(zhuǎn)
<%@page language="java"
contentType="text/html;charset=gb2312"
import="java.util.*"
%>
<HTML>
<HEAD>
<TITLE> response頁面跳轉(zhuǎn)實例</TITLE>
</HEAD>
<BODY>
<%
??? response.sendRedirect("login.jsp");
%>
</BODY>
</HTML>
4、Application對象
在JSP服務(wù)器運行時刻,僅有一個Application對象,它由服務(wù)器創(chuàng)建,也由服務(wù)器自動清除,
不能被用戶創(chuàng)建和清除。我們只能創(chuàng)建這個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對象
當用戶登陸網(wǎng)站,系統(tǒng)將為他生成一個獨一無二的Session對象,用以記錄改用戶的個人信息
,一旦該用戶退出網(wǎng)站,那么該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>
轉(zhuǎn)向頁面1
<%@page language="java"
contentType="text/html;charset=gb2312"
%>
<HTML>
<HEAD>
<TITLE> Session轉(zhuǎn)向頁面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>
轉(zhuǎn)向頁面2
<%@page language="java"
contentType="text/html;charset=gb2312"
%>
<HTML>
<HEAD>
<TITLE> Session轉(zhuǎn)向頁面2</TITLE>
</HEAD>
<BODY>
<%
String usr=(String)session.getValue("username");
String pwd=(String)session.getValue("password");
%>
<%=usr%><BR>
<%=pwd%>
</BODY>
</HTML>
invalidate()方法將會將會清除當前的session對象解除它和任何參數(shù)或者JAVA對象的綁定關(guān)系
歡迎來訪!^.^!
本BLOG僅用于個人學(xué)習(xí)交流!
目的在于記錄個人成長.
所有文字均屬于個人理解.
如有錯誤,望多多指教!不勝感激!