<?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; bean</title>
	<atom:link href="http://www.hialex.net/tags/bean/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>JavaBean语法(上)</title>
		<link>http://www.hialex.net/2008/03/javabean-syntax-a.html</link>
		<comments>http://www.hialex.net/2008/03/javabean-syntax-a.html#comments</comments>
		<pubDate>Sat, 01 Mar 2008 07:05:53 +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>
		<category><![CDATA[规范]]></category>

		<guid isPermaLink="false">http://www.hialex.net/2008/03/javabean-syntax-a.html</guid>
		<description><![CDATA[什么是JavaBean？JavaBean就是一个Java类，即意味着JAVA的一切特性都可以使用，此JavaBean没有图形显示代码，只是完成基本的业务逻辑。

JavaBean可以使用Java的封装、继承、多态 
使用JavaBean封许多可重复调用的代码&#8211;&#62;JavaBean的开发过程是通过项目的不断积累经验的。 
使用JavaBean可以达到显示与业务的分离:显示用JSP，业务用JavaBean

JAVA开发人员专注于具体业务的开发，而JSP开发人员专注于效果的开发 



将JavaBean编译好的*.class文件拷贝到WEB-INF/classes文件夹下，若无此文件夹可以自行建立
编写JavaBean必须需要满足的几点要求：


所有的JavaBean必须放在同一个包中 
JavaBean必须声明成public class类型 &#8211;&#62;&#160; 文件名称与类名一致 
所有属性必须封装 
设置和取得属性可以通过setter、getter 
使用JSP标签去调用JavaBean必须有一个无参构造方法 


JAVA命名规范：

包命名：全部字母小写 
类命名：单词的首字母大写，eg.SimpleBean 
属性名称：第一个单词的首字母小写，之后每单词的首字母大写，eg.studentName 
方法命名：与属性命名相同，eg.public class sayHello(){} 
常量命名：全部单词大写，eg.final String DBDRIVER = &#34;XXXX&#34;; 


对JAVA程序进行打包编译：javac -d . 文件名
JavaBean开发完成之后在JSP中调用过程：

使用&#60;%@page import=&#34;&#34;%&#62; 使用导入指令

实际上WEB-INF/classes是一个classpath路径，所有的class文件，只要放在此目录下，都可以被访问到 


使用JSP的标签指令调用

&#60;jsp:useBean            &#160;&#160; id = &#34;sb&#34;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //表示实例化对象的名称           [...]]]></description>
			<content:encoded><![CDATA[<p>什么是JavaBean？<strong>JavaBean就是一个Java类，即意味着JAVA的一切特性都可以使用</strong>，此JavaBean没有图形显示代码，只是完成基本的业务逻辑。</p>
<ul>
<li><strong>JavaBean可以使用Java的封装、继承、多态</strong> </li>
<li><strong>使用JavaBean封许多可重复调用的代码</strong>&#8211;&gt;JavaBean的开发过程是通过项目的不断积累经验的。 </li>
<li><strong>使用JavaBean可以达到显示与业务的分离:显示用JSP，业务用JavaBean</strong>
<ul>
<li>JAVA开发人员专注于具体业务的开发，而JSP开发人员专注于效果的开发 </li>
</ul>
</li>
</ul>
<p><strong>将JavaBean编译好的*.class文件拷贝到WEB-INF/classes文件夹下，若无此文件夹可以自行建立</strong></p>
<p><strong>编写JavaBean必须需要满足的几点要求：</strong></p>
<ol>
<ol>
<li><strong>所有的JavaBean必须放在同一个包中 </strong></li>
<li><strong>JavaBean必须声明成public class类型 &#8211;&gt;&#160; 文件名称与类名一致 </strong></li>
<li><strong>所有属性必须封装 </strong></li>
<li><strong>设置和取得属性可以通过setter、getter </strong></li>
<li><strong>使用JSP标签去调用JavaBean必须有一个无参构造方法</strong> </li>
</ol>
</ol>
<p><strong>JAVA命名规范</strong>：</p>
<blockquote><ol>
<li><strong>包命名：全部字母小写 </strong></li>
<li><strong>类命名：单词的首字母大写，eg.SimpleBean </strong></li>
<li><strong>属性名称：第一个单词的首字母小写，之后每单词的首字母大写，eg.studentName </strong></li>
<li><strong>方法命名：与属性命名相同，eg.public class sayHello(){} </strong></li>
<li><strong>常量命名：全部单词大写，eg.final String DBDRIVER = &quot;XXXX&quot;; </strong></li>
</ol>
</blockquote>
<p><strong>对JAVA程序进行打包编译：javac -d . 文件名</strong></p>
<p>JavaBean开发完成之后在JSP中调用过程：</p>
<ol>
<li>使用&lt;%@page import=&quot;&quot;%&gt; 使用导入指令
<ul>
<li>实际上WEB-INF/classes是一个classpath路径，所有的class文件，只要放在此目录下，都可以被访问到 </li>
</ul>
</li>
<li><strong>使用JSP的标签指令调用</strong>
<ul>
<li><strong>&lt;jsp:useBean            <br />&#160;&#160; id = &quot;sb&quot;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //表示实例化对象的名称             <br />&#160;&#160; scope=&quot;page&quot;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //表示使用范围             <br />&#160;&#160; class=&quot;net.hialex.bean.SimpleBean&quot;/&gt;&#160;&#160;&#160;&#160;&#160;&#160; //对象所属包.类名称路径</strong> </li>
<li>Tomcat服务器在默认情况下是不能读取修改后的JavaBean如果要读取有以下两种方式：
<ol>
<li>重新启动服务器 </li>
<li>配置%TOMCAT_HOME%/conf/web.xml参数reloadable=&quot;true&quot; </li>
</ol>
<ul>
<ul>
<li>使用reloadable参数的时机选择：
<ul>
<li>如果使用这个参数，则表示服务器要始终监视着是否类有改动&#8211;这样做影响服务器的性能 </li>
<li>在运行时，这个参数必须去掉 </li>
<li>在开发时，为了开发方便，可加入此参数 </li>
</ul>
</li>
</ul>
</ul>
</li>
</ul>
</li>
</ol>
<p>使用JavaBean的好处：</p>
<ul>
<li><strong>必须结合用户参数提交才能够发现使用JavaBean的好处</strong> </li>
<li>使用以下的代码可以替代一切的setter方法调用
<ul>
<li><strong>&lt;jsp:setProperty name = &quot;sb&quot; property=&quot;*&quot;/&gt;</strong>
<ul>
<li><strong>name:已经声明过的JavaBean对象的id</strong> </li>
<li><strong>property:表示要设置的属性，如果为&quot;*&quot;则表示自动匹配</strong> </li>
</ul>
</li>
</ul>
</li>
</ul>
<p><a href="http://17fav.com/?url=http%3A%2F%2Fwww.hialex.net%2F2008%2F03%2Fjavabean-syntax-a.html&title=JavaBean%E8%AF%AD%E6%B3%95%28%E4%B8%8A%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-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-02-13 -- <a href="http://www.hialex.net/2008/02/jsp-syntax-g.html" title="(八)JSP基本语法G&#8211;其他对象">(八)JSP基本语法G&#8211;其他对象</a> (0)</li><li>2008-02-02 -- <a href="http://www.hialex.net/2008/02/jsp-syntax-f.html" title="(七)JSP基本语法&#8211;session对象">(七)JSP基本语法&#8211;session对象</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.hialex.net/2008/03/javabean-syntax-a.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
