﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-realsmy-随笔分类-jsp学习</title><link>http://www.blogjava.net/realsmy/category/16034.html</link><description>久城的学习室</description><language>zh-cn</language><lastBuildDate>Wed, 10 Oct 2007 10:57:35 GMT</lastBuildDate><pubDate>Wed, 10 Oct 2007 10:57:35 GMT</pubDate><ttl>60</ttl><item><title>整理近几天处理JSP页面中遇到的几个问题</title><link>http://www.blogjava.net/realsmy/archive/2007/10/10/151692.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Wed, 10 Oct 2007 05:51:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2007/10/10/151692.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/151692.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2007/10/10/151692.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/151692.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/151692.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 十一回家腐败了几天，回到公司，紧张的气氛又开始了。继续奋斗。&nbsp;&nbsp;<a href='http://www.blogjava.net/realsmy/archive/2007/10/10/151692.html'>阅读全文</a><img src ="http://www.blogjava.net/realsmy/aggbug/151692.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2007-10-10 13:51 <a href="http://www.blogjava.net/realsmy/archive/2007/10/10/151692.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP生成验证码</title><link>http://www.blogjava.net/realsmy/archive/2007/04/18/111725.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Wed, 18 Apr 2007 11:54:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2007/04/18/111725.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/111725.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2007/04/18/111725.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/111725.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/111725.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: JSP生成验证码学习。&nbsp;&nbsp;<a href='http://www.blogjava.net/realsmy/archive/2007/04/18/111725.html'>阅读全文</a><img src ="http://www.blogjava.net/realsmy/aggbug/111725.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2007-04-18 19:54 <a href="http://www.blogjava.net/realsmy/archive/2007/04/18/111725.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP内部对象学习</title><link>http://www.blogjava.net/realsmy/archive/2006/10/08/73901.html</link><dc:creator>久城</dc:creator><author>久城</author><pubDate>Sun, 08 Oct 2006 12:54:00 GMT</pubDate><guid>http://www.blogjava.net/realsmy/archive/2006/10/08/73901.html</guid><wfw:comment>http://www.blogjava.net/realsmy/comments/73901.html</wfw:comment><comments>http://www.blogjava.net/realsmy/archive/2006/10/08/73901.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/realsmy/comments/commentRss/73901.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/realsmy/services/trackbacks/73901.html</trackback:ping><description><![CDATA[
		<p>最近在学JSP编程，感觉JSP的内部对象在实际开发中的作用不小。今天刚好看到一篇不错的资料，自己整理下！</p>
		<p>
				<br />1、Out对象 </p>
		<p>主要用来向客户端输出各种格式的数据，并且管理应用服务器上的输出缓冲区，Out对象的基类是javax.servlet.jsp.JspWriter类。 </p>
		<p>Out的主要方法： </p>
		<p>out.println(DataType);或out.print(DataType); </p>
		<p>实例： </p>
		<p>&lt;<a href="mailto:%@page">%@page</a>  language="java" <br />contentType="text/html;charset=gb2312" <br />import="java.util.*" <br />%&gt; <br />&lt;HTML&gt; <br />&lt;HEAD&gt; <br />&lt;TITLE&gt; out对象使用实例&lt;/TITLE&gt; <br />&lt;/HEAD&gt; <br />&lt;BODY&gt; <br />&lt;% <br />out.println(new Date().toLocaleString()); <br />out.print("&lt;BR&gt;"); <br />out.print("测试成功"); <br />%&gt; <br />&lt;/BODY&gt; <br />&lt;/HTML&gt; </p>
		<p>2、Request对象 </p>
		<p>Request.setAttribute()与Request.getAttribute()方法实例（也可以使用forward建立请求关系）： </p>
		<p>引入页面： </p>
		<p>&lt;<a href="mailto:%@page">%@page</a> language="java" <br />contentType="text/html;charset=gb2312" <br />%&gt; <br />&lt;%@ include file="1.jsp" %&gt; <br />你刚才输入的内容是： <br />&lt;%=request.getAttribute("gr")%&gt; </p>
		<p>主页面： </p>
		<p>&lt; <a href="mailto:%@page">%@page</a> language="java" <br />contentType="text/html;charset=gb2312" <br />import="java.util.*" <br />%&gt; <br />&lt;HTML&gt; <br />&lt;HEAD&gt; <br />&lt;TITLE&gt; request对象使用实例&lt;/TITLE&gt; <br />&lt;/HEAD&gt; <br />&lt;BODY&gt; <br />&lt;% <br />request.setAttribute("gr","123333"); <br />%&gt; <br />&lt;/FORM&gt; <br />&lt;/BODY&gt; <br />&lt;/HTML&gt; </p>
		<p>Request.getParameter()方法实例 </p>
		<p>主页面 </p>
		<p>&lt;<a href="mailto:%@page">%@page</a> language="java" <br />contentType="text/html;charset=gb2312" <br />import="java.util.*" <br />%&gt; <br />&lt;HTML&gt; <br />&lt;HEAD&gt; <br />&lt;TITLE&gt; request.getParameter()方法使用实例&lt;/TITLE&gt; <br />&lt;/HEAD&gt; <br />&lt;BODY&gt; <br />&lt;FORM METHOD=POST ACTION="2.jsp"&gt; <br />&lt;INPUT TYPE="text" NAME="gr1"&gt;&lt;BR&gt; <br />&lt;INPUT TYPE="text" NAME="gr2"&gt;&lt;BR&gt; <br />&lt;INPUT TYPE="text" NAME="gr3"&gt;&lt;BR&gt; <br />&lt;INPUT TYPE="submit" NAME="submit" value="提交"&gt; <br />&lt;INPUT TYPE="reset" NAME="reset" value="清除"&gt; <br />&lt;/FORM&gt; <br />&lt;/FORM&gt; <br />&lt;/BODY&gt; <br />&lt;/HTML&gt; </p>
		<p>引入页面 </p>
		<p>&lt;<a href="mailto:%@page">%@page</a> language="java" <br />contentType="text/html;charset=gb2312" <br />%&gt; <br />你刚才输入的内容是：&lt;BR&gt; <br />&lt;%=request.getParameter("gr1")%&gt;&lt;BR&gt; <br />&lt;%=request.getParameter("gr2")%&gt;&lt;BR&gt; <br />&lt;%=request.getParameter("gr3")%&gt;&lt;BR&gt; </p>
		<p>Request.getParameterName()方法实例 </p>
		<p>主页面 </p>
		<p>&lt;<a href="mailto:%@page">%@page</a>  language="java" <br />contentType="text/html;charset=gb2312" <br />%&gt; <br />&lt;HTML&gt; <br />&lt;HEAD&gt; <br />&lt;TITLE&gt; request.getParameterName()方法使用实例&lt;/TITLE&gt; <br />&lt;/HEAD&gt; <br />&lt;BODY&gt; <br />&lt;FORM METHOD=post ACTION="2.jsp"&gt; <br />&lt;INPUT TYPE="text" NAME="gr1"&gt;&lt;BR&gt; <br />&lt;INPUT TYPE="text" NAME="gr2"&gt;&lt;BR&gt; <br />&lt;INPUT TYPE="text" NAME="gr3"&gt;&lt;BR&gt; <br />&lt;INPUT TYPE="submit" value="提交"&gt; <br />&lt;INPUT TYPE="reset" value="清除"&gt; <br />&lt;/FORM&gt; <br />&lt;/FORM&gt; <br />&lt;/BODY&gt; <br />&lt;/HTML&gt; </p>
		<p>指向页面 </p>
		<p>&lt;<a href="mailto:%@page">%@page</a> language="java" <br />contentType="text/html;charset=gb2312" <br />import="java.util.*" <br />%&gt; <br />你刚才输入的内容是：&lt;BR&gt; <br />&lt;% <br />Enumeration e=request.getParameterNames(); <br />while(e.hasMoreElements()){ <br />String parameterName=(String)e.nextElement(); <br />String parameterValue=(String)request.getParameter(parameterName); <br />out.print("参数名称："+parameterName+"&lt;BR&gt;"); <br />out.print("参数内容："+parameterValue+"&lt;BR&gt;"); <br />} <br />%&gt;<br />PS：Enumeration接口的API：<br />实现 Enumeration 接口的对象，它生成一系列元素，一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。<br />hasMoreElements () <br />          测试此枚举是否包含更多的元素。<br />nextElement () <br />          如果此枚举对象至少还有一个可提供的元素，则返回此枚举的下一个元素。</p>
		<p>Request.getAttributeName()方法实例 </p>
		<p>主页面： </p>
		<p>&lt;<a href="mailto:%@page">%@page</a> language="java" <br />contentType="text/html;charset=gb2312" <br />import="java.util.*" <br />%&gt; <br />&lt;HTML&gt; <br />&lt;HEAD&gt; <br />&lt;TITLE&gt; request.getAttributeName()方法使用实例&lt;/TITLE&gt; <br />&lt;/HEAD&gt; <br />&lt;BODY&gt; <br />&lt;jsp:include page="2.jsp" flush="true"/&gt; <br />&lt;% <br />Enumeration e=request.getAttributeNames(); <br />while(e.hasMoreElements()){ <br />String attributeName=(String)e.nextElement(); <br />String attributeValue=(String)request.getAttribute(attributeName); <br />out.print("变量名称："+attributeName); <br />out.print("变量内容："+attributeValue+"&lt;BR&gt;"); <br />} <br />%&gt; <br />&lt;/FORM&gt; <br />&lt;/FORM&gt; <br />&lt;/BODY&gt; <br />&lt;/HTML&gt; </p>
		<p>
				<br />转向页面 </p>
		<p>&lt;<a href="mailto:%@page">%@page</a> language="java" <br />contentType="text/html;charset=gb2312" <br />%&gt; <br />&lt;% <br />request.setAttribute("gr1","111"); <br />request.setAttribute("gr2","222"); <br />request.setAttribute("gr3","333"); <br />%&gt; </p>
		<p>request.getRemoteAddr()方法实例： </p>
		<p>&lt;<a href="mailto:%@page">%@page</a> language="java" <br />contentType="text/html;charset=gb2312" <br />%&gt; <br />&lt;HTML&gt; <br />&lt;HEAD&gt; <br />&lt;TITLE&gt; request.getRemoteAddr()方法使用实例&lt;/TITLE&gt; <br />&lt;/HEAD&gt; <br />&lt;BODY&gt; <br />&lt;B&gt;你的IP地址：&lt;/B&gt; <br />&lt;B&gt;&lt;%=request.getRemoteAddr()%&gt;&lt;/B&gt; <br />&lt;/FORM&gt; <br />&lt;/FORM&gt; <br />&lt;/BODY&gt; <br />&lt;/HTML&gt; </p>
		<p>3、Response对象 </p>
		<p>response.setHeader()方法网页自动刷新实例： </p>
		<p>&lt;<a href="mailto:%@page">%@page</a> language="java" <br />contentType="text/html;charset=gb2312" <br />import="java.util.*" <br />%&gt; <br />&lt;HTML&gt; <br />&lt;HEAD&gt; <br />&lt;TITLE&gt; response刷新页面实例&lt;/TITLE&gt; <br />&lt;/HEAD&gt; <br />&lt;BODY&gt; <br />&lt;% <br />response.setHeader("refresh","3"); <br />out.println(new Date().toLocaleString()); <br />%&gt; <br />&lt;/BODY&gt; <br />&lt;/HTML&gt; </p>
		<p>
				<br />response.sendRedirect();方法实现页面的跳转 <br />&lt;<a href="mailto:%@page">%@page</a> language="java" <br />contentType="text/html;charset=gb2312" <br />import="java.util.*" <br />%&gt; <br />&lt;HTML&gt; <br />&lt;HEAD&gt; <br />&lt;TITLE&gt; response页面跳转实例&lt;/TITLE&gt; <br />&lt;/HEAD&gt; <br />&lt;BODY&gt; <br />&lt;% <br />    response.sendRedirect("login.jsp");<br />%&gt; <br />&lt;/BODY&gt; <br />&lt;/HTML&gt; </p>
		<p>4、Application对象 </p>
		<p>在JSP服务器运行时刻，仅有一个Application对象，它由服务器创建，也由服务器自动清除, <br />不能被用户创建和清除。我们只能创建这个Appliation对象的同步拷贝。 </p>
		<p>setAttribute(),getAttribute()和removeAttribute()方法实例： </p>
		<p>&lt;<a href="mailto:%@page">%@page</a> language="java" <br />contentType="text/html;charset=gb2312" <br />%&gt; <br />&lt;HTML&gt; <br />&lt;HEAD&gt; <br />&lt;TITLE&gt; Application对象方法实例&lt;/TITLE&gt; <br />&lt;/HEAD&gt; <br />&lt;BODY&gt; <br />&lt;% <br />String username="rossini"; <br />String password="126263"; <br />application.setAttribute("username",username); <br />application.setAttribute("password",password); <br />out.println(application.getAttribute("username")+"&lt;BR&gt;"); <br />out.println(application.getAttribute("password")+"&lt;BR&gt;"); <br />application.removeAttribute("password"); <br />out.println(application.getAttribute("password")+"&lt;BR&gt;"); <br />%&gt; <br />&lt;/BODY&gt; <br />&lt;/HTML&gt; </p>
		<p>getAttributeNames()方法实例： </p>
		<p>&lt;<a href="mailto:%@page">%@page</a> language="java" <br />contentType="text/html;charset=gb2312" <br />import="java.util.*" <br />%&gt; <br />&lt;HTML&gt; <br />&lt;HEAD&gt; <br />&lt;TITLE&gt; Application对象方法实例&lt;/TITLE&gt; <br />&lt;/HEAD&gt; <br />&lt;BODY&gt; <br />&lt;% <br />String username="rossini"; <br />String password="126263"; </p>
		<p>application.setAttribute("username",username); <br />application.setAttribute("password",password); </p>
		<p>Enumeration enum=application.getAttributeNames(); <br />while(enum.hasMoreElements()){ <br />String attrName=(String)enum.nextElement(); <br />out.println(attrName+"----"+application.getAttribute(attrName)+"&lt;BR&gt;"); <br />} </p>
		<p>%&gt; <br />&lt;/BODY&gt; <br />&lt;/HTML&gt; </p>
		<p>
				<br />5、Session对象 </p>
		<p>当用户登陆网站，系统将为他生成一个独一无二的Session对象，用以记录改用户的个人信息 <br />，一旦该用户退出网站，那么该Session对象将会注销。Session对象可以绑定若干个人信息或 <br />者Java对象，不同Session对象的同名变量是不会相互干扰的。 </p>
		<p>getValue(String name)、putValue(String name)、removeValue(String name)、getValueNames() <br />、getCreationTime()、getId()、getLastAccessedTime()、getMaxInactiveInterval()、 <br />setMaxInactiveInterval()方法： </p>
		<p>主文件： </p>
		<p>&lt;<a href="mailto:%@page">%@page</a>  language="java" <br />contentType="text/html;charset=gb2312" <br />%&gt; <br />&lt;HTML&gt; <br />&lt;HEAD&gt; <br />&lt;TITLE&gt; Session主页面&lt;/TITLE&gt; <br />&lt;/HEAD&gt; <br />&lt;BODY&gt; <br />&lt;% <br />String username="rossini"; <br />String password="126263"; <br />session.putValue("username",username); <br />session.putValue("password",password); <br />%&gt; <br />&lt;A HREF="2.jsp"&gt;指向第二页&lt;/A&gt; <br />&lt;/BODY&gt; <br />&lt;/HTML&gt; </p>
		<p>转向页面1 </p>
		<p>&lt;<a href="mailto:%@page">%@page</a> language="java" <br />contentType="text/html;charset=gb2312" <br />%&gt; <br />&lt;HTML&gt; <br />&lt;HEAD&gt; <br />&lt;TITLE&gt; Session转向页面1&lt;/TITLE&gt; <br />&lt;/HEAD&gt; <br />&lt;BODY&gt; <br />&lt;% <br />String usr=(String)session.getValue("username"); <br />String pwd=(String)session.getValue("password"); <br />%&gt; <br />&lt;%=usr%&gt;&lt;BR&gt; <br />&lt;%=pwd%&gt;&lt;BR&gt; <br />&lt;%out.println("session create:"+session.getCreationTime());%&gt;&lt;BR&gt; <br />&lt;%out.println("session id:"+session.getId());%&gt;&lt;BR&gt; <br />&lt;%out.println("session last access:"+session.getLastAccessedTime());%&gt;&lt;BR&gt; <br />&lt;%out.println("session 原来最大休眠时间:"+session.getMaxInactiveInterval());%&gt;&lt;BR&gt; <br />&lt;%session.setMaxInactiveInterval(session.getMaxInactiveInterval()+1);%&gt;&lt;BR&gt; <br />&lt;%out.println("session 最新最大休眠时间:"+session.getMaxInactiveInterval());%&gt;&lt;BR <br />&lt;% <br />String []name=session.getValueNames(); <br />out.println("--------------"+"&lt;BR&gt;"); <br />for(int i=0;i&lt;name.length;i++) <br />{ <br />out.println(session.getValue(name[i])+"&lt;BR&gt;"); <br />} <br />%&gt; <br />&lt;% <br />session.removeValue("username"); <br />%&gt; <br />&lt;A HREF="3.jsp"&gt;指向第三页&lt;/A&gt; <br />&lt;/BODY&gt; <br />&lt;/HTML&gt; </p>
		<p>转向页面2 </p>
		<p>&lt;<a href="mailto:%@page">%@page</a> language="java" <br />contentType="text/html;charset=gb2312" <br />%&gt; <br />&lt;HTML&gt; <br />&lt;HEAD&gt; <br />&lt;TITLE&gt; Session转向页面2&lt;/TITLE&gt; <br />&lt;/HEAD&gt; <br />&lt;BODY&gt; <br />&lt;% <br />String usr=(String)session.getValue("username"); <br />String pwd=(String)session.getValue("password"); <br />%&gt; <br />&lt;%=usr%&gt;&lt;BR&gt; <br />&lt;%=pwd%&gt; <br />&lt;/BODY&gt; <br />&lt;/HTML&gt; </p>
		<p>invalidate()方法将会将会清除当前的session对象解除它和任何参数或者JAVA对象的绑定关系 <br /></p>
<img src ="http://www.blogjava.net/realsmy/aggbug/73901.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/realsmy/" target="_blank">久城</a> 2006-10-08 20:54 <a href="http://www.blogjava.net/realsmy/archive/2006/10/08/73901.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>