<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alex's Blog &#187; 属性</title>
	<atom:link href="http://www.hialex.net/tags/%e5%b1%9e%e6%80%a7/feed" rel="self" type="application/rss+xml" />
	<link>http://www.hialex.net</link>
	<description>记录生活与工作中的点点滴滴</description>
	<lastBuildDate>Sat, 09 Jan 2010 12:37:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JavaBean语法(下)</title>
		<link>http://www.hialex.net/2008/03/javabean-syntax-b.html</link>
		<comments>http://www.hialex.net/2008/03/javabean-syntax-b.html#comments</comments>
		<pubDate>Sat, 15 Mar 2008 08:44:56 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[bean]]></category>
		<category><![CDATA[javabean]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[属性]]></category>
		<category><![CDATA[范围]]></category>

		<guid isPermaLink="false">http://www.hialex.net/2008/03/javabean-syntax-b.html</guid>
		<description><![CDATA[为什么能通过property=&#34;*&#34;的方式，将内容设置到Bean中，其根本原因是使用了Java的反射机制，根据传递参数的名称找到相应的方法，比如，参数名称为name，则自动找到setName方法。

原则：使用JavaBean自动设置内容时，一定要让参数名称与Bean中的属性名称一致，这样通过Java的命名规范，可以达到统一 
当需要指定某个属性内容时候，可以在property中指定参数

&#60;jsp:setProperty name=&#34;sb&#34; property=&#34;*&#34;/&#62; ：自动匹配，开发中常采用这种做法 
&#60;jsp:setProperty name=&#34;sb&#34; property=&#34;name&#34;/&#62;：可以根据自己的需要设置需要的属性值 
&#60;jsp:setProperty name=&#34;sb&#34; property=&#34;name&#34; param=&#34;password&#34;/&#62;：可以根据自己的需要，任意选择传递参数 
&#60;jsp:setProperty name=&#34;sb&#34; property=&#34;name&#34; value=&#34;password&#34;/&#62;：根据用户的需要自己设置参数的值

如果输入的值是一个变量，则需要表达式输出 





JavaBean取得属性的方法：

&#60;jsp:getProperty name=&#34;sb&#34; property=&#34;name&#34;/&#62;取得属性没有自动匹配 

使用JavaBean的setProperty方法可以自动将传递过来的只有数字的字符串变为整形，之后将内容赋值给具体的属性&#160; &#8211;&#62;智能
JavaBean的属性范围：

page范围：属性只在当前页有效，如果跳转其他页面，则需要重新实例化

适用于：JSP页面操作资源时使用 


request范围：属性只保存在一次服务器跳转中，前提是使用&#60;jsp:forward&#62;跳转才行 
session范围：属性保存在一次会话中，可以任意方式连接其他页面，则此对象只实例化一次 
application范围：属性公有，此对象在整个服务器上只实例化一次。尽量少用因为application会占用资源 

Related Posts2008-03-01 -- JavaBean语法(上) (0)2008-01-16 -- JSP基本语法C&#8211;JSP内置对象 (0)2008-04-02 -- Servlet程序设计 (0)2008-03-01 -- (九)JDBC操作技术 (0)2008-02-13 -- (八)JSP基本语法G&#8211;其他对象 (0)]]></description>
			<content:encoded><![CDATA[<p><strong>为什么能通过property=&quot;*&quot;的方式，将内容设置到Bean中，其根本原因是使用了Java的反射机制，根据传递参数的名称找到相应的方法</strong>，比如，参数名称为name，则自动找到setName方法。</p>
<ul>
<li>原则：<strong>使用JavaBean自动设置内容时，一定要让参数名称与Bean中的属性名称一致，这样通过Java的命名规范，可以达到统一</strong> </li>
<li>当需要指定某个属性内容时候，可以在property中指定参数
<ul>
<li><strong>&lt;jsp:setProperty name=&quot;sb&quot; property=&quot;*&quot;/&gt;</strong> <strong>：</strong>自动匹配，开发中常采用这种做法 </li>
<li>&lt;<strong>jsp:setProperty name=&quot;sb&quot; property=&quot;name&quot;/&gt;：</strong>可以根据自己的需要设置需要的属性值 </li>
<li><strong>&lt;jsp:setProperty name=&quot;sb&quot; property=&quot;name&quot; param=&quot;password&quot;/&gt;：</strong>可以根据自己的需要，任意选择传递参数 </li>
<li><strong>&lt;jsp:setProperty name=&quot;sb&quot; property=&quot;name&quot; value=&quot;password&quot;/&gt;：</strong>根据用户的需要自己设置参数的值
<ul>
<li><strong>如果输入的值是一个变量，则需要表达式输出</strong> </li>
</ul>
</li>
</ul>
</li>
</ul>
<p>JavaBean取得属性的方法：</p>
<ul>
<li><strong>&lt;jsp:getProperty name=&quot;sb&quot; property=&quot;name&quot;/&gt;取得属性没有自动匹配</strong> </li>
</ul>
<p><strong>使用JavaBean的setProperty方法可以自动将传递过来的只有数字的字符串变为整形，之后将内容赋值给具体的属性&#160; &#8211;&gt;智能</strong></p>
<p>JavaBean的属性范围：</p>
<ul>
<li><strong>page范围：属性只在当前页有效，如果跳转其他页面，则需要重新实例化</strong>
<ul>
<li><strong>适用于：JSP页面操作资源时使用</strong> </li>
</ul>
</li>
<li>request范围：属性只保存在一次服务器跳转中，前提是使用&lt;jsp:forward&gt;跳转才行 </li>
<li><strong>session范围：属性保存在一次会话中，可以任意方式连接其他页面，则此对象只实例化一次</strong> </li>
<li>application范围：属性公有，此对象在整个服务器上只实例化一次。尽量少用因为application会占用资源 </li>
</ul>
<p><a href="http://17fav.com/?url=http%3A%2F%2Fwww.hialex.net%2F2008%2F03%2Fjavabean-syntax-b.html&title=JavaBean%E8%AF%AD%E6%B3%95%28%E4%B8%8B%29" title="用 17fav 收藏和分享本文"><img src="http://17fav.com/i/bookmark.gif" alt="17fav 收藏本文" /></a></p><h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>2008-03-01 -- <a href="http://www.hialex.net/2008/03/javabean-syntax-a.html" title="JavaBean语法(上)">JavaBean语法(上)</a> (0)</li><li>2008-01-16 -- <a href="http://www.hialex.net/2008/01/jsp-syntax-c.html" title="JSP基本语法C&#8211;JSP内置对象">JSP基本语法C&#8211;JSP内置对象</a> (0)</li><li>2008-04-02 -- <a href="http://www.hialex.net/2008/04/servlet-note.html" title="Servlet程序设计">Servlet程序设计</a> (0)</li><li>2008-03-01 -- <a href="http://www.hialex.net/2008/03/usage-of-jdbc.html" title="(九)JDBC操作技术">(九)JDBC操作技术</a> (0)</li><li>2008-02-13 -- <a href="http://www.hialex.net/2008/02/jsp-syntax-g.html" title="(八)JSP基本语法G&#8211;其他对象">(八)JSP基本语法G&#8211;其他对象</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.hialex.net/2008/03/javabean-syntax-b.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSP基本语法C&#8211;JSP内置对象</title>
		<link>http://www.hialex.net/2008/01/jsp-syntax-c.html</link>
		<comments>http://www.hialex.net/2008/01/jsp-syntax-c.html#comments</comments>
		<pubDate>Wed, 16 Jan 2008 08:37:54 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[对象]]></category>
		<category><![CDATA[属性]]></category>
		<category><![CDATA[范围]]></category>

		<guid isPermaLink="false">http://www.hialex.net/2008/01/jsp%e5%9f%ba%e6%9c%ac%e8%af%ad%e6%b3%95c-jsp%e5%86%85%e7%bd%ae%e5%af%b9%e8%b1%a1.html</guid>
		<description><![CDATA[Java中的对象必须先实例化再用：分配内存空间
在JSP中，由WEB容器对对象进行实例化
常见对象及作用域：



对象名
类型
作用域


request
javax.servlet.ServletRequest的子类
Request


response
javax.servlet.ServletResponse的子类
Page


pageContext
javax.servlet.jsp.PageContext
Page


session
javax.servlet.http.HttpSession
Session


application
javax.servlet.ServletContext
Application


out
javax.servlet.jsp.JspWriter
Page


config
javax.servlet.ServletConfig
Page


page
java.lang.Object
Page


exception
java.lang.Throwable
Page



!!最重要的概念:四种属性的保存范围

设置属性：Public abstract Void setAttribute(java.lang.String name,java.lang.Object attribute)&#160; ★★属性名称为字符串、属性值可以为任意对象 
取得属性：Public abstract Void setAttribute(java.lang.String name) 

四种属性保存范围：

在一个页面范围内 ：page 
在一次服务器请求范围内：request 
在一次会话范围内：session 
在一个应用服务器范围内：application 

page范围：

在jsp中设置一个页的属性范围必须通过pageContext完成 
pageContext属性范围是最为重要的JSP属性之一，但是如果使用纯粹的JSP代码开发，则此属性显示不出用处 

request范围★：

将属性保存在一次请求范围内的前提是，必须使用服务器端跳转&#60;jsp:forward /&#62;

应用点：MVC设计模式、Struts、Webwork 



session范围：

只保留一个用户的信息 
只要设置了属性，则不管是什么跳转都可以取得属性 
与session有关的任何打开页面都可以取得session 
★session的主要功能：用于验证用户是否登陆 

application范围：

只要设置一次则所有的网页窗口都可以取得数据 
如果要释放application资源只能重新启动服务器

应用点：在线人员统计、在线人员名单列表 



application、session、request都需要跨多个页
保持性能不降低的原则：若能用request就不不要使用session，能使用session就不要使用application
★★重要概念：

pageContext默认情况下表示一个页面的保存范围 
另一种设置属性的方法Public abstract Void setAttribute(java.lang.String name,java.lang.Object attribute,int scope)

scope可以取：Public Static final int APPLICATION_SCOPE、Public Static final int SESSION_SCOPE、Public Static final int REQUEST_SCOPE、Public Static final int PAGE_SCOPE 


★★总结：四种属性范围都是依靠pageContext展开的，但是在开发中，往往使用session、request范围最多。

四种属性范围是整个J2EE WEB端开发必须深刻记住的概念，包括设置属性和取得属性的参数类型，返回值类型。 



Related Posts2008-03-15 [...]]]></description>
			<content:encoded><![CDATA[<p>Java中的对象必须先实例化再用：分配内存空间</p>
<p>在JSP中，由WEB容器对对象进行实例化</p>
<p>常见对象及作用域：</p>
<table cellspacing="0" cellpadding="2" width="483" border="1">
<tbody>
<tr>
<td valign="top" width="106"><strong>对象名</strong></td>
<td valign="top" width="278"><strong>类型</strong></td>
<td valign="top" width="98"><strong>作用域</strong></td>
</tr>
<tr>
<td valign="top" width="106"><strong>request</strong></td>
<td valign="top" width="278"><strong>javax.servlet.ServletRequest的子类</strong></td>
<td valign="top" width="98"><strong>Request</strong></td>
</tr>
<tr>
<td valign="top" width="106">response</td>
<td valign="top" width="278">javax.servlet.ServletResponse的子类</td>
<td valign="top" width="97">Page</td>
</tr>
<tr>
<td valign="top" width="106">pageContext</td>
<td valign="top" width="278">javax.servlet.jsp.PageContext</td>
<td valign="top" width="97">Page</td>
</tr>
<tr>
<td valign="top" width="106"><strong>session</strong></td>
<td valign="top" width="278"><strong>javax.servlet.http.HttpSession</strong></td>
<td valign="top" width="97"><strong>Session</strong></td>
</tr>
<tr>
<td valign="top" width="106"><strong>application</strong></td>
<td valign="top" width="278"><strong>javax.servlet.ServletContext</strong></td>
<td valign="top" width="97"><strong>Application</strong></td>
</tr>
<tr>
<td valign="top" width="106">out</td>
<td valign="top" width="278">javax.servlet.jsp.JspWriter</td>
<td valign="top" width="97">Page</td>
</tr>
<tr>
<td valign="top" width="106">config</td>
<td valign="top" width="278">javax.servlet.ServletConfig</td>
<td valign="top" width="97">Page</td>
</tr>
<tr>
<td valign="top" width="106"><strong>page</strong></td>
<td valign="top" width="278"><strong>java.lang.Object</strong></td>
<td valign="top" width="97"><strong>Page</strong></td>
</tr>
<tr>
<td valign="top" width="106">exception</td>
<td valign="top" width="278">java.lang.Throwable</td>
<td valign="top" width="98">Page</td>
</tr>
</tbody>
</table>
<p><strong>!!最重要的概念:四种属性的保存范围</strong></p>
<ol>
<li><strong>设置属性：</strong>Public abstract Void setAttribute(java.lang.String name,java.lang.Object attribute)&#160; ★★<strong>属性名称为字符串、属性值可以为任意对象</strong> </li>
<li><strong>取得属性：</strong>Public abstract Void setAttribute(java.lang.String name) </li>
</ol>
<p><strong>四种属性保存范围：</strong></p>
<ol>
<li><strong>在一个页面范围内 ：page</strong> </li>
<li><strong>在一次服务器请求范围内：request</strong> </li>
<li><strong>在一次会话范围内：session</strong> </li>
<li><strong>在一个应用服务器范围内：application</strong> </li>
</ol>
<p>page范围：</p>
<ul>
<li>在jsp中设置一个页的属性范围必须通过pageContext完成 </li>
<li>pageContext属性范围是最为重要的JSP属性之一，但是如果使用纯粹的JSP代码开发，则此属性显示不出用处 </li>
</ul>
<p><strong>request范围★：</strong></p>
<ul>
<li><strong>将属性保存在一次请求范围内的前提是，必须使用服务器端跳转&lt;jsp:forward /&gt;</strong>
<ul>
<li>应用点：MVC设计模式、Struts、Webwork </li>
</ul>
</li>
</ul>
<p>session范围：</p>
<ul>
<li>只保留一个用户的信息 </li>
<li>只要设置了属性，则不管是什么跳转都可以取得属性 </li>
<li>与session有关的任何打开页面都可以取得session </li>
<li><strong>★session的主要功能：用于验证用户是否登陆</strong> </li>
</ul>
<p>application范围：</p>
<ul>
<li>只要设置一次则所有的网页窗口都可以取得数据 </li>
<li>如果要释放application资源只能重新启动服务器
<ul>
<li>应用点：在线人员统计、在线人员名单列表 </li>
</ul>
</li>
</ul>
<p><strong>application、session、request都需要跨多个页</strong></p>
<p><strong>保持性能不降低的原则：若能用request就不不要使用session，能使用session就不要使用application</strong></p>
<p>★★<strong>重要概念：</strong></p>
<ul>
<li><strong>pageContext默认情况下表示一个页面的保存范围</strong> </li>
<li><strong>另一种设置属性的方法</strong>Public abstract Void setAttribute(java.lang.String name,java.lang.Object attribute,int scope)
<ul>
<li>scope可以取：Public Static final int APPLICATION_SCOPE、Public Static final int SESSION_SCOPE、Public Static final int REQUEST_SCOPE、Public Static final int PAGE_SCOPE </li>
</ul>
</li>
<li>★★<strong>总结：四种属性范围都是依靠pageContext展开的，但是在开发中，往往使用session、request范围最多。</strong>
<ul>
<li><strong>四种属性范围是整个J2EE WEB端开发必须深刻记住的概念，包括设置属性和取得属性的参数类型，返回值类型。</strong> </li>
</ul>
</li>
</ul>
<p><a href="http://17fav.com/?url=http%3A%2F%2Fwww.hialex.net%2F2008%2F01%2Fjsp-syntax-c.html&title=JSP%E5%9F%BA%E6%9C%AC%E8%AF%AD%E6%B3%95C--JSP%E5%86%85%E7%BD%AE%E5%AF%B9%E8%B1%A1" title="用 17fav 收藏和分享本文"><img src="http://17fav.com/i/bookmark.gif" alt="17fav 收藏本文" /></a></p><h3  class="related_post_title">Related Posts</h3><ul class="related_post"><li>2008-03-15 -- <a href="http://www.hialex.net/2008/03/javabean-syntax-b.html" title="JavaBean语法(下)">JavaBean语法(下)</a> (0)</li><li>2008-04-02 -- <a href="http://www.hialex.net/2008/04/servlet-note.html" title="Servlet程序设计">Servlet程序设计</a> (0)</li><li>2008-03-01 -- <a href="http://www.hialex.net/2008/03/usage-of-jdbc.html" title="(九)JDBC操作技术">(九)JDBC操作技术</a> (0)</li><li>2008-03-01 -- <a href="http://www.hialex.net/2008/03/javabean-syntax-a.html" title="JavaBean语法(上)">JavaBean语法(上)</a> (0)</li><li>2008-02-13 -- <a href="http://www.hialex.net/2008/02/jsp-syntax-g.html" title="(八)JSP基本语法G&#8211;其他对象">(八)JSP基本语法G&#8211;其他对象</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.hialex.net/2008/01/jsp-syntax-c.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
