﻿<?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-Java Love</title><link>http://www.blogjava.net/lardern/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 03 May 2026 15:45:48 GMT</lastBuildDate><pubDate>Sun, 03 May 2026 15:45:48 GMT</pubDate><ttl>60</ttl><item><title>10g的数据库导成9i的,ORACLE EXP-00003: 未找到段 (4,131) 的存储定义</title><link>http://www.blogjava.net/lardern/archive/2010/12/01/339521.html</link><dc:creator>Bom Wu</dc:creator><author>Bom Wu</author><pubDate>Wed, 01 Dec 2010 08:30:00 GMT</pubDate><guid>http://www.blogjava.net/lardern/archive/2010/12/01/339521.html</guid><wfw:comment>http://www.blogjava.net/lardern/comments/339521.html</wfw:comment><comments>http://www.blogjava.net/lardern/archive/2010/12/01/339521.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lardern/comments/commentRss/339521.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lardern/services/trackbacks/339521.html</trackback:ping><description><![CDATA[<span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">
<div><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">
<h3 id="" style="font-size: 16px; line-height: 1.5em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 10px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: black; "><a href="http://fish2007.javaeye.com/blog/243354" id="aeaoofnhgocdbnbeljkmbjdmhbcokfdb-mousedown" style="color: #7d0000; font-weight: normal;">10g的数据库导成9i的</a></h3>
<div><span style="font-family: 宋体; line-height: normal; font-size: 14pt; color: #0c095a; white-space: nowrap;">ORACLE EXP-00003: 未找到段 (4,131) 的存储定义</span></div>
</span></div>
用oracle9i的客户端连接10g的数据库，然后执行以下脚本。</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&nbsp;</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><br />
</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><br />
</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">在导出前, 连接到SYS用户, 运行以下SQL:</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&nbsp;</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><br />
</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">CREATE OR REPLACE VIEW exu9tne (</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&nbsp;</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><br />
</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">tsno, fileno, blockno, length) AS</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&nbsp;</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><br />
</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">SELECT ts#, segfile#, segblock#, length</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&nbsp;</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><br />
</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">FROM sys.uet$</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&nbsp;</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><br />
</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">WHERE ext# = 1</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&nbsp;</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><br />
</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">UNION ALL</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&nbsp;</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><br />
</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">SELECT * FROM SYS.EXU9TNEB</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&nbsp;</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><br />
</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">导出完成后，再复原这个view（定义可以通过user_views看到） 对于oracle9i和oracle10g这个定义都相同：</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&nbsp;</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><br />
</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">CREATE OR REPLACE VIEW exu9tne (</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&nbsp;</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><br />
</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">tsno, fileno, blockno, length) AS</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&nbsp;</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><br />
</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">SELECT ts#, segfile#, segblock#, length</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&nbsp;</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><br />
</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">FROM sys.uet$</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&nbsp;</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><br />
</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">WHERE ext# = 1</span><span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&nbsp;</span><img src ="http://www.blogjava.net/lardern/aggbug/339521.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lardern/" target="_blank">Bom Wu</a> 2010-12-01 16:30 <a href="http://www.blogjava.net/lardern/archive/2010/12/01/339521.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jdbc存取CLOB  JDK1.6后有新的方法</title><link>http://www.blogjava.net/lardern/archive/2010/10/14/335154.html</link><dc:creator>Bom Wu</dc:creator><author>Bom Wu</author><pubDate>Thu, 14 Oct 2010 08:09:00 GMT</pubDate><guid>http://www.blogjava.net/lardern/archive/2010/10/14/335154.html</guid><wfw:comment>http://www.blogjava.net/lardern/comments/335154.html</wfw:comment><comments>http://www.blogjava.net/lardern/archive/2010/10/14/335154.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lardern/comments/commentRss/335154.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lardern/services/trackbacks/335154.html</trackback:ping><description><![CDATA[存：<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">ps.setCharacterStream(</span><span style="color: #000000">4</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringReader(</span><span style="color: #000000">"</span><span style="color: #000000">String</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">String</span><span style="color: #000000">"</span><span style="color: #000000">.length());</span></div>
取：<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">rs.getString(</span><span style="color: #000000">"</span><span style="color: #000000">clob</span><span style="color: #000000">"</span><span style="color: #000000">);</span></div>
<hr />
jdk 1.6以后<br />
可以使用<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">Clob&nbsp;clob</span><span style="color: #000000">=</span><span style="color: #000000">connetion.createClob();<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />Writer&nbsp;wr</span><span style="color: #000000">=</span><span style="color: #000000">clob.setCharacterStream(</span><span style="color: #000000">0</span><span style="color: #000000">);<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">对wr写入信息</span><span style="color: #008000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">ps.setClob(clob);</span></div>
<img src ="http://www.blogjava.net/lardern/aggbug/335154.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lardern/" target="_blank">Bom Wu</a> 2010-10-14 16:09 <a href="http://www.blogjava.net/lardern/archive/2010/10/14/335154.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]linux计划任务</title><link>http://www.blogjava.net/lardern/archive/2009/09/17/295415.html</link><dc:creator>Bom Wu</dc:creator><author>Bom Wu</author><pubDate>Thu, 17 Sep 2009 03:28:00 GMT</pubDate><guid>http://www.blogjava.net/lardern/archive/2009/09/17/295415.html</guid><wfw:comment>http://www.blogjava.net/lardern/comments/295415.html</wfw:comment><comments>http://www.blogjava.net/lardern/archive/2009/09/17/295415.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lardern/comments/commentRss/295415.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lardern/services/trackbacks/295415.html</trackback:ping><description><![CDATA[<p><span style="font-family: Arial"><strong>inux操作系统定时任务系统 Cron 入门</strong> </span></p>
<p><br />
<span style="font-family: Arial">　　cron是一个linux下 的定时执行工具 ，可以在无需人工干预的情况下运行作业。由于Cron 是Linux 的内置 服务，但它不自动起来，可以用以下的方法 启动、关闭 这个服务:</span></p>
<p><span style="font-family: Arial">　　/sbin/service crond start //启动服务</span></p>
<p><span style="font-family: Arial">　　/sbin/service crond stop //关闭服务</span></p>
<p><span style="font-family: Arial">　　/sbin/service crond restart //重启服务</span></p>
<p><span style="font-family: Arial">　　/sbin/service crond reload //重新载入配置</span></p>
<p><span style="font-family: Arial">　　你也可以将这个服务在系统启动的时候自动启动:</span></p>
<p><span style="font-family: Arial">　　在/etc /rc.d/rc.local 这个脚本的末尾加上:</span></p>
<p><span style="font-family: Arial">　　/sbin/service crond start</span></p>
<p><span style="font-family: Arial">　　现在C ron这个服务已经在进程里面了，我们就可以用这个服务了，Cron服务提供以下几种接口供大家使用:</span></p>
<p><span style="font-family: Arial">　　<strong>1.直接用crontab 命令编辑</strong></span></p>
<p><span style="font-family: Arial">　　cron服务提供crontab命令来设定cron服务的，以下是这个命令的一些参数 与说明:</span></p>
<p><span style="font-family: Arial">　　crontab -u //设定某个用户的cron服务，一般root 用户在执行 这个命令的时候需要此参数</span></p>
<p><span style="font-family: Arial">　　crontab -l //列出某个用户cron服务的详细内容 </span></p>
<p><span style="font-family: Arial">　　crontab -r //删除 没个用户的cron服务</span></p>
<p><span style="font-family: Arial">　　crontab -e //编辑某个用户的cron服务</span></p>
<p><span style="font-family: Arial">　　比如说root查看自己的cron设置:crontab -u root -l</span></p>
<p><span style="font-family: Arial">　　再例如，root想删除fred的cron设置:crontab -u fred -r</span></p>
<p><span style="font-family: Arial">　　在编辑cron服务时，编辑的内容有一些格式和约定，输入:crontab -u root -e</span></p>
<p><span style="font-family: Arial">　　进入vi 编辑模式 ，编辑的内容一定要符合下面的格式:*/1 * * * * ls &gt;&gt; /tmp/ls.tx t</span></p>
<p><span style="font-family: Arial"><strong>任务调度的crond常驻命令</strong><br />
crond 是linux用来定期执行程序的命令。当安装完成操作系统之后，默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作，如果有要执行的工作便会自动执行该工作。</span></p>
<p><span style="font-family: Arial">1、linux任务调度的工作主要分为以下两类：<br />
&nbsp;&nbsp;&nbsp; *系统执行的工作：系统周期性所要执行的工作，如备份系统数据、清理缓存<br />
&nbsp;&nbsp;&nbsp; *个人执行的工作：某个用户定期要做的工作，例如每隔10分钟检查邮件服务器是否有新信，这些工作可由每个用户自行设置。</span></p>
<p><span style="font-family: Arial">2.crontab命令选项:<br />
&nbsp;&nbsp;&nbsp; -u指定一个用户,<br />
&nbsp;&nbsp;&nbsp; -l列出某个用户的任务计划,<br />
&nbsp;&nbsp;&nbsp; -r删除某个用户的任务,<br />
&nbsp;&nbsp;&nbsp; -e编辑某个用户的任务</span></p>
<p><span style="font-family: Arial">3.cron文件语法:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 分&nbsp;&nbsp;&nbsp; 小时&nbsp;&nbsp; 日&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 月&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 星期&nbsp;&nbsp;&nbsp;&nbsp; 命令<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0-59&nbsp; 0-23&nbsp; 1-31&nbsp; 1-12&nbsp;&nbsp;&nbsp; 0-6&nbsp;&nbsp;&nbsp; command&nbsp;&nbsp;&nbsp; (取值范围,0表示周日一般一行对应一个任务)</span></p>
<p><span style="font-family: Arial">4.记住几个特殊符号的含义:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "*"代表取值范围内的数字,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "/"代表"每",<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "-"代表从某个数字到某个数字,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ","分开几个离散的数字</span></p>
<p><br />
<span style="font-family: Arial"><strong>一、任务调度设置文件的写法</strong></span></p>
<p><span style="font-family: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件<br />
具体格式如下：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Minute Hour Day Month Dayofweek&nbsp;&nbsp; command<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 分钟&nbsp;&nbsp;&nbsp; 小时&nbsp; 天&nbsp;&nbsp;&nbsp; 月&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 天每星期&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 命令 </span></p>
<p><span style="font-family: Arial">每个字段代表的含义如下：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Minute&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每个小时的第几分钟执行该任务<br />
&nbsp;&nbsp;&nbsp;&nbsp; Hour&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每天的第几个小时执行该任务<br />
&nbsp;&nbsp;&nbsp;&nbsp; Day&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每月的第几天执行该任务<br />
&nbsp;&nbsp;&nbsp;&nbsp; Month&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每年的第几个月执行该任务<br />
&nbsp;&nbsp;&nbsp;&nbsp; DayOfWeek&nbsp;&nbsp;&nbsp; 每周的第几天执行该任务<br />
&nbsp;&nbsp;&nbsp;&nbsp; Command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定要执行的程序<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在这些字段里，除了&#8220;Command&#8221;是每次都必须指定的字段以外，其它字段皆为可选字段，可视需要决定。对于不指定的字段，要用&#8220;*&#8221;来填补其位置。 </span></p>
<p><span style="font-family: Arial">举例如下：<br />
5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp; ls&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定每小时的第5分钟执行一次ls命令<br />
30&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp; ls&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定每天的 5:30 执行ls命令<br />
30&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; ls&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定每月8号的7：30分执行ls命令<br />
30&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; ls&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定每年的6月8日5：30执行ls命令<br />
30&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; ls&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定每星期日的6:30执行ls命令 [ 注：0表示星期天，1表示星期1，以此类推，也可以用英文来表示，sun表示星期天，mon表示星期一等。 ]<br />
30&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 10,20&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; ls&nbsp;&nbsp;&nbsp; 每月10号及20号的3：30执行ls命令 [注：&#8220;，&#8221;用来连接多个不连续的时段 ]<br />
25&nbsp;&nbsp;&nbsp; 8-11 *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; ls&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每天8-11点的第25分钟执行ls命令 [注：&#8220;-&#8221;用来连接连续的时段 ] <br />
*/15&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; ls&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令&nbsp; ]<br />
30&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp; */10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; ls&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每个月中，每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6：30执行一次ls命令。&nbsp; ]<br />
每天7：50以root 身份执行/etc/cron.daily目录中的所有可执行文件<br />
50&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; run-parts&nbsp;&nbsp;&nbsp;&nbsp; /etc/cron.daily&nbsp;&nbsp; [ 注：run-parts参数表示，执行后面目录中的所有可执行文件。&nbsp; ]</span></p>
<p><span style="font-family: Arial"><strong>二、新增调度任务</strong></span></p>
<p><span style="font-family: Arial">新增调度任务可用两种方法：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1、在命令行输入: crontab -e 然后添加相应的任务，wq存盘退出。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2、直接编辑/etc/crontab 文件，即vi /etc/crontab，添加相应的任务。</span></p>
<p><span style="font-family: Arial"><strong>三、查看调度任务</strong></span></p>
<p><span style="font-family: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; crontab -l //列出当前的所有调度任务<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; crontab -l -u jp&nbsp;&nbsp; //列出用户jp的所有调度任务</span></p>
<p><span style="font-family: Arial"><strong>四、删除任务调度工作</strong></span></p>
<p><span style="font-family: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; crontab -r&nbsp; //删除所有任务调度工作</span></p>
<p><span style="font-family: Arial"><strong>五、任务调度执行结果的转向</strong></span></p>
<p><span style="font-family: Arial">&nbsp;&nbsp;&nbsp;&nbsp; 例1：每天5：30执行ls命令，并把结果输出到/jp/test文件中<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30 5 * * * ls &gt;/jp/test 2&gt;&amp;1<br />
&nbsp;&nbsp;&nbsp;&nbsp; 注：2&gt;&amp;1 表示执行结果及错误信息。</span></p>
<p><br />
<span style="font-family: Arial">编辑/etc/crontab 文件配置cron </span></p>
<p><span style="font-family: Arial">　　cron服务每分钟不仅要读一次/var/spool/cron内的所有文件，还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的，而编辑/etc/crontab是针对系统的任务。此文件的文件格式是: </span></p>
<p><span style="font-family: Arial">　　SHELL=/bin/bash&nbsp; </span></p>
<p><span style="font-family: Arial">　　PATH=/sbin:/bin:/usr/sbin:/usr/bin&nbsp; </span></p>
<p><span style="font-family: Arial">　　MAILTO=root //如果出现错误，或者有数据输出，数据作为邮件发给这个帐号&nbsp; </span></p>
<p><span style="font-family: Arial">　　HOME=/ //使用者运行的路径,这里是根目录&nbsp; </span></p>
<p><span style="font-family: Arial">　　# run-parts&nbsp; </span></p>
<p><span style="font-family: Arial">　　01&nbsp;&nbsp; *&nbsp;&nbsp; *&nbsp;&nbsp; *&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; root run-parts /etc/cron.hourly&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //每小时执行/etc/cron.hourly内的脚本&nbsp; </span></p>
<p><span style="font-family: Arial">　　02&nbsp;&nbsp; 4&nbsp;&nbsp; *&nbsp;&nbsp; *&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; root run-parts /etc/cron.daily&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //每天执行/etc/cron.daily内的脚本&nbsp; </span></p>
<p><span style="font-family: Arial">　　22&nbsp;&nbsp; 4&nbsp;&nbsp; *&nbsp;&nbsp; *&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; root run-parts /etc/cron.weekly&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //每星期执行/etc/cron.weekly内的脚本&nbsp; </span></p>
<p><span style="font-family: Arial">　　42&nbsp;&nbsp; 4&nbsp;&nbsp; 1&nbsp;&nbsp; *&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; root run-parts /etc/cron.monthly&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //每月去执行/etc/cron.monthly内的脚本&nbsp; </span></p>
<p><span style="font-family: Arial">　　大家注意"run-parts"这个参数了，如果去掉这个参数的话，后面就可以写要运行的某个脚本名，而不是文件夹名了</span></p>
<p><span style="font-family: Arial">例如：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1、在命令行输入: crontab -e 然后添加相应的任务，wq存盘退出。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2、直接编辑/etc/crontab 文件，即vi /etc/crontab，添加相应的任务</span></p>
<p><span style="font-family: Arial">11 2 21 10 * rm -rf /mnt/fb</span></p>
<img src ="http://www.blogjava.net/lardern/aggbug/295415.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lardern/" target="_blank">Bom Wu</a> 2009-09-17 11:28 <a href="http://www.blogjava.net/lardern/archive/2009/09/17/295415.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用Jmail发送简单的邮件</title><link>http://www.blogjava.net/lardern/archive/2009/06/13/282036.html</link><dc:creator>Bom Wu</dc:creator><author>Bom Wu</author><pubDate>Sat, 13 Jun 2009 07:13:00 GMT</pubDate><guid>http://www.blogjava.net/lardern/archive/2009/06/13/282036.html</guid><wfw:comment>http://www.blogjava.net/lardern/comments/282036.html</wfw:comment><comments>http://www.blogjava.net/lardern/archive/2009/06/13/282036.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lardern/comments/commentRss/282036.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lardern/services/trackbacks/282036.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">&nbsp;1</span><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Date;<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Properties;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.mail.Authenticator;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.mail.Message;<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.mail.MessagingException;<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.mail.PasswordAuthentication;<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.mail.Session;<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.mail.Transport;<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.mail.internet.AddressException;<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.mail.internet.InternetAddress;<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.mail.internet.MimeMessage;<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img id="Codehighlighter1_404_2178_Open_Image" onclick="this.style.display='none'; Codehighlighter1_404_2178_Open_Text.style.display='none'; Codehighlighter1_404_2178_Closed_Image.style.display='inline'; Codehighlighter1_404_2178_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_404_2178_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_404_2178_Closed_Text.style.display='none'; Codehighlighter1_404_2178_Open_Image.style.display='inline'; Codehighlighter1_404_2178_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;EmailUtils&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_404_2178_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_404_2178_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;Properties&nbsp;props;<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;Session&nbsp;session;<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;初始化session</span><span style="color: #008000"><br />
</span><span style="color: #008080">22</span><span style="color: #008000"><img id="Codehighlighter1_499_1149_Open_Image" onclick="this.style.display='none'; Codehighlighter1_499_1149_Open_Text.style.display='none'; Codehighlighter1_499_1149_Closed_Image.style.display='inline'; Codehighlighter1_499_1149_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_499_1149_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_499_1149_Closed_Text.style.display='none'; Codehighlighter1_499_1149_Open_Image.style.display='inline'; Codehighlighter1_499_1149_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_499_1149_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_499_1149_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;props&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;System.getProperties();<br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;props.put(</span><span style="color: #000000">"</span><span style="color: #000000">mail.transport.protocol</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">stmp</span><span style="color: #000000">"</span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;设置邮件服务器的协议</span><span style="color: #008000"><br />
</span><span style="color: #008080">25</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;props.put(</span><span style="color: #000000">"</span><span style="color: #000000">mail.host</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">smtp.qq.com</span><span style="color: #000000">"</span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;设置邮件发送服务器地址，该地址由邮件服务供应商提供，这里以QQ邮箱为例</span><span style="color: #008000"><br />
</span><span style="color: #008080">26</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;props.put(</span><span style="color: #000000">"</span><span style="color: #000000">mail.smtp.auth</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">true</span><span style="color: #000000">"</span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;设置邮件发送服务器需要用户验证，即需要账号密码才能登录邮箱</span><span style="color: #008000"><br />
</span><span style="color: #008080">27</span><span style="color: #008000"><img id="Codehighlighter1_805_1080_Open_Image" onclick="this.style.display='none'; Codehighlighter1_805_1080_Open_Text.style.display='none'; Codehighlighter1_805_1080_Closed_Image.style.display='inline'; Codehighlighter1_805_1080_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_805_1080_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_805_1080_Closed_Text.style.display='none'; Codehighlighter1_805_1080_Open_Image.style.display='inline'; Codehighlighter1_805_1080_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Session.getInstance(props,&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Authenticator()&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_805_1080_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_805_1080_Open_Text"><span style="color: #000000">{</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;通过配置获取一个会话，第二个参数为验证类</span><span style="color: #008000"><br />
</span><span style="color: #008080">28</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img id="Codehighlighter1_911_1074_Open_Image" onclick="this.style.display='none'; Codehighlighter1_911_1074_Open_Text.style.display='none'; Codehighlighter1_911_1074_Closed_Image.style.display='inline'; Codehighlighter1_911_1074_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_911_1074_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_911_1074_Closed_Text.style.display='none'; Codehighlighter1_911_1074_Open_Image.style.display='inline'; Codehighlighter1_911_1074_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;PasswordAuthentication&nbsp;getPasswordAuthentication()&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_911_1074_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_911_1074_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">30</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;PasswordAuthentication(</span><span style="color: #000000">"</span><span style="color: #000000">your&nbsp;email&nbsp;acount</span><span style="color: #000000">"</span><span style="color: #000000">,<br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">your&nbsp;email&nbsp;password</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;在这里指定登录邮件发送服务器的账号与密码<br />
</span><span style="color: #008080">32</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;QQ邮箱的账号默认为&nbsp;QQ号@qq.com&nbsp;密码为QQ密码</span><span style="color: #008000"><br />
</span><span style="color: #008080">33</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">34</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">);<br />
</span><span style="color: #008080">35</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;session.setDebug(true);&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">设置是否为Debug模式，如果为Debug模式，将输出中间信息。</span><span style="color: #008000"><br />
</span><span style="color: #008080">36</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">37</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">38</span><span style="color: #000000"><img id="Codehighlighter1_1153_1283_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1153_1283_Open_Text.style.display='none'; Codehighlighter1_1153_1283_Closed_Image.style.display='inline'; Codehighlighter1_1153_1283_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_1153_1283_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1153_1283_Closed_Text.style.display='none'; Codehighlighter1_1153_1283_Open_Image.style.display='inline'; Codehighlighter1_1153_1283_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1153_1283_Closed_Text">/**&nbsp;*/</span><span id="Codehighlighter1_1153_1283_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
</span><span style="color: #008080">39</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;发送邮件<br />
</span><span style="color: #008080">40</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;<br />
</span><span style="color: #008080">41</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;emailTo<br />
</span><span style="color: #008080">42</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;收件人信箱<br />
</span><span style="color: #008080">43</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;title<br />
</span><span style="color: #008080">44</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;主题<br />
</span><span style="color: #008080">45</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;msgs<br />
</span><span style="color: #008080">46</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;内容<br />
</span><span style="color: #008080">47</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">48</span><span style="color: #000000"><img id="Codehighlighter1_1358_2030_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1358_2030_Open_Text.style.display='none'; Codehighlighter1_1358_2030_Closed_Image.style.display='inline'; Codehighlighter1_1358_2030_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_1358_2030_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1358_2030_Closed_Text.style.display='none'; Codehighlighter1_1358_2030_Open_Image.style.display='inline'; Codehighlighter1_1358_2030_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;sendEmail(String&nbsp;emailTo,&nbsp;String&nbsp;title,&nbsp;String&nbsp;msgs)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1358_2030_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1358_2030_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">49</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(msgs);<br />
</span><span style="color: #008080">50</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message&nbsp;msg&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;MimeMessage(session);&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;该类封装了邮件发送的内容</span><span style="color: #008000"><br />
</span><span style="color: #008080">51</span><span style="color: #008000"><img id="Codehighlighter1_1452_1911_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1452_1911_Open_Text.style.display='none'; Codehighlighter1_1452_1911_Closed_Image.style.display='inline'; Codehighlighter1_1452_1911_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_1452_1911_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1452_1911_Closed_Text.style.display='none'; Codehighlighter1_1452_1911_Open_Image.style.display='inline'; Codehighlighter1_1452_1911_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1452_1911_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1452_1911_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">52</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;设置发件人地址，可以是个假的！</span><span style="color: #008000"><br />
</span><span style="color: #008080">53</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg.setFrom(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;InternetAddress(</span><span style="color: #000000">"</span><span style="color: #000000">bom1987120@qq.com</span><span style="color: #000000">"</span><span style="color: #000000">));<br />
</span><span style="color: #008080">54</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;设置收件人</span><span style="color: #008000"><br />
</span><span style="color: #008080">55</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg.setRecipients(Message.RecipientType.TO,&nbsp;InternetAddress.parse(<br />
</span><span style="color: #008080">56</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;emailTo,&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">));<br />
</span><span style="color: #008080">57</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;设置主题</span><span style="color: #008000"><br />
</span><span style="color: #008080">58</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg.setSubject(title);<br />
</span><span style="color: #008080">59</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;设置内容</span><span style="color: #008000"><br />
</span><span style="color: #008080">60</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg.setText(msgs);<br />
</span><span style="color: #008080">61</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;设置邮件头</span><span style="color: #008000"><br />
</span><span style="color: #008080">62</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg.setHeader(</span><span style="color: #000000">"</span><span style="color: #000000">X-Mailer</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">www.dangdang.com</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">63</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;设置发送时间</span><span style="color: #008000"><br />
</span><span style="color: #008080">64</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg.setSentDate(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Date());<br />
</span><span style="color: #008080">65</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">66</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;发送！</span><span style="color: #008000"><br />
</span><span style="color: #008080">67</span><span style="color: #008000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Transport.send(msg);<br />
</span><span style="color: #008080">68</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">69</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">Mail&nbsp;was&nbsp;sent&nbsp;successfully.\n</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">70</span><span style="color: #000000"><img id="Codehighlighter1_1940_1968_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1940_1968_Open_Text.style.display='none'; Codehighlighter1_1940_1968_Closed_Image.style.display='inline'; Codehighlighter1_1940_1968_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_1940_1968_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1940_1968_Closed_Text.style.display='none'; Codehighlighter1_1940_1968_Open_Image.style.display='inline'; Codehighlighter1_1940_1968_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(AddressException&nbsp;e)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1940_1968_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1940_1968_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">71</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
</span><span style="color: #008080">72</span><span style="color: #000000"><img id="Codehighlighter1_1999_2027_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1999_2027_Open_Text.style.display='none'; Codehighlighter1_1999_2027_Closed_Image.style.display='inline'; Codehighlighter1_1999_2027_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_1999_2027_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1999_2027_Closed_Text.style.display='none'; Codehighlighter1_1999_2027_Open_Image.style.display='inline'; Codehighlighter1_1999_2027_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(MessagingException&nbsp;e)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1999_2027_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1999_2027_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">73</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
</span><span style="color: #008080">74</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">75</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">76</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">77</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">测试</span><span style="color: #008000"><br />
</span><span style="color: #008080">78</span><span style="color: #008000"><img id="Codehighlighter1_2079_2175_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2079_2175_Open_Text.style.display='none'; Codehighlighter1_2079_2175_Closed_Image.style.display='inline'; Codehighlighter1_2079_2175_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_2079_2175_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2079_2175_Closed_Text.style.display='none'; Codehighlighter1_2079_2175_Open_Image.style.display='inline'; Codehighlighter1_2079_2175_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;argv)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2079_2175_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_2079_2175_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">79</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">1000</span><span style="color: #000000">;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />
</span><span style="color: #008080">80</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendEmail(</span><span style="color: #000000">"</span><span style="color: #000000">XXXX@qq.com</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">Java&nbsp;Mail&nbsp;测试</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">这是程序自动给你发的！</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">81</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">82</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
</span><span style="color: #008080">83</span><span style="color: #000000"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span></div>
<img src ="http://www.blogjava.net/lardern/aggbug/282036.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lardern/" target="_blank">Bom Wu</a> 2009-06-13 15:13 <a href="http://www.blogjava.net/lardern/archive/2009/06/13/282036.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>EL表达式中使用函数</title><link>http://www.blogjava.net/lardern/archive/2009/03/22/261321.html</link><dc:creator>Bom Wu</dc:creator><author>Bom Wu</author><pubDate>Sun, 22 Mar 2009 08:19:00 GMT</pubDate><guid>http://www.blogjava.net/lardern/archive/2009/03/22/261321.html</guid><wfw:comment>http://www.blogjava.net/lardern/comments/261321.html</wfw:comment><comments>http://www.blogjava.net/lardern/archive/2009/03/22/261321.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lardern/comments/commentRss/261321.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lardern/services/trackbacks/261321.html</trackback:ping><description><![CDATA[<span style="font-family: Comic Sans MS">首先必须在JSP中声明这个标签库：<br />
&lt;%@ taglib prefix="fn" <font color="#000000">uri="http://java.sun.com/jsp/jstl/functions" %&gt;<br />
<br />
调用方式为：fn:functionName(arg,...)<br />
比如：${fn:length(aCollection)}<br />
length是JSTL库中自带的函数，除此之外常的还有：<br />
<br />
</font></span>
<table cellspacing="0" cellpadding="0" border="1">
    <tbody>
        <tr>
            <td>
            <p style="text-indent: 2em"><font color="#000000">函数</font></p>
            </td>
            <td>
            <p style="text-indent: 2em"><font color="#000000">描述</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p ><font color="#000000">fn:contains(string, substring)</font></p>
            </td>
            <td>
            <p ><font color="#000000">如果参数string中包含参数substring，返回true</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p ><font color="#000000">fn:containsIgnoreCase(string, substring)</font></p>
            </td>
            <td>
            <p ><font color="#000000">如果参数string中包含参数substring（忽略大小写），返回true</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p ><font color="#000000">fn:endsWith(string, suffix)</font></p>
            </td>
            <td>
            <p><font color="#000000">如果参数 string 以参数suffix结尾，返回true</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p><font color="#000000">fn:escapeXml(string)</font></p>
            </td>
            <td>
            <p><font color="#000000">将有特殊意义的XML (和HTML)转换为对应的XML character entity code，并返回</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p><font color="#000000">fn:indexOf(string, substring)</font></p>
            </td>
            <td>
            <p><font color="#000000">返回参数substring在参数string中第一次出现的位置</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p><font color="#000000">fn:join(array, separator)</font></p>
            </td>
            <td>
            <p><font color="#000000">将一个给定的数组array用给定的间隔符separator串在一起，组成一个新的字符串并返回。</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p><font color="#000000">fn:length(item)</font></p>
            </td>
            <td>
            <p><font color="#000000">返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。如果是String类型,返回值是String中的字符数。</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p><font color="#000000">fn:replace(string, before, after)</font></p>
            </td>
            <td valign="top">
            <p><font color="#000000">返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方，并返回替换后的结果</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p><font color="#000000">fn:split(string, separator)</font></p>
            </td>
            <td>
            <p><font color="#000000">返回一个数组，以参数separator 为分割符分割参数string，分割后的每一部分就是数组的一个元素</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p><font color="#000000">fn:startsWith(string, prefix)</font></p>
            </td>
            <td>
            <p><font color="#000000">如果参数string以参数prefix开头，返回true</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p><font color="#000000">fn:substring(string, begin, end)</font></p>
            </td>
            <td>
            <p><font color="#000000">返回参数string部分字符串, 从参数begin开始到参数end位置，包括end位置的字符</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p><font color="#000000">fn:substringAfter(string, substring)</font></p>
            </td>
            <td>
            <p><font color="#000000">返回参数substring在参数string中后面的那一部分字符串</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p><font color="#000000">fn:substringBefore(string, substring)</font></p>
            </td>
            <td>
            <p><font color="#000000">返回参数substring在参数string中前面的那一部分字符串</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p><font color="#000000">fn:toLowerCase(string)</font></p>
            </td>
            <td>
            <p><font color="#000000">将参数string所有的字符变为小写，并将其返回</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p><font color="#000000">fn:toUpperCase(string)</font></p>
            </td>
            <td>
            <p><font color="#000000">将参数string所有的字符变为大写，并将其返回</font></p>
            </td>
        </tr>
        <tr>
            <td valign="top">
            <p><font color="#000000">fn:trim(string)</font></p>
            </td>
            <td>
            <p><font color="#000000">去除参数string 首尾的空格，并将其返回</font></p>
            </td>
        </tr>
    </tbody>
</table><img src ="http://www.blogjava.net/lardern/aggbug/261321.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lardern/" target="_blank">Bom Wu</a> 2009-03-22 16:19 <a href="http://www.blogjava.net/lardern/archive/2009/03/22/261321.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>EL表达式</title><link>http://www.blogjava.net/lardern/archive/2009/03/14/259750.html</link><dc:creator>Bom Wu</dc:creator><author>Bom Wu</author><pubDate>Sat, 14 Mar 2009 11:46:00 GMT</pubDate><guid>http://www.blogjava.net/lardern/archive/2009/03/14/259750.html</guid><wfw:comment>http://www.blogjava.net/lardern/comments/259750.html</wfw:comment><comments>http://www.blogjava.net/lardern/archive/2009/03/14/259750.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lardern/comments/commentRss/259750.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lardern/services/trackbacks/259750.html</trackback:ping><description><![CDATA[<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"></span></span></span>&nbsp;</p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">一、EL简介 <br />
1.语法结构 <br />
&nbsp;&nbsp;&nbsp; ${expression} <br />
2.[]与.运算符 <br />
&nbsp;&nbsp;&nbsp; EL 提供.和[]两种运算符来存取数据。 <br />
&nbsp;&nbsp;&nbsp; 当要存取的属性名称中包含一些特殊字符，如.或?等并非字母或数字的符号，就一定要使用 []。例如： <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${user.My-Name}应当改为${user["My-Name"] } <br />
&nbsp;&nbsp;&nbsp; 如果要动态取值时，就可以用[]来做，而.无法做到动态取值。例如： <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ${sessionScope.user[data]}中data 是一个变量 <br />
3.变量 <br />
&nbsp;&nbsp;&nbsp; EL存取变量数据的方法很简单，例如：${username}。它的意思是取出某一范围中名称为username的变量。 <br />
&nbsp;&nbsp;&nbsp; 因为我们并没有指定哪一个范围的username，所以它会依序从Page、Request、Session、Application范围查找。 <br />
&nbsp;&nbsp;&nbsp; 假如途中找到username，就直接回传，不再继续找下去，但是假如全部的范围都没有找到时，就回传null。 <br />
&nbsp;&nbsp;&nbsp; 属性范围在EL中的名称 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Page&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PageScope <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Request&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RequestScope <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Session&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SessionScope <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Application&nbsp;&nbsp;&nbsp;&nbsp; ApplicationScope <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
二、EL隐含对象 <br />
1.与范围有关的隐含对象 <br />
与范围有关的EL 隐含对象包含以下四个：pageScope、requestScope、sessionScope 和applicationScope； <br />
它们基本上就和JSP的pageContext、request、session和application一样； <br />
在EL中，这四个隐含对象只能用来取得范围属性值，即getAttribute(String name)，却不能取得其他相关信息。 </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">例如：我们要取得session中储存一个属性username的值，可以利用下列方法： <br />
&nbsp;&nbsp;&nbsp; session.getAttribute("username") 取得username的值， <br />
在EL中则使用下列方法 <br />
&nbsp;&nbsp;&nbsp; ${sessionScope.username} </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">2.与输入有关的隐含对象 <br />
与输入有关的隐含对象有两个：param和paramValues，它们是EL中比较特别的隐含对象。 </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">例如我们要取得用户的请求参数时，可以利用下列方法： <br />
&nbsp;&nbsp;&nbsp; request.getParameter(String name) <br />
&nbsp;&nbsp;&nbsp; request.getParameterValues(String name) <br />
在EL中则可以使用param和paramValues两者来取得数据。 <br />
&nbsp;&nbsp;&nbsp; ${param.name} <br />
&nbsp;&nbsp;&nbsp; ${paramValues.name} </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">3.其他隐含对象 </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">cookie <br />
JSTL并没有提供设定cookie的动作， <br />
例：要取得cookie中有一个设定名称为userCountry的值，可以使用${cookie.userCountry}来取得它。 </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">header和headerValues <br />
header 储存用户浏览器和服务端用来沟通的数据 <br />
例：要取得用户浏览器的版本，可以使用${header["User-Agent"]}。 <br />
另外在鲜少机会下，有可能同一标头名称拥有不同的值，此时必须改为使用headerValues 来取得这些值。 </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">initParam <br />
initParam取得设定web站点的环境参数(Context) <br />
例：一般的方法String userid = (String)application.getInitParameter("userid"); <br />
&nbsp;&nbsp;&nbsp; 可以使用 ${initParam.userid}来取得名称为userid </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">pageContext <br />
pageContext取得其他有关用户要求或页面的详细信息。 <br />
&nbsp;&nbsp;&nbsp; ${pageContext.request.queryString}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 取得请求的参数字符串 <br />
&nbsp;&nbsp;&nbsp; ${pageContext.request.requestURL}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 取得请求的URL，但不包括请求之参数字符串 <br />
&nbsp;&nbsp;&nbsp; ${pageContext.request.contextPath}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 服务的web application 的名称 <br />
&nbsp;&nbsp;&nbsp; ${pageContext.request.method}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 取得HTTP 的方法(GET、POST) <br />
&nbsp;&nbsp;&nbsp; ${pageContext.request.protocol}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 取得使用的协议(HTTP/1.1、HTTP/1.0) <br />
&nbsp;&nbsp;&nbsp; ${pageContext.request.remoteUser}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 取得用户名称 <br />
&nbsp;&nbsp;&nbsp; ${pageContext.request.remoteAddr }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 取得用户的IP 地址 <br />
&nbsp;&nbsp;&nbsp; ${pageContext.session.new}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 判断session 是否为新的 <br />
&nbsp;&nbsp;&nbsp; ${pageContext.session.id}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 取得session 的ID <br />
&nbsp;&nbsp;&nbsp; ${pageContext.servletContext.serverInfo}&nbsp;&nbsp; 取得主机端的服务信息 </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">三、EL运算符 <br />
1.算术运算符有五个：+、-、*或$、/或div、%或mod <br />
2.关系运算符有六个：==或eq、!=或ne、&lt;或lt、&gt;或gt、&lt;=或le、&gt;=或ge <br />
3.逻辑运算符有三个：&amp;&amp;或and、||或or、!或not <br />
4.其它运算符有三个：Empty运算符、条件运算符、()运算符 <br />
&nbsp;&nbsp;&nbsp; 例：${empty param.name}、${A?B:C}、${A*(B+C)} </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">四、EL函数(functions)。 <br />
语法：ns:function( arg1, arg2, arg3 &#8230;. argN) <br />
其中ns为前置名称(prefix)，它必须和taglib 指令的前置名称一置 </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－ </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">补充： </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">&lt;%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %&gt; </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">FOREACH: </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">&lt;c:forEach items="${messages}" <br />
var="item" <br />
begin="0" <br />
end="9" <br />
step="1" <br />
varStatus="var"&gt; <br />
&#8230;&#8230; <br />
&lt;/c:forEach&gt; </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">&nbsp;</span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">OUT: </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">&lt;c:out value="/${logininfo.username}"/&gt; <br />
c:out&gt;将value 中的内容输出到当前位置，这里也就是把logininfo 对象的 <br />
username属性值输出到页面当前位置。 <br />
${&#8230;&#8230;}是JSP2.0 中的Expression Language（EL）的语法。它定义了一个表达式， <br />
其中的表达式可以是一个常量（如上），也可以是一个具体的表达语句（如forEach循环体中 <br />
的情况）。典型案例如下： <br />
&#216; ${logininfo.username} <br />
这表明引用logininfo 对象的username 属性。我们可以通过&#8220;.&#8221;操作符引 <br />
用对象的属性，也可以用&#8220;[]&#8221;引用对象属性，如${logininfo[username]} <br />
与${logininfo.username}达到了同样的效果。 <br />
&#8220;[]&#8221;引用方式的意义在于，如果属性名中出现了特殊字符，如&#8220;.&#8221;或者&#8220;-&#8221;， <br />
此时就必须使用&#8220;[]&#8221;获取属性值以避免语法上的冲突（系统开发时应尽量避免 <br />
这一现象的出现）。 <br />
与之等同的JSP Script大致如下： <br />
LoginInfo logininfo = <br />
(LoginInfo)session.getAttribute(&#8220;logininfo&#8221;); <br />
String username = logininfo.getUsername(); <br />
可以看到，EL大大节省了编码量。 <br />
这里引出的另外一个问题就是，EL 将从哪里找到logininfo 对象，对于 <br />
${logininfo.username}这样的表达式而言，首先会从当前页面中寻找之前是 <br />
否定义了变量logininfo，如果没有找到则依次到Request、Session、 <br />
Application 范围内寻找，直到找到为止。如果直到最后依然没有找到匹配的 <br />
变量，则返回null. <br />
如果我们需要指定变量的寻找范围，可以在EL表达式中指定搜寻范围： <br />
${pageScope.logininfo.username} <br />
${requestScope.logininfo.username} <br />
${sessionScope.logininfo.username} <br />
${applicationScope.logininfo.username} <br />
在Spring 中，所有逻辑处理单元返回的结果数据，都将作为Attribute 被放 <br />
置到HttpServletRequest 对象中返回（具体实现可参见Spring 源码中 <br />
org.springframework.web.servlet.view.InternalResourceView. <br />
exposeModelAsRequestAttributes方法的实现代码），也就是说Spring <br />
MVC 中，结果数据对象默认都是requestScope。因此，在Spring MVC 中， <br />
以下寻址方法应慎用： <br />
${sessionScope.logininfo.username} <br />
${applicationScope.logininfo.username} <br />
&#216; ${1＋2} <br />
结果为表达式计算结果，即整数值3。 <br />
&#216; ${i&gt;1} <br />
如果变量值i&gt;1的话，将返回bool类型true。与上例比较，可以发现EL会自 <br />
动根据表达式计算结果返回不同的数据类型。 <br />
表达式的写法与java代码中的表达式编写方式大致相同。 </span></span></span></span></p>
<p><br />
<span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">IF / CHOOSE: </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">&lt;c:if test="${var.index % 2 == 0}"&gt; <br />
* <br />
&lt;/c:if&gt; <br />
判定条件一般为一个EL表达式。 <br />
&lt;c:if&gt;并没有提供else子句，使用的时候可能有些不便，此时我们可以通过&lt;c:choose&gt; <br />
tag来达到类似的目的： <br />
&lt;c:choose&gt; <br />
&lt;c:when test="${var.index % 2 == 0}"&gt; <br />
* <br />
&lt;/c:when&gt; <br />
&lt;c:otherwise&gt; <br />
! <br />
&lt;/c:otherwise&gt; <br />
&lt;/c:choose&gt; <br />
类似Java 中的switch 语句，&lt;c:choose&gt;提供了复杂判定条件下的简化处理手法。其 <br />
中&lt;c:when&gt;子句类似case子句，可以出现多次。上面的代码，在奇数行时输出&#8220;*&#8221;号， <br />
而偶数行时输出&#8220;!&#8221;。 <br />
－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－ </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">再补充： </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">1&nbsp;&nbsp;&nbsp; EL表达式用${}表示,可用在所有的HTML和JSP标签中 作用是代替JSP页面中复杂的JAVA代码. </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp; EL表达式可操作常量 变量 和隐式对象. 最常用的 隐式对象有${param}和${paramValues}. ${param}表示返回请求参数中单个字符串的值. ${paramValues}表示返回请求参数的一组值.pageScope表示页面范围的变量.requestScope表示请求对象的变量. sessionScope表示会话范围内的变量.applicationScope表示应用范围的变量. </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp; &lt;%@ page isELIgnored="true"%&gt; 表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁止.JSP2.0中默认的启用EL语言. </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp; EL语言可显示 逻辑表达式如${true and false}结果是false&nbsp;&nbsp;&nbsp; 关系表达式如${5&gt;6} 结果是false&nbsp;&nbsp;&nbsp;&nbsp; 算术表达式如 ${5+5} 结果是10 </span></span></span></span></p>
<p><span style="font-family: Comic Sans MS"><span><span style="font-size: 10pt"><span style="font-size: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp; EL中的变量搜索范围是:page request session application&nbsp;&nbsp; 点运算符(.)和"[ ]"都是表示获取变量的值.区别是[ ]可以显示非词类的变量 </span></span></span></span></p><img src ="http://www.blogjava.net/lardern/aggbug/259750.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lardern/" target="_blank">Bom Wu</a> 2009-03-14 19:46 <a href="http://www.blogjava.net/lardern/archive/2009/03/14/259750.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JTextArea响应鼠标滚动</title><link>http://www.blogjava.net/lardern/archive/2008/12/30/249065.html</link><dc:creator>Bom Wu</dc:creator><author>Bom Wu</author><pubDate>Tue, 30 Dec 2008 02:13:00 GMT</pubDate><guid>http://www.blogjava.net/lardern/archive/2008/12/30/249065.html</guid><wfw:comment>http://www.blogjava.net/lardern/comments/249065.html</wfw:comment><comments>http://www.blogjava.net/lardern/archive/2008/12/30/249065.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lardern/comments/commentRss/249065.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lardern/services/trackbacks/249065.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">JTextArea&nbsp;jta</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;JTextArea(</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />JScrollPane&nbsp;jsp</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;JScrollPane(jta);<br />
<img id="Codehighlighter1_124_223_Open_Image" onclick="this.style.display='none'; Codehighlighter1_124_223_Open_Text.style.display='none'; Codehighlighter1_124_223_Closed_Image.style.display='inline'; Codehighlighter1_124_223_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_124_223_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_124_223_Closed_Text.style.display='none'; Codehighlighter1_124_223_Open_Image.style.display='inline'; Codehighlighter1_124_223_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />jta.addMouseWheelListener(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;MouseWheelListener()</span><span id="Codehighlighter1_124_223_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_124_223_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_173_221_Open_Image" onclick="this.style.display='none'; Codehighlighter1_173_221_Open_Text.style.display='none'; Codehighlighter1_173_221_Closed_Image.style.display='inline'; Codehighlighter1_173_221_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_173_221_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_173_221_Closed_Text.style.display='none'; Codehighlighter1_173_221_Open_Image.style.display='inline'; Codehighlighter1_173_221_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;mouseWheelMoved(MouseWheelEvent&nbsp;e)</span><span id="Codehighlighter1_173_221_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_173_221_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;jsp.dispatchEvent(e);&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">将事件交给JScrollPane处理</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" /></span><span style="color: #000000">}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000">);</span></div>
这样在JTextArea里滚动鼠标，滚动条就会滚动
<img src ="http://www.blogjava.net/lardern/aggbug/249065.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lardern/" target="_blank">Bom Wu</a> 2008-12-30 10:13 <a href="http://www.blogjava.net/lardern/archive/2008/12/30/249065.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>圣诞快乐</title><link>http://www.blogjava.net/lardern/archive/2008/12/24/248142.html</link><dc:creator>Bom Wu</dc:creator><author>Bom Wu</author><pubDate>Wed, 24 Dec 2008 11:28:00 GMT</pubDate><guid>http://www.blogjava.net/lardern/archive/2008/12/24/248142.html</guid><wfw:comment>http://www.blogjava.net/lardern/comments/248142.html</wfw:comment><comments>http://www.blogjava.net/lardern/archive/2008/12/24/248142.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lardern/comments/commentRss/248142.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lardern/services/trackbacks/248142.html</trackback:ping><description><![CDATA[圣诞快乐 圣诞快乐
<img src ="http://www.blogjava.net/lardern/aggbug/248142.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lardern/" target="_blank">Bom Wu</a> 2008-12-24 19:28 <a href="http://www.blogjava.net/lardern/archive/2008/12/24/248142.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>改变JOptionPane对话框的语言</title><link>http://www.blogjava.net/lardern/archive/2008/12/20/247486.html</link><dc:creator>Bom Wu</dc:creator><author>Bom Wu</author><pubDate>Sat, 20 Dec 2008 07:32:00 GMT</pubDate><guid>http://www.blogjava.net/lardern/archive/2008/12/20/247486.html</guid><wfw:comment>http://www.blogjava.net/lardern/comments/247486.html</wfw:comment><comments>http://www.blogjava.net/lardern/archive/2008/12/20/247486.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lardern/comments/commentRss/247486.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lardern/services/trackbacks/247486.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;JOptionPane调用静态方法弹出对话框时，按钮的语言为默认的本地语言，使用Locale.setDefaul()方法改变语言后，JOptionPane对话框的语言不能刷新，这时还应该改变JCompenent的默认Locale。<br />
例，改为英文：<br />
<br />
<span style="color: #0000ff; font-family: Comic Sans MS; background-color: #99ccff">Locale.setDefault(Locale.ENGLISH);<br style="font-family: " />
sun.awt.AppContext.getAppContext().put("JComponent.defaultLocale", Locale.ENGLISH);</span>
<img src ="http://www.blogjava.net/lardern/aggbug/247486.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lardern/" target="_blank">Bom Wu</a> 2008-12-20 15:32 <a href="http://www.blogjava.net/lardern/archive/2008/12/20/247486.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我终于迈出了一步！</title><link>http://www.blogjava.net/lardern/archive/2008/12/04/244327.html</link><dc:creator>Bom Wu</dc:creator><author>Bom Wu</author><pubDate>Thu, 04 Dec 2008 03:27:00 GMT</pubDate><guid>http://www.blogjava.net/lardern/archive/2008/12/04/244327.html</guid><wfw:comment>http://www.blogjava.net/lardern/comments/244327.html</wfw:comment><comments>http://www.blogjava.net/lardern/archive/2008/12/04/244327.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lardern/comments/commentRss/244327.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lardern/services/trackbacks/244327.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font style="display: inline-block; filter: glow(color=#FF33FF,strength=3); color: #ffffff">今天是个特别的日子！</font><wbr style="line-height: 1.3em">&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;这是我这两年以来最高兴的日子，所以我一定要在这写下来，跟朋友们分享我的喜悦！我现在都恨不得告诉全世界所有的人。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 原本以为，我的大学生活就要这么平淡的过去。但是老天还是给了我个机会，让我遇见了她，一个我心目中的好女孩。今天，她终于答应了我，让我有机会在以后照顾她。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我一定会好好珍惜，现在的我已经知道什么是最重要的，一定会好好待她，让她成为世界上最幸福的人！<img id="paperPicArea1" style="display: none; position: relative" src="http://cnc.imgcache.qq.com/ac/b.gif"  alt="" /> </p>
<img src ="http://www.blogjava.net/lardern/aggbug/244327.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lardern/" target="_blank">Bom Wu</a> 2008-12-04 11:27 <a href="http://www.blogjava.net/lardern/archive/2008/12/04/244327.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>