﻿<?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-HsiangYu 点点</title><link>http://www.blogjava.net/HsiangYu/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 08:57:19 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 08:57:19 GMT</pubDate><ttl>60</ttl><item><title>Oracle命令</title><link>http://www.blogjava.net/HsiangYu/archive/2011/04/29/349253.html</link><dc:creator>HsiangYu</dc:creator><author>HsiangYu</author><pubDate>Fri, 29 Apr 2011 02:02:00 GMT</pubDate><guid>http://www.blogjava.net/HsiangYu/archive/2011/04/29/349253.html</guid><wfw:comment>http://www.blogjava.net/HsiangYu/comments/349253.html</wfw:comment><comments>http://www.blogjava.net/HsiangYu/archive/2011/04/29/349253.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/HsiangYu/comments/commentRss/349253.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/HsiangYu/services/trackbacks/349253.html</trackback:ping><description><![CDATA[<ol start="1" class="dp-sql" style="font-size: 1em; line-height: 1.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1px; margin-left: 0px; padding-top: 2px; padding-right: 0px; padding-bottom: 2px; padding-left: 0px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #d1d7dc; border-right-color: #d1d7dc; border-bottom-color: #d1d7dc; border-left-color: #d1d7dc; list-style-type: decimal; list-style-position: initial; list-style-image: initial; color: #2b91af; font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #ffffff; ">
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; "><span style="color: black; ">&nbsp;1、</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">set</span><span style="color: black; ">&nbsp;linesize&nbsp;100;&nbsp;&nbsp;设置长度&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;2、<span class="keyword" style="color: #7f0055; font-weight: bold; ">set</span><span style="color: black; ">&nbsp;pagesize&nbsp;30;&nbsp;&nbsp;&nbsp;设置每页显示数目&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;3、ed&nbsp;a.sql&nbsp;&nbsp;打开记事本&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;4、@&nbsp;a&nbsp;执行文件a中的代码，可指定文件的路径&nbsp;@d:a.txt&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;5、conn&nbsp;用户名/密码&nbsp;&nbsp;根据用户名和密码连接数据库&nbsp;如果连接超级管理员(sys)&nbsp;则应加上<span class="keyword" style="color: #7f0055; font-weight: bold; ">as</span><span style="color: black; ">&nbsp;sysdba;&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;6、show&nbsp;<span class="func" style="color: #ff1493; ">user</span><span style="color: black; ">;&nbsp;显示当前连接的用户&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;7、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;*&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;tab;&nbsp;&nbsp;得到当前用户下的所有表&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;8、<span class="keyword" style="color: #7f0055; font-weight: bold; ">desc</span><span style="color: black; ">&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">temp</span><span style="color: black; ">;&nbsp;查看表结构&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;9、/&nbsp;&nbsp;继续执行上一个查询语句&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;&nbsp;&nbsp;&nbsp;clear&nbsp;scr;&nbsp;&nbsp;清屏&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">字符函数&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">10、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;</span><span class="func" style="color: #ff1493; ">upper</span><span style="color: black; ">(</span><span class="string" style="color: blue; ">'coolszy'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;将小写字母转换成大写，dual&nbsp;为一虚表&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">11、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;</span><span class="func" style="color: #ff1493; ">lower</span><span style="color: black; ">(</span><span class="string" style="color: blue; ">'KUKA'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;将大写字母转换成小写&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">12、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;initcap(</span><span class="string" style="color: blue; ">'kuka'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;将首字母大写&nbsp;&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">13、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;concat(</span><span class="string" style="color: blue; ">'Hello'</span><span style="color: black; ">,</span><span class="string" style="color: blue; ">'&nbsp;world'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;连接字符串，但没有||好用</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;concat(</span><span class="string" style="color: blue; ">'Hello'</span><span style="color: black; ">,</span><span class="string" style="color: blue; ">'world'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">14、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;substr(</span><span class="string" style="color: blue; ">'hello'</span><span style="color: black; ">,1,3)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;截取字符串&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">15、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;length(</span><span class="string" style="color: blue; ">'hello'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;求字符串长度&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">16、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;</span><span class="func" style="color: #ff1493; ">replace</span><span style="color: black; ">(</span><span class="string" style="color: blue; ">'hello'</span><span style="color: black; ">,</span><span class="string" style="color: blue; ">'l'</span><span style="color: black; ">,</span><span class="string" style="color: blue; ">'x'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;替换字符串&nbsp;&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">17、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;substr(</span><span class="string" style="color: blue; ">'hello'</span><span style="color: black; ">,-3,3)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;截取后三位&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">数值函数&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">18、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;round(789.536)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;四舍五入，舍去小数&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">19、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;round(789.536,2)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;保留两位小数&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">20、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;round(789.536,-1)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;对整数进行四舍五入&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">21、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;trunc(789.536)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;舍去小数，但不进位&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">22、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;trunc(789.536,2)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">23、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;trunc(789.536,-2)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">24、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;mod(10,3)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;返回10%3的结果&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">日期函数&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">25、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;sysdate&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;返回当前日期&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">26、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;months_between(sysdate,</span><span class="string" style="color: blue; ">'16-6月&nbsp;-08'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;返回之间的月数&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">27、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;add_months(sysdate,4)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;在日期上加上月数&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">28、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;next_day(sysdate,</span><span class="string" style="color: blue; ">'星期一'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;求下一个星期一&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">29、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;last_day(sysdate)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;求本月的最后一天&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">转换函数&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">30、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;to_char(sysdate,</span><span class="string" style="color: blue; ">'yyyy'</span><span style="color: black; ">)&nbsp;</span><span class="func" style="color: #ff1493; ">year</span><span style="color: black; ">,to_char(sysdate,</span><span class="string" style="color: blue; ">'mm'</span><span style="color: black; ">),to_char(sysdate,</span><span class="string" style="color: blue; ">'dd'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">31、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;to_char(sysdate,</span><span class="string" style="color: blue; ">'yyyy-mm-dd'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">32、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;to_char(sysdate,</span><span class="string" style="color: blue; ">'fmyyyy-mm-dd'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;取消月&nbsp;日&nbsp;前面的0&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">33、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;to_char(</span><span class="string" style="color: blue; ">'20394'</span><span style="color: black; ">,</span><span class="string" style="color: blue; ">'99,999'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;分割钱&nbsp;9表示格式&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">34、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;to_char(</span><span class="string" style="color: blue; ">'2034'</span><span style="color: black; ">,</span><span class="string" style="color: blue; ">'L99,999'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;加上钱币符号&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">35、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;to_number(</span><span class="string" style="color: blue; ">'123'</span><span style="color: black; ">)*to_number(</span><span class="string" style="color: blue; ">'2'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">36、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;to_date(</span><span class="string" style="color: blue; ">'1988-07-04'</span><span style="color: black; ">,</span><span class="string" style="color: blue; ">'yyyy-mm-dd'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">通用函数&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">37、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;nvl(</span><span class="op" style="color: #808080; ">null</span><span style="color: black; ">,0)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;如果为</span><span class="op" style="color: #808080; ">null</span><span style="color: black; ">，则用0代替&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">38、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;decode(1,1,</span><span class="string" style="color: blue; ">'内容是1'</span><span style="color: black; ">,2,</span><span class="string" style="color: blue; ">'内容是2'</span><span style="color: black; ">,3,</span><span class="string" style="color: blue; ">'内容是3'</span><span style="color: black; ">)&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;dual;&nbsp;类似于&nbsp;switch...</span><span class="func" style="color: #ff1493; ">case</span><span style="color: black; ">...&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">事务处理&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">39、<span class="keyword" style="color: #7f0055; font-weight: bold; ">commit</span><span style="color: black; ">;&nbsp;&nbsp;提交事务&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">40、<span class="keyword" style="color: #7f0055; font-weight: bold; ">rollback</span><span style="color: black; ">;&nbsp;回滚事务&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">41、<span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;rownum&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">table</span><span style="color: black; ">;&nbsp;在没一列前面显示行号&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">42、<span class="keyword" style="color: #7f0055; font-weight: bold; ">drop</span><span style="color: black; ">&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">table</span><span style="color: black; ">&nbsp;表名&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">cascade</span><span style="color: black; ">&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">constraint</span><span style="color: black; ">&nbsp;&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword" style="color: #7f0055; font-weight: bold; ">on</span><span style="color: black; ">&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">delete</span><span style="color: black; ">&nbsp;casecade&nbsp;当父表中的内容被删除后，子表中的内容也被删除&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;&nbsp;</span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">43、<span class="keyword" style="color: #7f0055; font-weight: bold; ">desc</span><span style="color: black; ">表名&nbsp;显示表的结构&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">44、<span class="keyword" style="color: #7f0055; font-weight: bold; ">create</span><span style="color: black; ">&nbsp;</span><span class="func" style="color: #ff1493; ">user</span><span style="color: black; ">&nbsp;[username]&nbsp;identified&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">by</span><span style="color: black; ">&nbsp;[</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">password</span><span style="color: black; ">]&nbsp;创建新的用户&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">45、<span class="keyword" style="color: #7f0055; font-weight: bold; ">grant</span><span style="color: black; ">&nbsp;权限1、权限2...</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">to</span><span style="color: black; ">&nbsp;用户&nbsp;&nbsp;给创建用户权限&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;ex:<span class="keyword" style="color: #7f0055; font-weight: bold; ">grant</span><span style="color: black; ">&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">create</span><span style="color: black; ">&nbsp;session&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">to</span><span style="color: black; ">&nbsp;[username]&nbsp;此时只能连接到数据库&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword" style="color: #7f0055; font-weight: bold; ">grant</span><span style="color: black; ">&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">connect</span><span style="color: black; ">,resource&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">to</span><span style="color: black; ">&nbsp;[username]&nbsp;此时权限能满足要求&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">46、<span class="keyword" style="color: #7f0055; font-weight: bold; ">alter</span><span style="color: black; ">&nbsp;</span><span class="func" style="color: #ff1493; ">user</span><span style="color: black; ">&nbsp;[username]&nbsp;identified&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">by</span><span style="color: black; ">&nbsp;[</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">password</span><span style="color: black; ">]&nbsp;修改用户密码&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">47、<span class="keyword" style="color: #7f0055; font-weight: bold; ">alter</span><span style="color: black; ">&nbsp;</span><span class="func" style="color: #ff1493; ">user</span><span style="color: black; ">&nbsp;[username]&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">password</span><span style="color: black; ">&nbsp;expired&nbsp;下次登录时提示修改密码&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">48、<span class="keyword" style="color: #7f0055; font-weight: bold; ">alter</span><span style="color: black; ">&nbsp;</span><span class="func" style="color: #ff1493; ">user</span><span style="color: black; ">&nbsp;[username]&nbsp;account&nbsp;lock&nbsp;&nbsp;锁住用户&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">49、<span class="keyword" style="color: #7f0055; font-weight: bold; ">alter</span><span style="color: black; ">&nbsp;</span><span class="func" style="color: #ff1493; ">user</span><span style="color: black; ">&nbsp;[username]&nbsp;account&nbsp;unlock&nbsp;&nbsp;解锁锁用户&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">50、<span class="keyword" style="color: #7f0055; font-weight: bold; ">grant</span><span style="color: black; ">&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">,</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">delete</span><span style="color: black; ">&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">on</span><span style="color: black; ">&nbsp;scott.emp&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">to</span><span style="color: black; ">&nbsp;[username]&nbsp;把scott下emp表的两个权限给用户&nbsp;&nbsp;</span></span></li>
    <li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 38px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 1px; border-left-style: solid; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: black; ">51、<span class="keyword" style="color: #7f0055; font-weight: bold; ">revoke</span><span style="color: black; ">&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">select</span><span style="color: black; ">&nbsp;,</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">delete</span><span style="color: black; ">&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">on</span><span style="color: black; ">&nbsp;scott.emo&nbsp;</span><span class="keyword" style="color: #7f0055; font-weight: bold; ">from</span><span style="color: black; ">&nbsp;[username]&nbsp;回收权限&nbsp;</span></span></li>
</ol>
<img src ="http://www.blogjava.net/HsiangYu/aggbug/349253.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/HsiangYu/" target="_blank">HsiangYu</a> 2011-04-29 10:02 <a href="http://www.blogjava.net/HsiangYu/archive/2011/04/29/349253.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>十步让你成为一名优秀的Web开发人员</title><link>http://www.blogjava.net/HsiangYu/archive/2011/04/29/349251.html</link><dc:creator>HsiangYu</dc:creator><author>HsiangYu</author><pubDate>Fri, 29 Apr 2011 01:57:00 GMT</pubDate><guid>http://www.blogjava.net/HsiangYu/archive/2011/04/29/349251.html</guid><wfw:comment>http://www.blogjava.net/HsiangYu/comments/349251.html</wfw:comment><comments>http://www.blogjava.net/HsiangYu/archive/2011/04/29/349251.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/HsiangYu/comments/commentRss/349251.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/HsiangYu/services/trackbacks/349251.html</trackback:ping><description><![CDATA[<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">如果你已经是一名优秀的Web开发人员，那请路过即可。如果你还是一个准备入行或刚入行的菜鸟，那本文倒值得一读。要成为一名优秀的Web开发人员，没有捷径可走，本文就是为那些还在苦苦寻找学习目标的人编写的。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">第一步：学好HTML</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">HTML（超文本标记语言）是网页的核心，因此你首先应该学好它，不要害怕，HTML很容易学习的，但也很容易误用，学懂容易要学精还得费点功夫，但学好HTML是成为Web开发人员的基本条件。（注：随着<a href="http://developer.51cto.com/art/200907/133407.htm" style="color: #108ac6; text-decoration: underline; ">HTML 5规范</a>出炉日期将近，了解HTML 5也将成为Web开发人员的必修课）</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">学习资源：</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">HTML Dog （<a href="http://htmldog.com/" style="color: #108ac6; text-decoration: underline; ">http://htmldog.com/</a>）</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">HTML入门指南 （<a href="http://www.w3.org/MarkUp/Guide/" style="color: #108ac6; text-decoration: underline; ">http://www.w3.org/MarkUp/Guide/</a>）</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">W3C HTML学习教程 （<a href="http://www.w3schools.com/html/" style="color: #108ac6; text-decoration: underline; ">http://www.w3schools.com/html/</a>）</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">第二步：学好服务器端脚本语言</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">服务器端脚本编程也是Web开发人员的基本功之一，你只需挑选一个服务器端脚本语言，然后学好它，目前流行的服务器脚本语言有：</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">PHP （<a href="http://php.net/" style="color: #108ac6; text-decoration: underline; ">http://php.net/</a>）</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">Python （<a href="http://www.python.org/" style="color: #108ac6; text-decoration: underline; ">http://www.python.org/</a>）</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">Ruby （<a href="http://www.ruby-lang.org/en/" style="color: #108ac6; text-decoration: underline; ">http://www.ruby-lang.org/en/</a>）</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">第三步：学好SQL</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">要构建动态页面就必须使用到<a href="http://database.51cto.com/" style="color: #108ac6; text-decoration: underline; ">数据库</a>，但这么多数据库产品，该如何是好呢？别担心，它们都会遵循标准的SQL原则，学习SQL的资源包括：</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">W3C SQL学习教程 （<a href="http://www.w3schools.com/SQl/default.asp" style="color: #108ac6; text-decoration: underline; ">http://www.w3schools.com/SQl/default.asp</a>）</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">MySQL主页 （<a href="http://www.mysql.com/" style="color: #108ac6; text-decoration: underline; ">http://www.mysql.com/</a>）</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">SQL维基百科 （<a href="http://en.wikipedia.org/wiki/SQL" style="color: #108ac6; text-decoration: underline; ">http://en.wikipedia.org/wiki/SQL</a>）</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">第四步：学好CSS</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">涉及到网页外观时，就需要学习CSS了，它可以帮你把网页做得更美观。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">学习资源：</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">HTML Dog&nbsp; （<a href="http://htmldog.com/" style="color: #108ac6; text-decoration: underline; ">http://htmldog.com/</a>）</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">CSS禅意花园 （<a href="http://www.csszengarden.com/" style="color: #108ac6; text-decoration: underline; ">http://www.csszengarden.com/</a>）已有中文版图书。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">第五步：学好JavaScript</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">今天大部分Web开发人员都喜欢使用jQuery（<a href="http://jquery.com/" style="color: #108ac6; text-decoration: underline; ">http://jquery.com/</a>），学习JavaScript的基本语法，以及如何使用JavaScript编程将会提高你的技能。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">学习资源：</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">webmonkey.com上的JavaScript学习资源 （<a href="http://www.webmonkey.com/tutorial/JavaScript_Tutorial" style="color: #108ac6; text-decoration: underline; ">http://www.webmonkey.com/tutorial/JavaScript_Tutorial</a>）</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">W3C JavaScript学习教程 （<a href="http://www.w3schools.com/JS/default.asp" style="color: #108ac6; text-decoration: underline; ">http://www.w3schools.com/JS/default.asp</a>）</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">第六步：学好正则表达式</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">虽然它并不像其它知识那么重要，但学习了正则表达式后，如果使用得当将会节省你很多时间，从验证到高亮显示它够能帮到你。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">第七步：学习一点Unix和Linux的基本知识</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">这并不是必须的，但知道一点Linux命令不会伤害到你，或许你还不知道，大部分Web服务器都运行在Unix和Linux平台上，如果我是你，我会去学习一些基本的Linux命令的。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">第八步：了解Web服务器</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">你不必在这上面花太多精力，但对Apache的基本配置，.htaccess配置技巧有一些掌握的话，将来必定受益，而且这方面的知识学起来也相对容易，不会花多长时间。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">第九步：熟悉版本控制系统的用法</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">熟悉使用一种优秀的版本控制系统将很有用处，你在实际工作中就会发现精通一种版本控制系统是多么幸福。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">第十步：学好Web框架</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">当你掌握了HTML，服务器端脚本语言，CSS和JavaScript后，就应该找一个Web框架加快你的Web开发速度，使用框架可以节约你很多时间，如果你使用PHP，可选的框架有CakePHP，CodeIgniter，Zend等，Python程序员喜欢使用Django和 webpy，<a href="http://developer.51cto.com/art/200610/33124.htm" style="color: #108ac6; text-decoration: underline; ">Ruby</a>程序员喜欢使用RoR。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">怎么样，从最简单的HTML到Web框架，内容还是不少吧，要想精通这里的每一样技术，都得下苦功夫才行。</p>
<img src ="http://www.blogjava.net/HsiangYu/aggbug/349251.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/HsiangYu/" target="_blank">HsiangYu</a> 2011-04-29 09:57 <a href="http://www.blogjava.net/HsiangYu/archive/2011/04/29/349251.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>求职面试的六大自杀式回答</title><link>http://www.blogjava.net/HsiangYu/archive/2011/04/29/349250.html</link><dc:creator>HsiangYu</dc:creator><author>HsiangYu</author><pubDate>Fri, 29 Apr 2011 01:52:00 GMT</pubDate><guid>http://www.blogjava.net/HsiangYu/archive/2011/04/29/349250.html</guid><wfw:comment>http://www.blogjava.net/HsiangYu/comments/349250.html</wfw:comment><comments>http://www.blogjava.net/HsiangYu/archive/2011/04/29/349250.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/HsiangYu/comments/commentRss/349250.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/HsiangYu/services/trackbacks/349250.html</trackback:ping><description><![CDATA[<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">很多人应聘不上去，不是由于自己不够优秀，而是这个人从头到尾锲而不舍的自杀所致。&nbsp;&nbsp;<br />
<br />
很多人应聘不上去，不是由于自己不够优秀，而是这个人从头到尾锲而不舍的自杀所致。这样的人大概占到了人数的40%到50%!</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">摘录一些最简单的自杀式问题，希望有帮助。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">珍爱面试，远离自杀!</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">1.自杀式一：奋不顾身</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">请简单介绍一下你自己：</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">我是一个很普通的人&#8230;&#8230;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">给你一个机会，就是让你证明自己的优秀的!每一个都有闪光点，关键是你如何寻找。但是这样的回答让人觉得你连想都不想。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">请简单介绍一下你自己：</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">我今天准备得不太好&#8230;&#8230; 你的意思是：我还可以更好的。面试官听到的意思是：没准备好还来干嘛，太不尊重我啦!(当年在新东方培训教师的时候，每当我听到这句话，我们就说：那请你准备好再来，不要浪费大家的时间&#8230;&#8230;)</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">2.自杀式二：天花乱坠</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">说说你的优点：</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">(用一种熟练无比的不过大脑的声调)我团结同学、尊重老师、热爱生活、兴趣多样，积极主动&#8230;&#8230;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">中国教育很多要求就是变态的，比如严肃活泼，在我看来就是典型的精神分裂。我自己在面试期间，最郁闷的就是看到那些云集了中华文明5000年所有传统文化的人。优点不是越多越好，而是越真实和独特越好。很难想象一个人如何可以&#8220;团结同学&#8221;同时&#8220;独立研究，刻苦钻研&#8221;还要&#8220;积极投身社团&#8221;。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">什么优点都有的人 = 没有优点</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">3.自杀式之三：我要学习</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">你希望通过这份工作获得什么呢?</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">我希望通过这份工作锻炼自己，提升自己的能力。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">同学，公司又不是学校，是希望你过来干活的，学习的目的也是更好的工作。你居然准备拿我们的工作机会练手和锻炼自己?我们还是找一些更靠谱的人吧。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">4.自杀式之四：前途钱途</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">你还有什么问题么?</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">我想问一下工资大概是多少?还能高些么?</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">一般来说，工资完全可以在公司的网站、一般的行业网站找到。或者私下沟通。在大公司面试的时候问这个问题不太合适。因为很多HR会认为，就业是一种双向选择，你还没有展示你的能力呢?我凭什么买你?</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">建议可以在基本意向确定以后再问。当然，就这个问题，有不同意见。有人还建议说当场问显得自己很有信心。在职人士的话，一定要谈薪酬。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">5.自杀式之五：我会努力!</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">你会如何面对你的新工作?</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">(眼神坚定，满脸通红)我会认真努力，尽全力做好。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">商业社会，态度不等于能力。不管你是全力以赴还是认真努力，没有达到目标，也是无用。不管你是心不在焉还是，只要最后达到了公司要的结果，那就是好员工。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">你可以尝试提供你准备的具体的行动步骤和目标，否则这个问题基本等于没有回答。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">6.自杀式之六：我应该</strong></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">如果你给一份&#8230;&#8230;的任务，你会怎么做?</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">我应该能够做好&#8230;&#8230;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">我应该能够做好，反过来说就是：做不好也不怪我吧!</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">企业是用结果说话的，应该做好&#8230;&#8230; 那还有应该做不好地方怎么办?这是一个责任心的测试。但是&#8220;应该&#8221;者失败了。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">你可以尝试谈谈，你会怎么做。如果做到你会怎么样，如果做不到，你会如何调整。保证在DEADLINE前获得底线结果。</p>
<img src ="http://www.blogjava.net/HsiangYu/aggbug/349250.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/HsiangYu/" target="_blank">HsiangYu</a> 2011-04-29 09:52 <a href="http://www.blogjava.net/HsiangYu/archive/2011/04/29/349250.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SSH 常见面试题02</title><link>http://www.blogjava.net/HsiangYu/archive/2011/04/28/349162.html</link><dc:creator>HsiangYu</dc:creator><author>HsiangYu</author><pubDate>Thu, 28 Apr 2011 02:55:00 GMT</pubDate><guid>http://www.blogjava.net/HsiangYu/archive/2011/04/28/349162.html</guid><wfw:comment>http://www.blogjava.net/HsiangYu/comments/349162.html</wfw:comment><comments>http://www.blogjava.net/HsiangYu/archive/2011/04/28/349162.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/HsiangYu/comments/commentRss/349162.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/HsiangYu/services/trackbacks/349162.html</trackback:ping><description><![CDATA[<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">1.struts<br />
Action是不是线程安全的？如果不是，有什么方式可以保证Action的线程安全？如果是，说明原因</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">2.MVC，分析一下struts是如何实现MVC的</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">3.struts中的几个关键对象的作用(说说几个关键对象的作用)</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">4.spring<br />
说说AOP和IOC的概念以及在spring中是如何应用的</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">5.Hibernate有哪几种查询数据的方式</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">6.load()和get()的区别</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">回答：<br />
1.Struts1 Action是单例模式并且必须是线程安全的，因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事，并且要在开发时特别小心。Action资源必须是线程安全的或同步的。<br />
Struts2 Action对象为每一个请求产生一个实例，因此没有线程安全问题。（实际上，servlet容器给每个请求产生许多可丢弃的对象，并且不会导致性能和垃圾回收问题）</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">2.struts是用一组类,servlet 和jsp规范实现mvc的</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">3.ActionFrom ActionServlet Action struts-config.xml</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">4.spring的核心就是IOC,通过指定对象的创建办法,描述对象与服务之间的关系,而不生成对象</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">5.3种,hql 条件查询() 原生sql</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">6.load()方法认为该数据一定存在,可以放心的使用代理来延时加载 ,如果使用过程中发现了问题,就抛出异常;<br />
get()方法一定要获取到真实的数据,否则返回null</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><a title="Permanent Link: 一些Spring和Hibernate的面试题(附答案)" href="http://www.mianwww.com/html/2009/01/1804.html" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; "><strong style="font-weight: bold; ">一些Spring</strong><strong style="font-weight: bold; ">和Hibernate</strong><strong style="font-weight: bold; ">的面试题(</strong><strong style="font-weight: bold; ">附答案)</strong></span></a></p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><a title="View all posts in Hibernate" href="http://www.mianwww.com/html/category/it-interview/hibernate" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Hibernate</span></a>,&nbsp;<a title="View all posts in Java/J2EE" href="http://www.mianwww.com/html/category/it-interview/java" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Java/J2EE</span></a>,&nbsp;<a title="View all posts in Spring" href="http://www.mianwww.com/html/category/it-interview/spring" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Spring</span></a></p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">1、 简述你对IoC（Inversion of Control）的理解，描述一下Spring中实现DI（Dependency Injection）的几种方式。</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">2、 Spring的Bean有多种作用域，包括：</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">singleton、prototype、request、session、global session、application、自定义</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">3、 简单描述Spring framework与Struts的不同之处，整合Spring与Struts有哪些方法，哪种最好，为什么？</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">4、 Hibernate中的update()和saveOrUpdate()的区别</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">5、 Spring对多种ORM框架提供了很好的支持，简单描述在Spring中使用Hibernate的方法，并结合事务管理。</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">答案：</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">1、好莱坞原则€€€€不要打电话找我，我会打给你的。IoC将创建的职责从应用程序代码搬到了框架中。Spring对Setter注入和构造方法注入提供支持。（详见http://martinfowler.com/articles/injection.html，以及http: //www.redsaga.com/spring_ref/2.0/html/beans.html#beans-factory- collaborators）</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">2、 除application（详见Spring framework 2.0 Reference的3.4节bean的作用域）</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">3、 Spring是完整的一站式框架，而Struts仅是MVC框架，且着重于MVC中的C。Spring有三种方式整合Struts：使用 Spring 的 ActionSupport 类整合 Struts；使用 Spring 的 DelegatingRequestProcessor 覆盖 Struts 的 RequestProcessor；将 Struts Action 管理委托给 Spring 框架，动作委托最好。（详见使用Spring 更好地处理Struts 动作）</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">Spring 2.0新增一种方式：AutowiringRequestProcessor。（详见http://www.iteye.com/topic/24239）</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">4、 saveOrUpdate()方法可以实现update()的功能，但会多些步骤，具体如下：</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">如果对象在该session中已经被持久化，不进行操作；</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">对象的标识符属性(identifier property)在数据库中不存在或者是个暂时的值，调用save()方法保存它；</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">如果session中的另一个对象有相同的标识符抛出一个异常；</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">以上皆不符合则调用update()更新之。</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">5、在context中定义DataSource，创建SessionFactoy，设置参数；DAO类继承HibernateDaoSupport，实现具体接口，从中获得HibernateTemplate进行具体操作。</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">在使用中如果遇到OpenSessionInView的问题，可以添加OpenSessionInViewFilter或OpenSessionInViewInterceptor。（详见Spring framework 2.0 Reference的12.2节Hibernate）</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">声明式事务需声明事务管理器，在context中设置指定属性，用确定和。</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><a title="Permanent Link: 请你谈谈SSH整合" href="http://www.mianwww.com/html/2009/01/1707.html" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; "><strong style="font-weight: bold; ">请你谈谈SSH</strong><strong style="font-weight: bold; ">整合</strong></span></a></p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><a title="View all posts in Hibernate" href="http://www.mianwww.com/html/category/it-interview/hibernate" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Hibernate</span></a>,&nbsp;<a title="View all posts in Java/J2EE" href="http://www.mianwww.com/html/category/it-interview/java" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Java/J2EE</span></a>,&nbsp;<a title="View all posts in Spring" href="http://www.mianwww.com/html/category/it-interview/spring" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Spring</span></a>,&nbsp;<a title="View all posts in Struts" href="http://www.mianwww.com/html/category/it-interview/struts-it-interview" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Struts</span></a></p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">SSH：<br />
Struts（表示层）+Spring（业务层）+Hibernate（持久层）<br />
Struts：<br />
Struts是一个表示层框架，主要作用是界面展示，接收请求，分发请求。<br />
在MVC框架中，Struts属于VC层次，负责界面表现，负责MVC关系的分发。（View：沿用JSP，HTTP，Form，Tag，Resourse ；Controller：ActionServlet，struts-config.xml，Action）<br />
Hibernate：<br />
Hibernate是一个持久层框架，它只负责与关系数据库的操作。<br />
Spring：<br />
Spring是一个业务层框架，是一个整合的框架，能够很好地黏合表示层与持久层。</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><a title="Permanent Link: Spring如何创建一个数据连接池" href="http://www.mianwww.com/html/2009/01/217.html" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; "><strong style="font-weight: bold; ">Spring</strong><strong style="font-weight: bold; ">如何创建一个数据连接池</strong></span></a></p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><a title="View all posts in Java/J2EE" href="http://www.mianwww.com/html/category/it-interview/java" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Java/J2EE</span></a>,&nbsp;<a title="View all posts in Spring" href="http://www.mianwww.com/html/category/it-interview/spring" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Spring</span></a></p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">&lt;bean id=&#8221;dataSource&#8221; class=&#8221;org.apache.commons.dbcp.BasicDataSource&#8221;&gt;<br />
&lt;property name=&#8221;driver&#8221;&gt;<br />
&lt;value&gt;${db.driver}&lt;/value&gt;<br />
&lt;/property&gt;<br />
&lt;property name=&#8221;url&#8221;&gt;<br />
&lt;value&gt;${db.url}&lt;/value&gt;<br />
&lt;/property&gt;<br />
&lt;property name=&#8221;username&#8221;&gt;<br />
&lt;value&gt;${db.username}&lt;/value&gt;<br />
&lt;/property&gt;<br />
&lt;property name=&#8221;password&#8221;&gt;<br />
&lt;value&gt;${db.password}&lt;/value&gt;<br />
&lt;/property&gt;<br />
&lt;/bean&gt;</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><a title="Permanent Link: Spring如何获取Bean" href="http://www.mianwww.com/html/2009/01/204.html" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; "><strong style="font-weight: bold; ">Spring</strong><strong style="font-weight: bold; ">如何获取Bean</strong></span></a></p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><a title="View all posts in Java/J2EE" href="http://www.mianwww.com/html/category/it-interview/java" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Java/J2EE</span></a>,&nbsp;<a title="View all posts in Spring" href="http://www.mianwww.com/html/category/it-interview/spring" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Spring</span></a></p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">通过xml配置文件</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">bean配置在xml里面，spring提供多种方式读取配置文件得到ApplicationContext.</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">第一种方式：FileSystemXmlApplicationContext</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">通过程序在初始化的时候，导入Bean配置文件，然后得到Bean实例:<br />
ApplicationContext ac = new FileSystemXmlApplicationContext(&#8221;applicationContext.xml&#8221;)<br />
ac.getBean(&#8221;beanName&#8221;);</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">第二种方式：WebApplicationContextUtil</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">在B/S系统中,通常在web.xml初始化bean的配置文件，然后由WebAppliCationContextUtil得到ApplicationContext.例如：<br />
ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc);<br />
ApplicationContext ctx =&nbsp;&nbsp; WebApplicationContextUtils.getWebApplicationContext(ServletContext sc);</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">其中 servletContext sc 可以具体 换成 servlet.getServletContext()或者 this.getServletContext() 或者 request.getSession().getServletContext();</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">另外，由于spring是注入的对象放在ServletContext中的，所以可以直接在ServletContext取出WebApplicationContext 对象：</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">WebApplicationContext webApplicationContext = (WebApplicationContext) servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><a title="Permanent Link: Spring框架有哪几部分组成？" href="http://www.mianwww.com/html/2009/01/202.html" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; "><strong style="font-weight: bold; ">Spring</strong><strong style="font-weight: bold; ">框架有哪几部分组成？</strong></span></a></p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><a title="View all posts in Java/J2EE" href="http://www.mianwww.com/html/category/it-interview/java" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Java/J2EE</span></a>,&nbsp;<a title="View all posts in Spring" href="http://www.mianwww.com/html/category/it-interview/spring" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Spring</span></a></p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">Spring框架有七个模块组成组成，这7个模块(或组件)均可以单独存在，也可以与其它一个或多个模块联合使用，主要功能表现如下：</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">☞</strong>&nbsp;<strong style="font-weight: bold; ">Spring</strong>&nbsp;<strong style="font-weight: bold; ">核心容器（Core）：</strong>提供Spring框架的基本功能。核心容器的主要组件是BeanFactory，她是工厂模式的实现。BeanFactory使用控制反转（Ioc）模式将应用程序的配置和依赖性规范与实际的应用代码程序分开。</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">☞</strong>&nbsp;<strong style="font-weight: bold; ">Spring AOP</strong><strong style="font-weight: bold; ">：</strong>通过配置管理特性，Spring AOP模块直接面向方面的编程功能集成到了Spring框架中，所以可以很容易的使Spring框架管理的任何对象支持 AOP。Spring AOP模块为基于Spring的应用程序中的对象提供了事务管理服务。通过使用Spring AOP，不用依赖于EJB组件，就可以将声明性事务管理集成到应用程序中。</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">☞</strong>&nbsp;<strong style="font-weight: bold; ">Spring ORM</strong><strong style="font-weight: bold; ">：</strong>Spring框架集成了若干ORM框架,从而提供了ORM的对象关系工具,其中包括 JDO、Hibernate、iBatis和TopLink。所有这些都遵从Spring的通用事务和DAO异常层结构。</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">☞</strong>&nbsp;<strong style="font-weight: bold; ">Spring DAO</strong><strong style="font-weight: bold; ">：</strong>JDBC DAO抽象层提供了有意义的异常层次的结构，可用该结构来管理异常处理和不同数据供应商抛出的异常错误信息。异常层次结构简化了错误处理，并且大大的降低了需要编写的异常代码数量（例如，打开和关系连接）。Spring DAO的面向JDBC的异常遵从通用的DAO异常层结构。</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">☞</strong>&nbsp;<strong style="font-weight: bold; ">Spring WEB</strong><strong style="font-weight: bold; ">：</strong>Web上下文模块建立在上下文模块（Context）的基础之上，为基于Web服务的应用程序提供了上下文的服务。所以Spring框架支持 Jakarta Struts的集成。Web模块还简化了处理多部分请求及将请求参数绑定到域对象的工作。</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">☞</strong>&nbsp;<strong style="font-weight: bold; ">Spring</strong><strong style="font-weight: bold; ">上下文（Context）：</strong>Spring上下文是一个配置文件，向Spring框架提供上下文信息。Spring上下文包括企业服务，例如 JNDI、EJB、电子邮件、国际化校验和调度功能。</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><strong style="font-weight: bold; ">☞</strong>&nbsp;<strong style="font-weight: bold; ">Spring MVC</strong><strong style="font-weight: bold; ">：</strong>Spring的MVC框架是一个全功能的构建Web应用程序的MVC实现。通过策略接口，MVC框架变成为高度可配置的，MVC容纳的大量视图技术，包括JSP、Velocity、Tiles、iText和Pol</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><a title="Permanent Link: 使用Spring有什么好处" href="http://www.mianwww.com/html/2009/01/200.html" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; "><strong style="font-weight: bold; ">用Spring</strong><strong style="font-weight: bold; ">有什么好处</strong></span></a></p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><a title="View all posts in Java/J2EE" href="http://www.mianwww.com/html/category/it-interview/java" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Java/J2EE</span></a>,&nbsp;<a title="View all posts in Spring" href="http://www.mianwww.com/html/category/it-interview/spring" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Spring</span></a></p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">◆Spring能有效地组织你的中间层对象,无论你是否选择使用了EJB。如果你仅仅使用了Struts或其他的包含了J2EE特有APIs的framework，你会发现Spring关注了遗留下的问题，。</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">◆Spring能消除在许多工程上对Singleton的过多使用。根据我的经验，这是一个主要的问题，它减少了系统的可测试性和面向对象特性。<br />
◆Spring能消除使用各种各样格式的属性定制文件的需要,在整个应用和工程中，可通过一种一致的方法来进行配置。曾经感到迷惑，一个特定类要查找迷幻般的属性关键字或系统属性,为此不得不读Javadoc乃至源编码吗？有了Spring，你可很简单地看到类的JavaBean属性。倒置控制的使用(在下面讨论)帮助完成这种简化。<br />
◆Spring能通过接口而不是类促进好的编程习惯，减少编程代价到几乎为零。<br />
◆Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs。在Spring应用中的大多数业务对象没有依赖于Spring。<br />
◆使用Spring构建的应用程序易于单元测试。<br />
◆Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用POJOs或local EJBs来实现业务接口，却不会影响调用代码。<br />
◆Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物，它们适于许多web应用。例如,Spring能使用AOP提供声明性事务而不通过使用EJB容器，如果你仅仅需要与单个的数据库打交道，甚至不需要JTA实现。<br />
■Spring为数据存取提供了一致的框架,不论是使用JDBC或O/R mapping产品（如Hibernate）。<br />
Spring确实使你能通过最简单可行的解决办法解决你的问题。这些特性是有很大价值的。<br />
总结起来，Spring有如下优点：<br />
◆低侵入式设计，代码污染极低<br />
◆ 独立于各种应用服务器，可以真正实现Write Once,Run Anywhere的承诺<br />
◆Spring的DI机制降低了业务对象替换的复杂性<br />
◆Spring并不完全依赖于Spring，开发者可自由选用Spring框架的部分或全部</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><a title="Permanent Link: Spring面试：什么是Spring, 它有什么特点" href="http://www.mianwww.com/html/2009/01/198.html" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; "><strong style="font-weight: bold; ">Spring</strong><strong style="font-weight: bold; ">面试：什么是Spring,</strong>&nbsp;<strong style="font-weight: bold; ">它有什么特点</strong></span></a></p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "><a title="View all posts in Java/J2EE" href="http://www.mianwww.com/html/category/it-interview/java" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Java/J2EE</span></a>,&nbsp;<a title="View all posts in Spring" href="http://www.mianwww.com/html/category/it-interview/spring" style="color: #108ac6; text-decoration: underline; "><span style="color: #905e40; ">Spring</span></a></p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">◆<strong style="font-weight: bold; ">轻量</strong>——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外，Spring是非侵入式的：典型地，Spring应用中的对象不依赖于Spring的特定类。</p>
<p align="left" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">◆<strong style="font-weight: bold; ">控制反转</strong>——Spring通过一种称作控制反转（IoC）的技术促进了松耦合。当应用了IoC，一个对象依赖的其它对象会通过被动的方式传递进来，而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖，而是容器在对象初始化时不等对象请求就主动将依赖传递给它。<br />
◆<strong style="font-weight: bold; ">面向切面</strong>——Spring提供了面向切面编程的丰富支持，允许通过分离应用的业务逻辑与系统级服务（例如审计（auditing）和事务（）管理）进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责（甚至是意识）其它的系统级关注点，例如日志或事务支持。<br />
◆<strong style="font-weight: bold; ">容器</strong>——Spring包含并管理应用对象的配置和生命周期，在这个意义上它是一种容器，你可以配置你的每个bean如何被创建——基于一个可配置原型（prototype），你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而，Spring不应该被混同于传统的重量级的EJB容器，它们经常是庞大与笨重的，难以使用。<br />
◆<strong style="font-weight: bold; ">框架</strong>——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中，应用对象被声明式地组合，典型地是在一个XML文件里。Spring也提供了很多基础功能（事务管理、持久化框架集成等等），将应用逻辑的开发留给了你。</p>
<img src ="http://www.blogjava.net/HsiangYu/aggbug/349162.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/HsiangYu/" target="_blank">HsiangYu</a> 2011-04-28 10:55 <a href="http://www.blogjava.net/HsiangYu/archive/2011/04/28/349162.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SSH 常见面试题01</title><link>http://www.blogjava.net/HsiangYu/archive/2011/04/28/349160.html</link><dc:creator>HsiangYu</dc:creator><author>HsiangYu</author><pubDate>Thu, 28 Apr 2011 02:47:00 GMT</pubDate><guid>http://www.blogjava.net/HsiangYu/archive/2011/04/28/349160.html</guid><wfw:comment>http://www.blogjava.net/HsiangYu/comments/349160.html</wfw:comment><comments>http://www.blogjava.net/HsiangYu/archive/2011/04/28/349160.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/HsiangYu/comments/commentRss/349160.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/HsiangYu/services/trackbacks/349160.html</trackback:ping><description><![CDATA[<span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">Hibernate工作原理及为什么要用？&nbsp;&nbsp;</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; ">原理：&nbsp;&nbsp;&nbsp;&nbsp;</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; ">1.读取并解析配置文件&nbsp;&nbsp;&nbsp;&nbsp;</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; ">2.读取并解析映射信息，创建SessionFactory&nbsp;&nbsp;&nbsp;&nbsp;</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; ">3.打开Sesssion&nbsp;&nbsp;&nbsp;&nbsp;</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; ">4.创建事务Transation&nbsp;&nbsp;&nbsp;&nbsp;</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; ">5.持久化操作&nbsp;&nbsp;&nbsp;&nbsp;</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; ">6.提交事务&nbsp;&nbsp;&nbsp;&nbsp;</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; ">7.关闭Session&nbsp;&nbsp;&nbsp;&nbsp;</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; ">8.关闭SesstionFactory&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp;</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; ">为什么要用：&nbsp;&nbsp;&nbsp;&nbsp;</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; ">1. 对JDBC访问数据库的代码做了封装，大大简化了数据访问层繁琐的重复性代码。&nbsp;&nbsp;&nbsp;&nbsp;</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; ">2. Hibernate是一个基于JDBC的主流持久化框架，是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作&nbsp;&nbsp;&nbsp;&nbsp;</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; ">3. hibernate使用Java反射机制，而不是字节码增强程序来实现透明性。&nbsp;&nbsp;&nbsp;&nbsp;</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; ">4. hibernate的性能非常好，因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库，从一对一到多对多的各种复杂关系。&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp;</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; ">2． Hibernate是如何延迟加载?&nbsp;&nbsp;&nbsp;&nbsp;</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; ">1. Hibernate2延迟加载实现：a)实体对象 b)集合（Collection）&nbsp;&nbsp;&nbsp;&nbsp;</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; ">2. Hibernate3 提供了属性的延迟加载功能；当Hibernate在查询数据的时候，数据并没有存在与内存中，当程序真正对数据的操作时，对象才存在与内存中，就实现了延迟加载，他节省了服务器的内存开销，从而提高了服务器的性能。&nbsp;&nbsp;&nbsp;&nbsp;</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; ">3．Hibernate中怎样实现类之间的关系?(如：一对多、多对多的关系)&nbsp;&nbsp;&nbsp;&nbsp;</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; ">类与类之间的关系主要体现在表与表之间的关系进行操作，它们都市对对象进行操作，我们程序中把所有的表与类都映射在一起，它们通过配置文件中的many-to-one、one-to-many、many-to-many、&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp;</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; ">4． 说下Hibernate的缓存机制&nbsp;&nbsp;&nbsp;&nbsp;</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; ">1. 内部缓存存在Hibernate中又叫一级缓存，属于应用事物级缓存&nbsp;&nbsp;&nbsp;&nbsp;</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; ">2. 二级缓存：&nbsp;&nbsp;&nbsp;&nbsp;</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; ">a) 应用及缓存&nbsp;&nbsp;&nbsp;&nbsp;</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; ">b) 分布式缓存&nbsp;&nbsp;&nbsp;&nbsp;</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; ">条件：数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被系统频繁使用、非 关键数据&nbsp;&nbsp;&nbsp;&nbsp;</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; ">c) 第三方缓存的实现&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp;</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; ">5． Hibernate的查询方式&nbsp;&nbsp;&nbsp;&nbsp;</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; ">Sql、Criteria,object comptosition&nbsp;&nbsp;&nbsp;&nbsp;</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; ">Hql：&nbsp;&nbsp;&nbsp;&nbsp;</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; ">1、 属性查询&nbsp;&nbsp;&nbsp;&nbsp;</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; ">2、 参数查询、命名参数查询&nbsp;&nbsp;&nbsp;&nbsp;</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; ">3、 关联查询&nbsp;&nbsp;&nbsp;&nbsp;</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; ">4、 分页查询&nbsp;&nbsp;&nbsp;&nbsp;</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; ">5、 统计函数&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp;</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; ">6． 如何优化Hibernate？&nbsp;&nbsp;&nbsp;&nbsp;</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; ">1.使用双向一对多关联，不使用单向一对多&nbsp;&nbsp;&nbsp;&nbsp;</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; ">2.灵活使用单向一对多关联&nbsp;&nbsp;&nbsp;&nbsp;</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; ">3.不用一对一，用多对一取代&nbsp;&nbsp;&nbsp;&nbsp;</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; ">4.配置对象缓存，不使用集合缓存&nbsp;&nbsp;&nbsp;&nbsp;</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; ">5.一对多集合使用Bag,多对多集合使用Set&nbsp;&nbsp;&nbsp;&nbsp;</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; ">6. 继承类使用显式多态&nbsp;&nbsp;&nbsp;&nbsp;</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; ">7. 表字段要少，表关联不要怕多，有二级缓存撑腰&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp;</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; ">&nbsp;</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; ">7． Struts工作机制？为什么要使用Struts？&nbsp;&nbsp;&nbsp;&nbsp;</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; ">工作机制：&nbsp;&nbsp;&nbsp;&nbsp;</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; ">Struts的工作流程:&nbsp;&nbsp;&nbsp;&nbsp;</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; ">在web应用启动时就会加载初始化ActionServlet,ActionServlet从&nbsp;&nbsp;&nbsp;&nbsp;</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; ">struts-config.xml文件中读取配置信息,把它们存放到各种配置对象&nbsp;&nbsp;&nbsp;&nbsp;</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; ">当ActionServlet接收到一个客户请求时,将执行如下流程.&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp; -(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp; -(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp; -(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp; -(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象, 就表示表单验证成功;&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp; -(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的 Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp; -(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给 ActionForward对象指向的JSP组件;&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp; -(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp;</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; ">为什么要用：&nbsp;&nbsp;&nbsp;&nbsp;</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; ">JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱，所以在此之上，我们需要一个规则、一个把这些技术组织起来的规则，这就是框架，Struts便应运而生。&nbsp;&nbsp;&nbsp;&nbsp;</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; ">基于Struts开发的应用由3类组件构成：控制器组件、模型组件、视图组件&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp;</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; ">8． Struts的validate框架是如何验证的？&nbsp;&nbsp;&nbsp;&nbsp;</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; ">在struts配置文件中配置具体的错误提示，再在FormBean中的validate()方法具体调用。&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp;</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; ">9． 说下Struts的设计模式&nbsp;&nbsp;&nbsp;&nbsp;</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; ">MVC模式: web应用程序启动时就会加载并初始化ActionServler。用户提交表单时，一个配置好的ActionForm对象被创建，并被填入表单相应的数据，ActionServler根据Struts-config.xml文件配置好的设置决定是否需要表单验证，如果需要就调用ActionForm的Validate（）验证后选择将请求发送到哪个Action，如果Action不存在，ActionServlet会先创建这个对象，然后调用Action的execute（）方法。Execute（）从ActionForm对象中获取数据，完成业务逻辑，返回一个ActionForward对象，ActionServlet再把客户请求转发给ActionForward对象指定的jsp组件，ActionForward对象指定的jsp生成动态的网页，返回给客户。&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp;</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; ">10． spring工作机制及为什么要用?&nbsp;&nbsp;&nbsp;&nbsp;</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; ">1.spring mvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。&nbsp;&nbsp;&nbsp;&nbsp;</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; ">2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.&nbsp;&nbsp;&nbsp;&nbsp;</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; ">3.DispatcherServlet请请求提交到目标Controller&nbsp;&nbsp;&nbsp;&nbsp;</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; ">4.Controller进行业务逻辑处理后，会返回一个ModelAndView&nbsp;&nbsp;&nbsp;&nbsp;</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; ">5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象&nbsp;&nbsp;&nbsp;&nbsp;</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; ">6.视图对象负责渲染返回给客户端。&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp;</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; ">为什么用：&nbsp;&nbsp;&nbsp;&nbsp;</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; ">{AOP 让开发人员可以创建非行为性的关注点，称为横切关注点，并将它们插入到应用程序代码中。使用 AOP 后，公共服务 （比 如日志、持久性、事务等）就可以分解成方面并应用到域对象上，同时不会增加域对象的对象模型的复杂性。&nbsp;&nbsp;&nbsp;&nbsp;</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; ">&nbsp; IOC 允许创建一个可以构造对象的应用环境，然后向这些对象传递它们的协作对象。正如单词 倒置 所表明的，IOC 就像反 过来的 JNDI。没有使用一堆抽象工厂、服务定位器、单元素（singleton）和直接构造（straight construction），每一个对象都是用其协作对象构造的。因此是由容器管理协作对象（collaborator）。&nbsp;&nbsp;&nbsp;&nbsp;</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; ">Spring即使一个AOP框架，也是一IOC容器。 Spring 最好的地方是它有助于您替换对象。有了 Spring，只要用 JavaBean 属性和配置文件加入依赖性（协作对象）。然后可以很容易地在需要时替换具有类似接口的协作对象。} &nbsp;</span>
<img src ="http://www.blogjava.net/HsiangYu/aggbug/349160.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/HsiangYu/" target="_blank">HsiangYu</a> 2011-04-28 10:47 <a href="http://www.blogjava.net/HsiangYu/archive/2011/04/28/349160.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse快捷键大全(转载)</title><link>http://www.blogjava.net/HsiangYu/archive/2011/03/25/347025.html</link><dc:creator>HsiangYu</dc:creator><author>HsiangYu</author><pubDate>Fri, 25 Mar 2011 08:56:00 GMT</pubDate><guid>http://www.blogjava.net/HsiangYu/archive/2011/03/25/347025.html</guid><wfw:comment>http://www.blogjava.net/HsiangYu/comments/347025.html</wfw:comment><comments>http://www.blogjava.net/HsiangYu/archive/2011/03/25/347025.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/HsiangYu/comments/commentRss/347025.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/HsiangYu/services/trackbacks/347025.html</trackback:ping><description><![CDATA[<div class="postTitle" style="font-size: 14.7px; font-weight: bold; margin-bottom: 10px; color: #4b4b4b; font-family: georgia, verdana, Arial, helvetica, sans-seriff; line-height: 20px; "><a id="viewpost1_TitleUrl" class="postTitle2" href="http://www.blogjava.net/action/articles/17339.html" style="text-decoration: none; color: #4371a6; ">Eclipse快捷键大全(转载)</a></div>
<div class="postbody" style="color: #4b4b4b; font-family: georgia, verdana, Arial, helvetica, sans-seriff; font-size: 13px; line-height: 20px; "><font size="2">Ctrl+1&nbsp;快速修复(最经典的快捷键,就不用多说了)<br />
Ctrl+D:&nbsp;删除当前行&nbsp;<br />
Ctrl+Alt+&#8595;&nbsp;复制当前行到下一行(复制增加)<br />
Ctrl+Alt+&#8593;&nbsp;复制当前行到上一行(复制增加)<br />
Alt+&#8595;&nbsp;当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)<br />
Alt+&#8593;&nbsp;当前行和上面一行交互位置(同上)<br />
Alt+&#8592;&nbsp;前一个编辑的页面<br />
Alt+&#8594;&nbsp;下一个编辑的页面(当然是针对上面那条来说了)<br />
Alt+Enter&nbsp;显示当前选择资源(工程,or&nbsp;文件&nbsp;or文件)的属性<br />
Shift+Enter&nbsp;在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)<br />
Shift+Ctrl+Enter&nbsp;在当前行插入空行(原理同上条)<br />
Ctrl+Q&nbsp;定位到最后编辑的地方<br />
Ctrl+L&nbsp;定位在某行&nbsp;(对于程序超过100的人就有福音了)<br />
Ctrl+M&nbsp;最大化当前的Edit或View&nbsp;(再按则反之)<br />
Ctrl+/&nbsp;注释当前行,再按则取消注释<br />
Ctrl+O&nbsp;快速显示&nbsp;OutLine<br />
Ctrl+T&nbsp;快速显示当前类的继承结构<br />
Ctrl+W&nbsp;关闭当前Editer<br />
Ctrl+K&nbsp;参照选中的Word快速定位到下一个<br />
Ctrl+E&nbsp;快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)<br />
Ctrl+/(小键盘)&nbsp;折叠当前类中的所有代码<br />
Ctrl+&#215;(小键盘)&nbsp;展开当前类中的所有代码<br />
Ctrl+Space&nbsp;代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)<br />
Ctrl+Shift+E&nbsp;显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)<br />
Ctrl+J&nbsp;正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes&nbsp;line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)<br />
Ctrl+Shift+J&nbsp;反向增量查找(和上条相同,只不过是从后往前查)<br />
Ctrl+Shift+F4&nbsp;关闭所有打开的Editer<br />
Ctrl+Shift+X&nbsp;把当前选中的文本全部变味小写<br />
Ctrl+Shift+Y&nbsp;把当前选中的文本全部变为小写<br />
Ctrl+Shift+F&nbsp;格式化当前代码<br />
Ctrl+Shift+P&nbsp;定位到对于的匹配符(譬如{})&nbsp;(从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)<br />
<br />
下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)<br />
Alt+Shift+R&nbsp;重命名&nbsp;(是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)<br />
Alt+Shift+M&nbsp;抽取方法&nbsp;(这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)<br />
Alt+Shift+C&nbsp;修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)<br />
Alt+Shift+L&nbsp;抽取本地变量(&nbsp;可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)<br />
Alt+Shift+F&nbsp;把Class中的local变量变为field变量&nbsp;(比较实用的功能)<br />
Alt+Shift+I&nbsp;合并变量(可能这样说有点不妥Inline)<br />
Alt+Shift+V&nbsp;移动函数和变量(不怎么常用)<br />
Alt+Shift+Z&nbsp;重构的后悔药(Undo)<br />
<br />
编辑<br />
作用域&nbsp;功能&nbsp;快捷键&nbsp;<br />
全局&nbsp;查找并替换&nbsp;Ctrl+F&nbsp;<br />
文本编辑器&nbsp;查找上一个&nbsp;Ctrl+Shift+K&nbsp;<br />
文本编辑器&nbsp;查找下一个&nbsp;Ctrl+K&nbsp;<br />
全局&nbsp;撤销&nbsp;Ctrl+Z&nbsp;<br />
全局&nbsp;复制&nbsp;Ctrl+C&nbsp;<br />
全局&nbsp;恢复上一个选择&nbsp;Alt+Shift+&#8595;&nbsp;<br />
全局&nbsp;剪切&nbsp;Ctrl+X&nbsp;<br />
全局&nbsp;快速修正&nbsp;Ctrl1+1&nbsp;<br />
全局&nbsp;内容辅助&nbsp;Alt+/&nbsp;<br />
全局&nbsp;全部选中&nbsp;Ctrl+A&nbsp;<br />
全局&nbsp;删除&nbsp;Delete&nbsp;<br />
全局&nbsp;上下文信息&nbsp;Alt+？<br />
Alt+Shift+?<br />
Ctrl+Shift+Space&nbsp;<br />
Java编辑器&nbsp;显示工具提示描述&nbsp;F2&nbsp;<br />
Java编辑器&nbsp;选择封装元素&nbsp;Alt+Shift+&#8593;&nbsp;<br />
Java编辑器&nbsp;选择上一个元素&nbsp;Alt+Shift+&#8592;&nbsp;<br />
Java编辑器&nbsp;选择下一个元素&nbsp;Alt+Shift+&#8594;&nbsp;<br />
文本编辑器&nbsp;增量查找&nbsp;Ctrl+J&nbsp;<br />
文本编辑器&nbsp;增量逆向查找&nbsp;Ctrl+Shift+J&nbsp;<br />
全局&nbsp;粘贴&nbsp;Ctrl+V&nbsp;<br />
全局&nbsp;重做&nbsp;Ctrl+Y&nbsp;<br />
<br />
&nbsp;<br />
查看<br />
作用域&nbsp;功能&nbsp;快捷键&nbsp;<br />
全局&nbsp;放大&nbsp;Ctrl+=&nbsp;<br />
全局&nbsp;缩小&nbsp;Ctrl+-&nbsp;<br />
<br />
&nbsp;<br />
窗口<br />
作用域&nbsp;功能&nbsp;快捷键&nbsp;<br />
全局&nbsp;激活编辑器&nbsp;F12&nbsp;<br />
全局&nbsp;切换编辑器&nbsp;Ctrl+Shift+W&nbsp;<br />
全局&nbsp;上一个编辑器&nbsp;Ctrl+Shift+F6&nbsp;<br />
全局&nbsp;上一个视图&nbsp;Ctrl+Shift+F7&nbsp;<br />
全局&nbsp;上一个透视图&nbsp;Ctrl+Shift+F8&nbsp;<br />
全局&nbsp;下一个编辑器&nbsp;Ctrl+F6&nbsp;<br />
全局&nbsp;下一个视图&nbsp;Ctrl+F7&nbsp;<br />
全局&nbsp;下一个透视图&nbsp;Ctrl+F8&nbsp;<br />
文本编辑器&nbsp;显示标尺上下文菜单&nbsp;Ctrl+W&nbsp;<br />
全局&nbsp;显示视图菜单&nbsp;Ctrl+F10&nbsp;<br />
全局&nbsp;显示系统菜单&nbsp;Alt+-&nbsp;<br />
<br />
&nbsp;<br />
导航<br />
作用域&nbsp;功能&nbsp;快捷键&nbsp;<br />
Java编辑器&nbsp;打开结构&nbsp;Ctrl+F3&nbsp;<br />
全局&nbsp;打开类型&nbsp;Ctrl+Shift+T&nbsp;<br />
全局&nbsp;打开类型层次结构&nbsp;F4&nbsp;<br />
全局&nbsp;打开声明&nbsp;F3&nbsp;<br />
全局&nbsp;打开外部javadoc&nbsp;Shift+F2&nbsp;<br />
全局&nbsp;打开资源&nbsp;Ctrl+Shift+R&nbsp;<br />
全局&nbsp;后退历史记录&nbsp;Alt+&#8592;&nbsp;<br />
全局&nbsp;前进历史记录&nbsp;Alt+&#8594;&nbsp;<br />
全局&nbsp;上一个&nbsp;Ctrl+,&nbsp;<br />
全局&nbsp;下一个&nbsp;Ctrl+.&nbsp;<br />
Java编辑器&nbsp;显示大纲&nbsp;Ctrl+O&nbsp;<br />
全局&nbsp;在层次结构中打开类型&nbsp;Ctrl+Shift+H&nbsp;<br />
全局&nbsp;转至匹配的括号&nbsp;Ctrl+Shift+P&nbsp;<br />
全局&nbsp;转至上一个编辑位置&nbsp;Ctrl+Q&nbsp;<br />
Java编辑器&nbsp;转至上一个成员&nbsp;Ctrl+Shift+&#8593;&nbsp;<br />
Java编辑器&nbsp;转至下一个成员&nbsp;Ctrl+Shift+&#8595;&nbsp;<br />
文本编辑器&nbsp;转至行&nbsp;Ctrl+L&nbsp;<br />
<br />
&nbsp;<br />
搜索<br />
作用域&nbsp;功能&nbsp;快捷键&nbsp;<br />
全局&nbsp;出现在文件中&nbsp;Ctrl+Shift+U&nbsp;<br />
全局&nbsp;打开搜索对话框&nbsp;Ctrl+H&nbsp;<br />
全局&nbsp;工作区中的声明&nbsp;Ctrl+G&nbsp;<br />
全局&nbsp;工作区中的引用&nbsp;Ctrl+Shift+G&nbsp;<br />
<br />
&nbsp;<br />
文本编辑<br />
作用域&nbsp;功能&nbsp;快捷键&nbsp;<br />
文本编辑器&nbsp;改写切换&nbsp;Insert&nbsp;<br />
文本编辑器&nbsp;上滚行&nbsp;Ctrl+&#8593;&nbsp;<br />
文本编辑器&nbsp;下滚行&nbsp;Ctrl+&#8595;&nbsp;<br />
<br />
&nbsp;<br />
文件<br />
作用域&nbsp;功能&nbsp;快捷键&nbsp;<br />
全局&nbsp;保存&nbsp;Ctrl+X&nbsp;<br />
Ctrl+S&nbsp;<br />
全局&nbsp;打印&nbsp;Ctrl+P&nbsp;<br />
全局&nbsp;关闭&nbsp;Ctrl+F4&nbsp;<br />
全局&nbsp;全部保存&nbsp;Ctrl+Shift+S&nbsp;<br />
全局&nbsp;全部关闭&nbsp;Ctrl+Shift+F4&nbsp;<br />
全局&nbsp;属性&nbsp;Alt+Enter&nbsp;<br />
全局&nbsp;新建&nbsp;Ctrl+N&nbsp;<br />
<br />
&nbsp;<br />
项目<br />
作用域&nbsp;功能&nbsp;快捷键&nbsp;<br />
全局&nbsp;全部构建&nbsp;Ctrl+B&nbsp;<br />
<br />
&nbsp;<br />
源代码<br />
作用域&nbsp;功能&nbsp;快捷键&nbsp;<br />
Java编辑器&nbsp;格式化&nbsp;Ctrl+Shift+F&nbsp;<br />
Java编辑器&nbsp;取消注释&nbsp;Ctrl+\&nbsp;<br />
Java编辑器&nbsp;注释&nbsp;Ctrl+/&nbsp;<br />
Java编辑器&nbsp;添加导入&nbsp;Ctrl+Shift+M&nbsp;<br />
Java编辑器&nbsp;组织导入&nbsp;Ctrl+Shift+O&nbsp;<br />
Java编辑器&nbsp;使用try/catch块来包围&nbsp;未设置，太常用了，所以在这里列出,建议自己设置。<br />
也可以使用Ctrl+1自动修正。&nbsp;<br />
<br />
&nbsp;<br />
运行<br />
作用域&nbsp;功能&nbsp;快捷键&nbsp;<br />
全局&nbsp;单步返回&nbsp;F7&nbsp;<br />
全局&nbsp;单步跳过&nbsp;F6&nbsp;<br />
全局&nbsp;单步跳入&nbsp;F5&nbsp;<br />
全局&nbsp;单步跳入选择&nbsp;Ctrl+F5&nbsp;<br />
全局&nbsp;调试上次启动&nbsp;F11&nbsp;<br />
全局&nbsp;继续&nbsp;F8&nbsp;<br />
全局&nbsp;使用过滤器单步执行&nbsp;Shift+F5&nbsp;<br />
全局&nbsp;添加/去除断点&nbsp;Ctrl+Shift+B&nbsp;<br />
全局&nbsp;显示&nbsp;Ctrl+D&nbsp;<br />
全局&nbsp;运行上次启动&nbsp;Ctrl+F11&nbsp;<br />
全局&nbsp;运行至行&nbsp;Ctrl+R&nbsp;<br />
全局&nbsp;执行&nbsp;Ctrl+U&nbsp;<br />
<br />
&nbsp;<br />
重构<br />
作用域&nbsp;功能&nbsp;快捷键&nbsp;<br />
全局&nbsp;撤销重构&nbsp;Alt+Shift+Z&nbsp;<br />
全局&nbsp;抽取方法&nbsp;Alt+Shift+M&nbsp;<br />
全局&nbsp;抽取局部变量&nbsp;Alt+Shift+L&nbsp;<br />
全局&nbsp;内联&nbsp;Alt+Shift+I&nbsp;<br />
全局&nbsp;移动&nbsp;Alt+Shift+V&nbsp;<br />
全局&nbsp;重命名&nbsp;Alt+Shift+R&nbsp;<br />
全局&nbsp;重做&nbsp;Alt+Shift+Y</font></div>
<img src ="http://www.blogjava.net/HsiangYu/aggbug/347025.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/HsiangYu/" target="_blank">HsiangYu</a> 2011-03-25 16:56 <a href="http://www.blogjava.net/HsiangYu/archive/2011/03/25/347025.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HIbernate基础</title><link>http://www.blogjava.net/HsiangYu/archive/2011/03/21/346705.html</link><dc:creator>HsiangYu</dc:creator><author>HsiangYu</author><pubDate>Mon, 21 Mar 2011 12:42:00 GMT</pubDate><guid>http://www.blogjava.net/HsiangYu/archive/2011/03/21/346705.html</guid><wfw:comment>http://www.blogjava.net/HsiangYu/comments/346705.html</wfw:comment><comments>http://www.blogjava.net/HsiangYu/archive/2011/03/21/346705.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/HsiangYu/comments/commentRss/346705.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/HsiangYu/services/trackbacks/346705.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;&nbsp;&nbsp;为什么要使用hibernate？举一个例子：如果你的表中有100个字段，使用JDBC去插入记录、更新记录&#8230;这是非常恐怖的。如果插入或更新记录出错了呢？一个一个字段的对？想都不敢想，如果以后数据库字段要全部添加后缀名呢！~~哇哇哇，受不了了。Ok，hibernate可以很好的解决JDBC的&#8220;漏洞&#8221;。&nbsp;...&nbsp;&nbsp;<a href='http://www.blogjava.net/HsiangYu/archive/2011/03/21/346705.html'>阅读全文</a><img src ="http://www.blogjava.net/HsiangYu/aggbug/346705.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/HsiangYu/" target="_blank">HsiangYu</a> 2011-03-21 20:42 <a href="http://www.blogjava.net/HsiangYu/archive/2011/03/21/346705.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts小介绍</title><link>http://www.blogjava.net/HsiangYu/archive/2011/03/15/346347.html</link><dc:creator>HsiangYu</dc:creator><author>HsiangYu</author><pubDate>Tue, 15 Mar 2011 14:56:00 GMT</pubDate><guid>http://www.blogjava.net/HsiangYu/archive/2011/03/15/346347.html</guid><wfw:comment>http://www.blogjava.net/HsiangYu/comments/346347.html</wfw:comment><comments>http://www.blogjava.net/HsiangYu/archive/2011/03/15/346347.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/HsiangYu/comments/commentRss/346347.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/HsiangYu/services/trackbacks/346347.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp; &nbsp;&nbsp;一、为什么要使用Struts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在之前的学习过程中，我们编写的练习程序有以下特点。1.&nbsp;使用&nbsp;MVC&nbsp;设计模式&nbsp;&nbsp;&nbsp;&nbsp;1).&nbsp;原则:&nbsp;所有的请求...&nbsp;&nbsp;<a href='http://www.blogjava.net/HsiangYu/archive/2011/03/15/346347.html'>阅读全文</a><img src ="http://www.blogjava.net/HsiangYu/aggbug/346347.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/HsiangYu/" target="_blank">HsiangYu</a> 2011-03-15 22:56 <a href="http://www.blogjava.net/HsiangYu/archive/2011/03/15/346347.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>传统标签VS常用简单标签</title><link>http://www.blogjava.net/HsiangYu/archive/2011/03/14/346271.html</link><dc:creator>HsiangYu</dc:creator><author>HsiangYu</author><pubDate>Mon, 14 Mar 2011 14:44:00 GMT</pubDate><guid>http://www.blogjava.net/HsiangYu/archive/2011/03/14/346271.html</guid><wfw:comment>http://www.blogjava.net/HsiangYu/comments/346271.html</wfw:comment><comments>http://www.blogjava.net/HsiangYu/archive/2011/03/14/346271.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/HsiangYu/comments/commentRss/346271.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/HsiangYu/services/trackbacks/346271.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一、JSP自定义标签我们知道，JSP在被访问时会被JSP引擎翻译为Servlet程序，即JSP就是Servlet程序。我们可以在JSP中插入Java代码，但是在JSP页面中使用&lt;%...%&gt;嵌入JAVA代码，使用页面编写起来十分混乱，更不利于以后的维护。因为，JSP自定义标签可以优雅的解决这一问题。JSTL也正是SUN为些开发的一个标签库，接下来让我们来编写自己的自定义标签。...&nbsp;&nbsp;<a href='http://www.blogjava.net/HsiangYu/archive/2011/03/14/346271.html'>阅读全文</a><img src ="http://www.blogjava.net/HsiangYu/aggbug/346271.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/HsiangYu/" target="_blank">HsiangYu</a> 2011-03-14 22:44 <a href="http://www.blogjava.net/HsiangYu/archive/2011/03/14/346271.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>http状态码思维导图</title><link>http://www.blogjava.net/HsiangYu/archive/2011/03/14/346181.html</link><dc:creator>HsiangYu</dc:creator><author>HsiangYu</author><pubDate>Mon, 14 Mar 2011 01:19:00 GMT</pubDate><guid>http://www.blogjava.net/HsiangYu/archive/2011/03/14/346181.html</guid><wfw:comment>http://www.blogjava.net/HsiangYu/comments/346181.html</wfw:comment><comments>http://www.blogjava.net/HsiangYu/archive/2011/03/14/346181.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/HsiangYu/comments/commentRss/346181.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/HsiangYu/services/trackbacks/346181.html</trackback:ping><description><![CDATA[转自：<span  style="color: #444444; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 12px; ">&nbsp;</span><span  style="color: #444444; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 12px; ">&nbsp;</span><a href="http://www.blogjava.net/nighty/archive/2011/03/09/346036.html">http://www.blogjava.net/nighty/archive/2011/03/09/346036.html</a>
<div><img src="http://www.blogjava.net/images/blogjava_net/hsiangyu/Http-Status-Code.jpg" border="0" alt="" /><br />
</div>
<img src ="http://www.blogjava.net/HsiangYu/aggbug/346181.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/HsiangYu/" target="_blank">HsiangYu</a> 2011-03-14 09:19 <a href="http://www.blogjava.net/HsiangYu/archive/2011/03/14/346181.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>