﻿<?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-JBOSS 点滴-随笔分类-Eclipse</title><link>http://www.blogjava.net/fiele/category/40450.html</link><description>丰丰的博客</description><language>zh-cn</language><lastBuildDate>Thu, 12 Feb 2015 10:30:14 GMT</lastBuildDate><pubDate>Thu, 12 Feb 2015 10:30:14 GMT</pubDate><ttl>60</ttl><item><title>eclipse luna+tomcat7.0+JDK7.0+maven环境配置</title><link>http://www.blogjava.net/fiele/archive/2015/02/12/422881.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Thu, 12 Feb 2015 02:04:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2015/02/12/422881.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/422881.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2015/02/12/422881.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/422881.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/422881.html</trackback:ping><description><![CDATA[<span style="font-size: 10.5pt; font-family: 'Calibri','sans-serif'">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US">eclipse luna+tomcat7.0+JDK7.0+maven</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">环境配置</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo1"><span lang="EN-US" style="mso-bidi-font-family: 宋体; mso-bidi-theme-font: minor-fareast"><span style="mso-list: Ignore">一、</span></span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">下载相关包：</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span lang="EN-US">eclipse luna</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">下载地址</span><span lang="EN-US"> : <span style="mso-spacerun: yes">&nbsp;</span><a href="http://www.eclipse.org/downloads/"><font color="#0000ff">http://www.eclipse.org/downloads/</font></a></span></p>
<p class="MsoListParagraph" style="text-align: left; margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0" align="left"><span lang="EN-US">JDK7.0</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">下载地址</span><span lang="EN-US">: <a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html"><font color="#0000ff">http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html</font></a></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span lang="EN-US">Tomcat7.0</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">下载地址：</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span lang="EN-US"><a href="http://tomcat.apache.org/download-70.cgi"><font color="#0000ff">http://tomcat.apache.org/download-70.cgi</font></a></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span lang="EN-US">MAVEN</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">下载地址：</span><span lang="EN-US"><a href="http://maven.apache.org/"><font color="#0000ff">http://maven.apache.org/</font></a></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo1"><span lang="EN-US" style="mso-bidi-font-family: 宋体; mso-bidi-theme-font: minor-fareast"><span style="mso-list: Ignore">二、</span></span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">环境变量配置</span><span lang="EN-US">(</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">根据软件安装位置配置如下</span><span lang="EN-US">)</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 24.45pt; mso-para-margin-left: 2.33gd"><span lang="EN-US" style="font-size: 7pt; font-family: 'Verdana','sans-serif';background: #eeeeee; color: black">JAVA_HOME:<span class="apple-converted-space">&nbsp;</span>D:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Java\jdk1.6.0_11\;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 24.45pt; mso-para-margin-left: 2.33gd"><span class="apple-converted-space"><span lang="EN-US" style="font-size: 7pt; font-family: 'Verdana','sans-serif';background: #eeeeee; color: black">PATH:</span></span><span lang="EN-US"> </span><span class="apple-converted-space"><span lang="EN-US" style="font-size: 7pt; font-family: 'Verdana','sans-serif';background: #eeeeee; color: black">D:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Java\jdk1.6.0_11\bin;<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 24.45pt; mso-para-margin-left: 2.33gd"><span lang="EN-US" style="font-size: 7pt; font-family: 'Verdana','sans-serif';background: #eeeeee; color: black">M2_HOME:&nbsp; D:\Program Files (x86)\apache-maven-3.2.5-bin\apache-maven-3.2.5</span></span><span lang="EN-US" style="font-size: 7pt; font-family: 'Verdana','sans-serif'; color: black"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 24.45pt; mso-para-margin-left: 2.33gd"><span lang="EN-US" style="font-size: 7pt; font-family: 'Verdana','sans-serif';background: #eeeeee; color: black">PATH</span><span style="font-size: 7pt; font-family: 宋体;background: #eeeeee; color: black; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">：</span><span style="font-size: 7pt; font-family: 'Verdana','sans-serif';background: #eeeeee; color: black"> <span lang="EN-US">D:\Program Files (x86)\apache-maven-3.2.5-bin\apache-maven-3.2.5\bin</span><o:p></o:p></span></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; mso-char-indent-count: 0; mso-list: l0 level1 lfo1"><span lang="EN-US" style="font-size: 7pt; font-family: 'Verdana','sans-serif'; color: black; mso-bidi-font-family: 宋体; mso-bidi-theme-font: minor-fareast"><span style="mso-list: Ignore">三、<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: 7pt; font-family: 宋体;background: #eeeeee; color: black; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">运行</span><span lang="EN-US" style="font-size: 7pt; font-family: 'Verdana','sans-serif';background: #eeeeee; color: black">eclipse luna<br /><o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">绿色环保，直接运行</span><span lang="EN-US">eclipse.exe</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">就行了<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/fiele/图片一.png" />。<br /><br /><br /></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span lang="EN-US" style="mso-no-proof: yes"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">四、导入</span><span lang="EN-US">maven</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">项目前配置</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;<br /> </span>A,tomcat</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">配置<br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/fiele/图片二.png" /><br /><br /><br /><br /><br /></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span lang="EN-US" style="mso-no-proof: yes"></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span lang="EN-US">B,JDK</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">配置</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span lang="EN-US" style="mso-no-proof: yes"></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span lang="EN-US"><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/fiele/图片三.png" /><br />C,MAVEN</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">安装：</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span lang="EN-US" style="mso-no-proof: yes"></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span lang="EN-US"><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/fiele/图片四.png" /><br />D,</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">导入</span><span lang="EN-US">maven</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">项目：</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span lang="EN-US" style="mso-no-proof: yes"></span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 0cm; mso-char-indent-count: 0"><span lang="EN-US"><span lang="EN-US"><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/fiele/图片五.png" /></span><br />E,</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">导入后如果项目报错，请执行：</span></p>
<p class="MsoListParagraph" style="margin: 0cm 0cm 0pt 21pt; text-indent: 15.75pt; mso-char-indent-count: 1.5; mso-para-margin-left: 2.0gd"><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">在项目上右击</span><span lang="EN-US">,</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">选择菜单</span><span lang="EN-US">maven-&gt;update project </span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">（</span><span lang="EN-US">MAVEN</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">会自动搜索项目中需要的</span><span lang="EN-US">jar</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">包）</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>F</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">、运行服务：<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/fiele/图片产.png" width="558" height="350" /><br /><br /></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US" style="mso-no-proof: yes"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">选择</span><span lang="EN-US">run on server-&gt;tomcat 7 </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">在</span><span lang="EN-US">iE</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">上输入</span><span lang="EN-US">:http://localhost:8080/</span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">项目名</span><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span></span><span style="font-family: 宋体; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">测试一下吧。</span></p></span><img src ="http://www.blogjava.net/fiele/aggbug/422881.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2015-02-12 10:04 <a href="http://www.blogjava.net/fiele/archive/2015/02/12/422881.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring事务配置及事务测试</title><link>http://www.blogjava.net/fiele/archive/2014/03/26/411517.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Wed, 26 Mar 2014 08:46:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2014/03/26/411517.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/411517.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2014/03/26/411517.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/411517.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/411517.html</trackback:ping><description><![CDATA[<div>方法一：<br />事务配置:applicatoncontext.xml 
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;配置事务管理器&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">bean&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="transactionManager"</span><span style="color: #ff0000"><br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #ff0000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class</span><span style="color: #0000ff">="org.springframework.orm.hibernate3.HibernateTransactionManager"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="sessionFactory"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">ref&nbsp;</span><span style="color: #ff0000">local</span><span style="color: #0000ff">="sessionFactory"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">bean</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!----&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">bean&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="txProxyTemplate"</span><span style="color: #ff0000">&nbsp;abstract</span><span style="color: #0000ff">="true"</span><span style="color: #ff0000"><br /></span><span style="color: #008080">10</span><span style="color: #ff0000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class</span><span style="color: #0000ff">="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="transactionManager"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">ref&nbsp;</span><span style="color: #ff0000">bean</span><span style="color: #0000ff">="transactionManager"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="transactionAttributes"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">props</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">prop&nbsp;</span><span style="color: #ff0000">key</span><span style="color: #0000ff">="query*"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">PROPAGATION_REQUIRED,readOnly,-Exception</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">prop</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">prop&nbsp;</span><span style="color: #ff0000">key</span><span style="color: #0000ff">="find*"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">PROPAGATION_REQUIRED,readOnly,-Exception</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">prop</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">prop&nbsp;</span><span style="color: #ff0000">key</span><span style="color: #0000ff">="add*"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">PROPAGATION_REQUIRED,-Exception</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">prop</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">prop&nbsp;</span><span style="color: #ff0000">key</span><span style="color: #0000ff">="update*"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">PROPAGATION_REQUIRED,-Exception</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">prop</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">prop&nbsp;</span><span style="color: #ff0000">key</span><span style="color: #0000ff">="delete*"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">PROPAGATION_REQUIRED,-Exception</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">prop</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">prop&nbsp;</span><span style="color: #ff0000">key</span><span style="color: #0000ff">="save*"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">PROPAGATION_REQUIRED,-Exception</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">prop</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">props</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">bean</span><span style="color: #0000ff">&gt;</span></div>事务测试(BO继承事务)：applicationcontext.xml<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">bean&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="SysJobBO"</span><span style="color: #ff0000">&nbsp;parent</span><span style="color: #0000ff">="txProxyTemplate"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="target"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">bean<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff0000">class</span><span style="color: #0000ff">="com.gzlt.sys.user.bo.impl.SysJobBOImpl"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="commonDAO"</span><span style="color: #ff0000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ref</span><span style="color: #0000ff">="CommonDAO"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">bean</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">bean</span><span style="color: #0000ff">&gt;</span></div><br />BOIMPL中：<br /><br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;@Override<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;boolean&nbsp;updates(SysJob&nbsp;sysJob)&nbsp;throws&nbsp;Exception&nbsp;{<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;TODO&nbsp;Auto-generated&nbsp;method&nbsp;stub<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;commonDAO.add(sysJob);<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sysJob.setIsLeaf("453322222222222222ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss");<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;commonDAO.add(sysJob);<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true;<br /><img alt="" align="top" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></div><br />如果事务未起作用，请查看：<br />1、action中的方法是不是不以add,update,。。开头。<br />2、有可能是抛出的异常将事务舍弃了。 如果try catch&nbsp;&nbsp; 异常为 applicationException&nbsp; 请改为&nbsp; applicationException 试试。<br /><br />方法二：<br /><!--StartFragment -->

<div><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/fiele/QQ图片20140401102857.jpg" />&nbsp;</div><br /></div><img src ="http://www.blogjava.net/fiele/aggbug/411517.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2014-03-26 16:46 <a href="http://www.blogjava.net/fiele/archive/2014/03/26/411517.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>映射文件配置org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save():  </title><link>http://www.blogjava.net/fiele/archive/2014/03/16/411105.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Sun, 16 Mar 2014 14:20:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2014/03/16/411105.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/411105.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2014/03/16/411105.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/411105.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/411105.html</trackback:ping><description><![CDATA[<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">引起问题的原因：</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">由Hibernate根据数据库表自动生成的"类名.hbm.xml"映射文件引起的。</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">首先我的表(Info)由两个字段组成，即：</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">int id;//主建</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">String name;</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">（自己做测试，所以就简单的建了个表）</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">由Hibernate生成的Info.hbm.xml中是这样写的：</p>
<p><span style="font-family: Helvetica, Tahoma, Arial, sans-serif"><span style="line-height: 25px; font-size: 14px"></span></span></p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">-----------------------------------------------------</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">&lt;id name="id" type="java.lang.Integer"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;column name="id" /&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;generator class="assigned"/&gt;<br />&lt;/id&gt;</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">-----------------------------------------------------</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">&lt;id&gt;这个是必须有的。它是用来定义实体的标识属性（对应数据库表的主键）</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">而我这里由于id本身就是主键，所以column的属性便是id</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">下面是很关键的一点&lt;generator&gt;，由于一时兴趣，于是找了很多资料，关于它的解释是：用于指定主键的生成策略。它的值有多，下面是转来的：</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">--------------------------------------------------------------------------------</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">&#8220;assigned&#8221;<br />主键由外部程序负责生成，在&nbsp;&nbsp; save()&nbsp;&nbsp; 之前指定一个。<br />&nbsp;&nbsp;&nbsp;<br />&#8220;hilo&#8221;<br />通过hi/lo&nbsp;&nbsp; 算法实现的主键生成机制，需要额外的数据库表或字段提供高位值来源。<br />&nbsp;&nbsp;&nbsp;<br />&#8220;seqhilo&#8221;<br />与hilo&nbsp;&nbsp; 类似，通过hi/lo&nbsp;&nbsp; 算法实现的主键生成机制，需要数据库中的&nbsp;&nbsp; Sequence，适用于支持&nbsp;&nbsp; Sequence&nbsp;&nbsp; 的数据库，如Oracle。<br />&nbsp;&nbsp;&nbsp;<br />&#8220;increment&#8221;<br />主键按数值顺序递增。此方式的实现机制为在当前应用实例中维持一个变量，以保存着当前的最大值，之后每次需要生成主键的时候将此值加1作为主键。这种方式可能产生的问题是：不能在集群下使用。<br />&nbsp;&nbsp;&nbsp;<br />&#8220;identity&#8221;<br />采用数据库提供的主键生成机制。如DB2、SQL&nbsp;&nbsp; Server、MySQL&nbsp;&nbsp; 中的主键生成机制。<br />&nbsp;&nbsp;&nbsp;<br />&#8220;sequence&#8221;<br />采用数据库提供的&nbsp;&nbsp; sequence&nbsp;&nbsp; 机制生成主键。如&nbsp;&nbsp; Oralce&nbsp;&nbsp; 中的Sequence。<br />&nbsp;&nbsp;&nbsp;<br />&#8220;native&#8221;<br />由&nbsp;&nbsp; Hibernate&nbsp;&nbsp; 根据使用的数据库自行判断采用&nbsp;&nbsp; identity、hilo、sequence&nbsp;&nbsp; 其中一种作为主键生成方式。<br />&nbsp;&nbsp;&nbsp;<br />&#8220;uuid.hex&#8221;<br />由&nbsp;&nbsp; Hibernate&nbsp;&nbsp; 基于128&nbsp;&nbsp; 位&nbsp;&nbsp; UUID&nbsp;&nbsp; 算法&nbsp;&nbsp; 生成16&nbsp;&nbsp; 进制数值（编码后以长度32&nbsp;&nbsp; 的字符串表示）作为主键。<br />&nbsp;&nbsp;&nbsp;<br />&#8220;uuid.string&#8221;<br />与uuid.hex&nbsp;&nbsp; 类似，只是生成的主键未进行编码（长度16），不能应用在&nbsp;&nbsp; PostgreSQL&nbsp;&nbsp; 数据库中。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&#8220;foreign&#8221;<br />使用另外一个相关联的对象的标识符作为主键。</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">--------------------------------------------------------------------------------</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">看了上面的介绍，再看看代码，原来是&lt;Generator&gt;属性设置有问题。</p>
<p style="text-align: left; padding-bottom: 0px; line-height: 25px; margin-top: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; margin-bottom: 0px; font-size: 14px; padding-top: 0px">然后改为"identity"、"native"问题便解决。</p><br /><br />&nbsp;<wbr>&nbsp;<wbr> 在Hibernate中的映射文件配置中，如果在数据库中设置一列为自动增长列，但又不是主键，则在配置时需要设置 property 节点的 "insert" 和&#8220;update&#8221; 属性为false. 即： &lt;property column="ID" name="id" type="int" insert="false" update="false"/&gt; <br /><img src ="http://www.blogjava.net/fiele/aggbug/411105.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2014-03-16 22:20 <a href="http://www.blogjava.net/fiele/archive/2014/03/16/411105.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>myeclipse编译慢的问题</title><link>http://www.blogjava.net/fiele/archive/2014/01/08/408686.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Wed, 08 Jan 2014 07:43:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2014/01/08/408686.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/408686.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2014/01/08/408686.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/408686.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/408686.html</trackback:ping><description><![CDATA[<div>删除.project配置中<br /><br />1、javascript validation和jtds 选项。<br />&nbsp;&nbsp;&lt;buildCommand&gt;<br />&nbsp;&nbsp;&nbsp;&lt;name&gt;org.eclipse.wst.jsdt.core.javascriptValidator&lt;/name&gt;<br />&nbsp;&nbsp;&nbsp;&lt;arguments&gt;<br />&nbsp;&nbsp;&nbsp;&lt;/arguments&gt;<br />&nbsp;&nbsp;&lt;/buildCommand&gt;<br /><br />2、打开myeclipse时，会提示是否加入javascriptvalidation 选择否。<br /><br />再编译时，速度会快很多倍。</div><img src ="http://www.blogjava.net/fiele/aggbug/408686.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2014-01-08 15:43 <a href="http://www.blogjava.net/fiele/archive/2014/01/08/408686.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ServletContextListener使用详解 .</title><link>http://www.blogjava.net/fiele/archive/2013/11/20/406556.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Wed, 20 Nov 2013 02:13:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2013/11/20/406556.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/406556.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2013/11/20/406556.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/406556.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/406556.html</trackback:ping><description><![CDATA[<p style="text-indent: 21pt" class="MsoNormal"><span style="font-size: medium"><font size="3"><span class="apple-style-span"><span style="font-family: 宋体; color: black">摘自：<a href="http://blog.csdn.net/zhaozheng7758/article/details/6103700">http://blog.csdn.net/zhaozheng7758/article/details/6103700</a><br />在</span> </span><span class="apple-style-span"><span style="color: black" lang="EN-US">Servlet API</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">中有一个</span> </span><span class="apple-style-span"><span style="color: black" lang="EN-US">ServletContextListener</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">接口，它能够监听</span> </span><span class="apple-style-span"><span style="color: black" lang="EN-US">ServletContext</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">对象的生命周期，实际上就是监听</span> </span><span class="apple-style-span"><span style="color: black" lang="EN-US">Web</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">应用的生命周期。</span> </span><span class="apple-style-span"></span></font></span></p>
<p style="line-height: 15pt; text-indent: 16.15pt; margin: 5.75pt 0cm"><span style="font-size: medium"><font size="3"><span style="color: black">当<span lang="EN-US">Servlet</span> 容器启动或终止<span lang="EN-US">Web</span> 应用时，会触发<span lang="EN-US">ServletContextEvent</span> 事件，该事件由<span lang="EN-US"> ServletContextListener </span>来处理。在<span lang="EN-US"> ServletContextListener </span>接口中定义了处理<span lang="EN-US">ServletContextEvent</span> 事件的两个方法。</span> </font></span></p>
<p style="line-height: 15pt; text-indent: -21pt; margin: 5.75pt 0cm 5.75pt 21pt"><span style="font-size: medium"><font size="3"><span style="font-family: Wingdings; color: black" lang="EN-US">l<span style="line-height: normal; font-variant: normal; font-style: normal; font-family: 'Times New Roman'; font-weight: normal; font-size-adjust: none; font-stretch: normal">&nbsp; </span></span><span style="color: black" lang="EN-US">contextInitialized(ServletContextEvent sce)</span> <span style="color: black">：当<span lang="EN-US">Servlet</span> 容器启动<span lang="EN-US">Web</span> 应用时调用该方法。在调用完该方法之后，容器再对<span lang="EN-US">Filter</span> 初始化，并且对那些在<span lang="EN-US">Web</span> 应用启动时就需要被初始化的<span lang="EN-US">Servlet</span> 进行初始化。</span> </font></span></p>
<p style="line-height: 15pt; text-indent: -21pt; margin: 5.75pt 0cm 5.75pt 21pt"><span style="font-size: medium"><font size="3"><span style="font-family: Wingdings; color: black" lang="EN-US">l<span style="line-height: normal; font-variant: normal; font-style: normal; font-family: 'Times New Roman'; font-weight: normal; font-size-adjust: none; font-stretch: normal">&nbsp; </span></span><span style="color: black" lang="EN-US">contextDestroyed(ServletContextEvent sce)</span> <span style="color: black">：当<span lang="EN-US">Servlet</span> 容器终止<span lang="EN-US">Web</span> 应用时调用该方法。在调用该方法之前，容器会先销毁所有的<span lang="EN-US">Servlet</span> 和<span lang="EN-US">Filter</span> 过滤器。</span> </font></span></p>
<p style="text-indent: 21pt" class="MsoNormal"><span style="font-size: medium"><font size="3"><span class="apple-style-span">下面通过两个具体的例子来介绍</span> <span class="apple-style-span"><span style="color: black" lang="EN-US">ServletContextListener</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">的用法。</span> </span><span class="apple-style-span"></span></font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span class="apple-style-span"><span style="font-family: 宋体; color: black">例一：在服务启动时，将数据库中的数据加载进内存，并将其赋值给一个属性名，其它的</span> </span><span class="apple-style-span"><span style="color: black" lang="EN-US">Servlet</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">就可以通过</span> </span><span class="apple-style-span"><span style="color: black" lang="EN-US">getAttribute</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">进行属性值的访问。有如下两个步骤：</span> </span><span class="apple-style-span"></span></font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span class="apple-style-span"><span style="font-family: 'Arial', 'sans-serif'; color: black" lang="EN-US">1</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">：</span> </span><span class="apple-style-span"><span style="font-family: 'Arial', 'sans-serif'; color: black" lang="EN-US">ServletContext</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">对象是一个为整个</span> </span><span class="apple-style-span"><span style="font-family: 'Arial', 'sans-serif'; color: black" lang="EN-US">web</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">应用提供共享的内存，任何请求都可以访问里面的内容</span> </span><span class="apple-converted-space"><span style="font-family: 'Arial', 'sans-serif'; color: black" lang="EN-US">&nbsp;</span> </span></font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span class="apple-style-span"><span style="font-family: 'Arial', 'sans-serif'; color: black" lang="EN-US">2</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">：如何实现在服务启动的时候就动态的加入到里面的内容：我们需要做的有：</span> </span><span class="apple-converted-space"><span style="font-family: 'Arial', 'sans-serif'; color: black" lang="EN-US">&nbsp;</span> </span></font></span></p>
<p style="text-indent: 10.5pt" class="MsoNormal"><span style="font-size: medium"><font size="3"><span class="apple-style-span"><span style="font-family: 'Arial', 'sans-serif'; color: black" lang="EN-US">1</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">）</span> </span><span class="apple-style-span"><span style="font-family: 'Arial', 'sans-serif'; color: black"></span></span><span class="apple-style-span"><span style="font-family: 宋体; color: black">实现</span> </span><span class="apple-style-span"><span style="font-family: 'Arial', 'sans-serif'; color: black" lang="EN-US">servletContextListerner</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">接口</span> </span><span class="apple-style-span"><span style="font-family: 'Arial', 'sans-serif'; color: black"></span></span><span class="apple-style-span"><span style="font-family: 宋体; color: black">并将要共享的通过</span> </span><span class="apple-style-span"><span style="font-family: 'Arial', 'sans-serif'; color: black" lang="EN-US">setAttribute</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">（</span> </span><span class="apple-style-span"><span style="font-family: 'Arial', 'sans-serif'; color: black" lang="EN-US">name,data</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">）方法提交到内存中去</span> </span><span class="apple-converted-space"><span style="font-family: 'Arial', 'sans-serif'; color: black" lang="EN-US">&nbsp;</span> </span><span class="apple-converted-space"><span style="font-family: 宋体; color: black">；</span> </span></font></span></p>
<p style="text-indent: 10.5pt" class="MsoNormal"><span style="font-size: medium"><font size="3"><span class="apple-style-span"><span style="font-family: 'Arial', 'sans-serif'; color: black" lang="EN-US">2</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">）应用项目通过</span> </span><span class="apple-style-span"><span style="font-family: 'Arial', 'sans-serif'; color: black" lang="EN-US">getAttribute(name)</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">将数据取到</span> </span><span class="apple-converted-space"><span style="font-family: 宋体; color: black">。</span> </span><span class="apple-converted-space"></span></font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">package ServletContextTest;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import java.sql.Connection;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import java.sql.PreparedStatement;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import java.sql.ResultSet;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import java.util.HashMap;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import java.util.Map;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import javax.servlet.ServletContext;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import javax.servlet.ServletContextEvent;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import javax.servlet.ServletContextListener;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import util.ConnectTool;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">public class ServletContextLTest implements ServletContextListener{&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp; &nbsp;&nbsp;//</span> <span style="font-family: 宋体">实现其中的销毁函数</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp; public void contextDestroyed(ServletContextEvent sce) {&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;System.out.println("this is last destroyeed");&nbsp; &nbsp;&nbsp;</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp; }&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp; &nbsp;&nbsp;//</span> <span style="font-family: 宋体">实现其中的初始化函数，当有事件发生时即触发</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp; public void contextInitialized(ServletContextEvent sce) {&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServletContext sct=sce.getServletContext();&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Map&lt;Integer,String&gt; depts=new HashMap&lt;Integer,String&gt;();&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Connection connection=null;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PreparedStatement pstm=null;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ResultSet rs=null;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try{&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connection=ConnectTool.getConnection();&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String sql="select deptNo,dname from dept";&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pstm=connection.prepareStatement(sql);&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs=pstm.executeQuery();&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(rs.next()){&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;depts.put(rs.getInt(1), rs.getString(2));&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span> <span style="font-family: 宋体">将所取到的值存放到一个属性键值对中</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sct.setAttribute("dept", depts);&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("======listener test is beginning=========");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }catch(Exception e){&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }finally{&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ConnectTool.releasersc(rs, pstm, connection);&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp; }&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">}&nbsp; </font></span></span></p>
<p style="text-indent: 21pt" class="MsoNormal"><span style="font-size: medium"><font size="3"><span style="font-family: 宋体">在完成上述编码后，仍需在</span> <span lang="EN-US">web.xml</span> <span style="font-family: 宋体">中进行如下配置，以使得该监听器可以起作用。</span> </font></span></p>
<p style="text-indent: 21pt" class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&lt;listener&gt;&nbsp; </font></span></span></p>
<p style="text-indent: 21pt" class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp; &lt;listener-class&gt;ServletContextTest.ServletContextLTest&lt;/listener-class&gt;&nbsp; </font></span></span></p>
<p style="text-indent: 21pt" class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&lt;/listener&gt;&nbsp; </font></span></span></p>
<p style="text-indent: 21pt" class="MsoNormal"><span style="font-size: medium"><font size="3"><span style="font-family: 宋体">在完成上述配置后，</span> <span lang="EN-US">web</span> <span style="font-family: 宋体">服务器在启动时，会直接加载该监听器，通过以下的应用程序就可以进行数据的访问。</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">package ServletContextTest;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import java.io.IOException;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import java.io.PrintWriter;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import java.util.*;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import javax.servlet.ServletContext;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import javax.servlet.ServletException;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import javax.servlet.http.HttpServlet;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import javax.servlet.http.HttpServletRequest;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import javax.servlet.http.HttpServletResponse;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">public class CreateEmployee extends HttpServlet{&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp; @Override&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp; protected void service(HttpServletRequest request, HttpServletResponse response)&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throws ServletException, IOException {&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServletContext sct=getServletConfig().getServletContext();&nbsp; </font></span></span></p>
<p style="text-indent: 36.75pt" class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">//</span> <span style="font-family: 宋体">从上下文环境中通过属性名获取属性值</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Map&lt;Integer,String&gt; dept=(Map&lt;Integer,String&gt;)sct.getAttribute("dept");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set&lt;Integer&gt; key=dept.keySet();&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response.setContentType("text/html;charset=utf-8");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PrintWriter out=response.getWriter();&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;html&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;body&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;form action='/register' action='post'&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;table alignb='center'&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;tr&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;td&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("username:");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;/td&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;td&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;input type='text' name='username'");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;/tr&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;tr&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;td&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("city:");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;/td&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;td&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;select name='dept'");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(Integer i:key){&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;option value='"+i+"'&gt;"+dept.get(i)+"&lt;/option&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;/select&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;/td&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;tr&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;/table&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;/form&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;/body&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println("&lt;/html&gt;");&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.flush();&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">&nbsp;&nbsp;&nbsp; }&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">}&nbsp; </font></span></span></p>
<p style="line-height: 13.95pt; margin: 5.35pt 0cm"><span style="font-size: medium"><font size="3">例二：书写一个<span style="color: black">类用于统计当<span lang="EN-US">Web</span> 应用启动后，网页被客户端访问的次数。如果重新启动<span lang="EN-US">Web</span> 应用，计数器不会重新从<span lang="EN-US">1</span> 开始统计访问次数，而是从上次统计的结果上进行累加。在实际应用中，往往需要统计自<span lang="EN-US">Web</span> 应用被发布后网页被客户端访问的次数，这就要求当<span lang="EN-US">Web</span> 应用被终止时，计数器的数值被永久存储在一个文件中或者数据库中，等到<span lang="EN-US">Web</span> 应用重新启动时，先从文件或数据库中读取计数器的初始值，然后在此基础上继续计数。</span> </font></span></p>
<p style="line-height: 13.95pt; text-indent: 15.05pt; margin: 5.35pt 0cm"><span style="font-size: medium"><font size="3"><span style="color: black">向文件中写入或读取计数器的数值的功能可以由自定义的<span lang="EN-US"> MyServletContextListener</span> 类来完成，它具有以下功能：</span> </font></span></p>
<p style="line-height: 13.95pt; margin: 5.35pt 0cm"><span style="font-size: medium"><font size="3"><span style="color: black" lang="EN-US">1</span> <span style="color: black">、在<span lang="EN-US"> Web </span>应用启动时从文件中读取计数器的数值，并把表示计数器的<span lang="EN-US"> Counter</span> 对象存放到<span lang="EN-US"> Web </span>应用范围内。存放计数器的文件的路径为<span lang="EN-US">helloapp/count/count.txt</span> 。</span> </font></span></p>
<p style="line-height: 13.95pt; margin: 5.35pt 0cm"><span style="font-size: medium"><font size="3"><span style="color: black" lang="EN-US">2</span> <span style="color: black">、在<span lang="EN-US">Web</span> 应用终止时把<span lang="EN-US">Web</span> 应用范围内的计数器的数值保存到<span lang="EN-US">count.txt</span> 文件中。</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">package ServletContextTest;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import javax.servlet.ServletContext;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><span lang="EN-US"><font size="3">import javax.servlet.ServletContextEvent;&nbsp; </font></span></span></p>
<p style="line-height: 13.95pt; margin: 5.35pt 0cm"><span style="font-size: medium"><span lang="EN-US"><font size="3">import javax.servlet.ServletContextListener;&nbsp; </font></span></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">public class MyServletContextListener implements ServletContextListener{</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp; public void contextInitialized(ServletContextEvent sce){</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp; System.out.println("helloapp application is Initialized.");</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp; //</span> <span style="font-family: 宋体">获取</span> <span lang="EN-US">ServletContext</span> <span style="font-family: 宋体">对象</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp; ServletContext context=sce.getServletContext();</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp; try{</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span> <span style="font-family: 宋体">从文件中读取计数器的数值</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BufferedReader reader=new BufferedReader(</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new InputStreamReader(context.</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getResourceAsStream("/count/count.txt")));</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int count=Integer.parseInt(reader.readLine());</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reader.close();</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span> <span style="font-family: 宋体">创建计数器对象</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Counter counter=new Counter(count);</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span> <span style="font-family: 宋体">把计数器对象保存到</span> <span lang="EN-US">Web</span> <span style="font-family: 宋体">应用范围</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context.setAttribute("counter",counter);</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch(IOException e) {</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp; }</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp; public void contextDestroyed(ServletContextEvent sce){</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;System.out.println("helloapp application is Destroyed.");</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span> <span style="font-family: 宋体">获取</span> <span lang="EN-US">ServletContext</span> <span style="font-family: 宋体">对象</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServletContext context=sce.getServletContext();</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span> <span style="font-family: 宋体">从</span> <span lang="EN-US">Web</span> <span style="font-family: 宋体">应用范围获得计数器对象</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Counter counter=(Counter)context.getAttribute("counter");</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(counter!=null){</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try{</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span> <span style="font-family: 宋体">把计数器的数值写到</span> <span lang="EN-US">count.txt</span> <span style="font-family: 宋体">文件中</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String filepath=context.getRealPath("/count");</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filepath=filepath+"/count.txt";</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PrintWriter pw=new PrintWriter(filepath);</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pw.println(counter.getCount());</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pw.close();</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch(IOException e) {</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp; }</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&nbsp;&nbsp; }</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">}</span> </font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span class="apple-style-span"><span style="font-family: 宋体; color: black">将用户自定义的</span> </span><span class="apple-style-span"><span style="color: black" lang="EN-US">MyServletContextListener</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">监听器在</span> </span><span class="apple-style-span"><span style="color: black" lang="EN-US">Servlet</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">容器进行注册，</span> </span><span class="apple-style-span"><span style="color: black" lang="EN-US">Servlet</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">容器会在启动或终止</span> </span><span class="apple-style-span"><span style="color: black" lang="EN-US">Web</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">应用时，会调用该监听器的相关方法。在</span> </span><span class="apple-style-span"><span style="color: black" lang="EN-US">web.xml</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">文件中，</span> </span><span class="apple-style-span"><span style="color: black" lang="EN-US">&lt;listener&gt;</span> </span><span class="apple-style-span"><span style="font-family: 宋体; color: black">元素用于向容器注册监听器：</span> </span><span class="apple-style-span"></span></font></span></p>
<p class="MsoNormal"><span style="font-size: medium"><font size="3"><span lang="EN-US">&lt;listener&gt;<br />&lt;listener-class&gt;</span> <span lang="EN-US">ServletContextTest</span> </font><font size="3"><span lang="EN-US">.MyServletContextListener&lt;listener-class /&gt;<br />&lt;/listener&gt;</span> </font></span></p>
<p style="text-indent: 21pt" class="MsoNormal"><span style="font-size: medium"><font size="3"><span style="font-family: 宋体">通过上述两个例子，即可以非常清楚的了解到</span> <span lang="EN-US">ServletContextListener</span> <span style="font-family: 宋体">接口的使用方法及技巧。</span> <span class="apple-style-span"><span style="font-family: 宋体; color: black">在<span lang="EN-US">Container</span> 加载<span lang="EN-US">Web</span> 应用程序时（例如启动<span lang="EN-US"> Container</span> 之后），会呼叫<span lang="EN-US">contextInitialized()</span> ，而当容器移除<span lang="EN-US">Web</span> 应用程序时，会呼叫<span lang="EN-US">contextDestroyed ()</span> 方法。</span> 通过</span> <span class="apple-style-span"><span style="font-family: 宋体; color: black" lang="EN-US">Tomcat </span></span><span class="apple-style-span"><span style="font-family: 宋体; color: black">控制台的打印结果的先后顺序，会发现当<span lang="EN-US"> Web </span>应用启动时，<span lang="EN-US">Servlet</span> 容器先调用<span lang="EN-US">contextInitialized()</span> 方法，再调用<span lang="EN-US">lifeInit</span> 的<span lang="EN-US">init()</span> 方法；当<span lang="EN-US">Web</span> 应用终止时，<span lang="EN-US">Servlet</span> 容器先调用<span lang="EN-US">lifeInit</span> 的<span lang="EN-US">destroy()</span> 方法，再调用<span lang="EN-US">contextDestroyed()</span> 方法。由此可见，在<span lang="EN-US">Web</span> 应用的生命周期中，<span lang="EN-US">ServletContext</span> 对象最早被创建，最晚被销毁。</span> </span><span class="apple-converted-space"><span style="font-family: 宋体; color: black" lang="EN-US">&nbsp;</span> </span></font></span></p><img src ="http://www.blogjava.net/fiele/aggbug/406556.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2013-11-20 10:13 <a href="http://www.blogjava.net/fiele/archive/2013/11/20/406556.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>航信接口碰到的问题锦集</title><link>http://www.blogjava.net/fiele/archive/2013/11/15/406392.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Fri, 15 Nov 2013 11:20:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2013/11/15/406392.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/406392.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2013/11/15/406392.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/406392.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/406392.html</trackback:ping><description><![CDATA[<div>1、加入包：httpcore-4.2.1.jar hotelbe-pure-sdk-6.1.1.jar&nbsp; date4j-1.0.0.jar包&nbsp;&nbsp; httpclient-4.2.1.jar<br /><br />重点说一下import org.apache.http.Consts;<br />这个类在httpcore-4.2.1.jar这个包中，以前的版本如httpcore-4.0.1.jar&nbsp;没有。（找S我了）</div><img src ="http://www.blogjava.net/fiele/aggbug/406392.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2013-11-15 19:20 <a href="http://www.blogjava.net/fiele/archive/2013/11/15/406392.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>连接池配置</title><link>http://www.blogjava.net/fiele/archive/2013/10/26/405677.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Sat, 26 Oct 2013 08:39:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2013/10/26/405677.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/405677.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2013/10/26/405677.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/405677.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/405677.html</trackback:ping><description><![CDATA[<div class="articalTitle">
<h2 id="t_50d1b9810100aekn" class="titName SG_txta">配置连接池</h2></div><!-- 正文开始 -->


<div id="sina_keyword_ad_area2" class="articalContent  ">
<div>&nbsp;<wbr>本文旨在给程序开发人员提供一个比较具体的<a target="_self"><u><strong>Tomcat</strong></u></a>连接池参考方案，为了提高文章的可读性，文章前端引用了一位前辈的话，如果构成误解，请多多谅解，本文不是从商业考虑的。有问题请联系作者MSN:hpj2001(at)hotmail.com，Email:tocow(at)<a target="_self"><u><strong>google</strong></u></a>.com。<br /><br /><strong>连接池简介</strong><br />　　&nbsp;<wbr>程序开发，存在很多问题：首先，每一次<a target="_self"><u><strong>Web</strong></u></a>请求都要建立一次数据库连接。建立连接是一个费时的活动，每次都得花费0.05s～1s的时间，而且系统还要分配内存资源。这个时间对于一次或几次数据库操作，或许感觉不出系统有多大的开销。可是对于现在的Web应用，尤其是大型电子商务网站，同时有几百人甚至几千人在线是很正常的事。在这种情况下，频繁的进行数据库连接操作势必占用很多的系统资源，网站的响应速度必定下降，严重的甚至会造成服务器的崩溃。不是危言耸听，这就是制约某些电子商务网站发展的技术瓶颈问题。其次，对于每一次数据库连接，使用完后都得断开。否则，如果程序出现异常而未能关闭，将会导致数据库系统中的内存泄漏，最终将不得不重启数据库。还有，这种开发不能控制被创建的连接对象数，系统资源会被毫无顾及的分配出去，如连接过多，也可能导致内存泄漏，服务器崩溃。<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>数据库连接池（connection&nbsp;<wbr>pool）的工作原理：<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>由上面的分析可以看出，问题的根源就在于对数据库连接资源的低效管理。<br />对于共享资源，有一个很著名的设计模式：资源池（Resource&nbsp;<wbr>Pool）。该模式正是为了解决资源的频繁分配、释放所造成的问题。为解决上述问题，可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个&#8220;缓冲池&#8221;。预先在缓冲池中放入一定数量的连接，当需要建立数据库连接时，只需从&#8220;缓冲池&#8221;中取出一个，使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量、使用情况，为系统开发、测试及性能调整提供依据。<br /><strong>一、Tomcat一般性说明</strong><br />1、本压缩包内的tomcat为apache-tomcat-5.5.20，截止到2006-10-12，是www.apache.org上最新的tomcat版本。<br />2、Tomcat使用的端口都是默认的。两个比较重要的端口说明，shutdown&nbsp;<wbr>port：8005；non-SSL&nbsp;<wbr>HTTP/1.1&nbsp;<wbr>Connector&nbsp;<wbr>port：8080。<br />3、涉及到修改的文件：<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>a．./&nbsp;<wbr>conf下server.xml、web.xml<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>b．./common/lib下增加ms-sql&nbsp;<wbr>jdbc的三个jar包msbase.jar、mssqlserver.jar、msutil.jar<br /><strong>二、Tomcat配置连接池方案</strong><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>本文针对的是tomcat&nbsp;<wbr>5.5版本的连接池介绍，其它版本可能不适用。<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>数据源可以配置成全局的和局部的：可以在任意Context中引用全局的数据源，在某一Context配置的数据源，不能在其它Context引用它。理解了全局和局部数据源的关系，下面就来介绍一下详细配置说明，如下：<br />1、编辑打开./confCatalina/localhost/gdczsam.xml可以看到：<br />&lt;!--F&nbsp;<wbr>hpj&nbsp;<wbr>2006-10-12&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>Defualt,&nbsp;<wbr>we&nbsp;<wbr>set&nbsp;<wbr>all&nbsp;<wbr>different&nbsp;<wbr>Resources&nbsp;<wbr>as&nbsp;<wbr>Global-Resource[which&nbsp;<wbr>defined&nbsp;<wbr>in&nbsp;<wbr>server.xml&nbsp;<wbr>&lt;GlobalNamingResources&gt;&lt;/GlobalNamingResources&gt;],&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>and&nbsp;<wbr>get&nbsp;<wbr>special&nbsp;<wbr>Resource&nbsp;<wbr>we&nbsp;<wbr>needed&nbsp;<wbr>in&nbsp;<wbr>per-web-application&nbsp;<wbr>contexts&nbsp;<wbr>from&nbsp;<wbr>Global-Resource.<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>otherwise,we&nbsp;<wbr>can&nbsp;<wbr>set&nbsp;<wbr>Resource&nbsp;<wbr>we&nbsp;<wbr>needed&nbsp;<wbr>in&nbsp;<wbr>any&nbsp;<wbr>special&nbsp;<wbr>Context,&nbsp;<wbr>all&nbsp;<wbr>two&nbsp;<wbr>solutions&nbsp;<wbr>are&nbsp;<wbr>offered.<br /><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>A.during&nbsp;<wbr>application&nbsp;<wbr>development&nbsp;<wbr>set&nbsp;<wbr>reloadable="true",&nbsp;<wbr>when&nbsp;<wbr>deployed&nbsp;<wbr>production&nbsp;<wbr>set&nbsp;<wbr>reloadable="false"<br /><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>B.many&nbsp;<wbr>other&nbsp;<wbr>datebase,&nbsp;<wbr>url&nbsp;<wbr>and&nbsp;<wbr>driverClassName&nbsp;<wbr>like&nbsp;<wbr>underside&nbsp;<wbr>list:<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>1.ms-sql&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=SAM_GDCZ"<br />加载包mssqlserver.jar、msbase.jar、msutil.jar.<br /><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>2.oracle&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>driverClassName="oracle.jdbc.driver.OracleDriver"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>url="jdbc:oracle:thin:@127.0.0.1:1521:SAM_GDCZ"<br /><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>3.postgresql&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>driverClassName="org.postgresql.Driver"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>url="jdbc:postgresql://127.0.0.1:5432/SAM_GDCZ"<br /><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>4.mysql&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>driverClassName="org.gjt.mm.mysql.Driver"[old&nbsp;<wbr>mySql&nbsp;<wbr>jdbc&nbsp;<wbr>driver]<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>driverClassName="com.mysql.jdbc.Driver"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>url="jdbc:mysql://127.0.0.1:3306/SAM_GDCZ"<br />--&gt;<br /><br />&lt;Context&nbsp;<wbr>docBase="setup&nbsp;<wbr>directory"&nbsp;<wbr>path="/gdczsam"&nbsp;<wbr>reloadable="true"&nbsp;<wbr>cookies="true"&nbsp;<wbr>crossContext="true"&nbsp;<wbr>privileged="true"&nbsp;<wbr>antiResourceLocking="false"&nbsp;<wbr>antiJARLocking="false"&gt;<br /><br />&lt;!--<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&lt;Resource&nbsp;<wbr>name="jdbc/mssql-SAM_GDCZ"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>auth="Container"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>type="javax.sql.DataSource"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=SAM_GDCZ"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>username="sa"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>password=""<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>maxIdle="30"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>maxWait="10000"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>maxActive="100"/&gt;<br />--&gt;<br /><br />&lt;!--F&nbsp;<wbr>hpj&nbsp;<wbr>2006-10-12&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>name:&nbsp;<wbr>The&nbsp;<wbr>name&nbsp;<wbr>of&nbsp;<wbr>the&nbsp;<wbr>resource&nbsp;<wbr>link&nbsp;<wbr>to&nbsp;<wbr>be&nbsp;<wbr>created,&nbsp;<wbr>which&nbsp;<wbr>will&nbsp;<wbr>be&nbsp;<wbr>used&nbsp;<wbr>in&nbsp;<wbr>this&nbsp;<wbr>web-application&nbsp;<wbr>context&nbsp;<wbr>environment.<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>global:&nbsp;<wbr>The&nbsp;<wbr>name&nbsp;<wbr>of&nbsp;<wbr>the&nbsp;<wbr>linked&nbsp;<wbr>global&nbsp;<wbr>resource&nbsp;<wbr>in&nbsp;<wbr>the&nbsp;<wbr>global&nbsp;<wbr>JNDI&nbsp;<wbr>context.<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>type:&nbsp;<wbr>The&nbsp;<wbr>fully&nbsp;<wbr>qualified&nbsp;<wbr>Java&nbsp;<wbr>class&nbsp;<wbr>name&nbsp;<wbr>expected&nbsp;<wbr>by&nbsp;<wbr>the&nbsp;<wbr>web&nbsp;<wbr>application&nbsp;<wbr>when&nbsp;<wbr>it&nbsp;<wbr>performs&nbsp;<wbr>a&nbsp;<wbr>lookup&nbsp;<wbr>for&nbsp;<wbr>this&nbsp;<wbr>resource&nbsp;<wbr>link.<br />--&gt;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&lt;ResourceLink&nbsp;<wbr>name="mssql-SAM_GDCZ"&nbsp;<wbr>global="jdbc/mssql-SAM_GDCZ"&nbsp;<wbr>type="javax.sql.DataSource"/&gt;<br /><br />&lt;/Context&gt;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>本文提供的tomcat连接池的默认配置如上述，代码的说明性很强，既采用在./&nbsp;<wbr>conf/server.xml配置的全局数据源，然后在指定的Context中调用的方式。<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>server.xml中的数据源就是上述代码段注释的Resource节点，被包含在server.xml中的GlobalNamingResources节点中。<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>其中需要注意的是，该数据源需要在./conf/web.xml中加入一段声明，如下：<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&lt;resource-ref&gt;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&lt;descrīption&gt;DB&nbsp;<wbr>Connection&lt;/descrīption&gt;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&lt;res-ref-name&gt;jdbc/mssql-SAM_GDCZ&lt;/res-ref-name&gt;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&lt;res-auth&gt;Container&lt;/res-auth&gt;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&lt;/resource-ref&gt;<br />2、第二种tomcat数据源的配置方式是本人推荐的：不在server.xml的GlobalNamingResources节点中加入Resource节点，而是对每个指定的Context配置数据源，这样结构比较清晰。采用这种方式的gdczsam.xml配置如下：<br />&lt;Context&nbsp;<wbr>docBase="setup&nbsp;<wbr>directory"&nbsp;<wbr>path="/gdczsam"&nbsp;<wbr>reloadable="true"&nbsp;<wbr>cookies="true"&nbsp;<wbr>crossContext="true"&nbsp;<wbr>privileged="true"&nbsp;<wbr>antiResourceLocking="false"&nbsp;<wbr>antiJARLocking="false"&gt;<br /><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&lt;Resource&nbsp;<wbr>name="jdbc/mssql-SAM_GDCZ"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>auth="Container"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>type="javax.sql.DataSource"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=SAM_GDCZ"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>username="sa"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>password=""<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>maxIdle="30"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>maxWait="10000"<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>maxActive="100"/&gt;<br /><br />&lt;/Context&gt;<br />3、以上两种方式，只要是不同的数据源都必须在./conf/web.xml中加入resource-ref声明。<br />4、产品部署时，不论使用什么方式来部署程序，都需要在./confCatalina/localhost中加入类似gdczsam.xml的文件来配置数据源。</div></div><img src ="http://www.blogjava.net/fiele/aggbug/405677.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2013-10-26 16:39 <a href="http://www.blogjava.net/fiele/archive/2013/10/26/405677.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse 格式化时不自动换行 Ctrl+shift+f .</title><link>http://www.blogjava.net/fiele/archive/2013/10/18/405415.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Fri, 18 Oct 2013 13:44:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2013/10/18/405415.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/405415.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2013/10/18/405415.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/405415.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/405415.html</trackback:ping><description><![CDATA[Java代码<br /><br />打开Eclipse的Window菜单，然后Preferences-&gt;Java-&gt;Code Style-&gt;Formatter-&gt;Edit/Show(根据不同版本可用的按钮会不一样) -&gt;Line Wrapping-&gt;Maximum line width:由80改成800就行了。<br />
<p>2.Html代码<br /><br />Window-&gt;Preferences-&gt;MyEclipse-&gt;Files and Editors-&gt;Html-&gt;Html Source-&gt;Line width-&gt;加个0以后保存</p> <img src ="http://www.blogjava.net/fiele/aggbug/405415.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2013-10-18 21:44 <a href="http://www.blogjava.net/fiele/archive/2013/10/18/405415.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库最大连接数原理</title><link>http://www.blogjava.net/fiele/archive/2013/08/14/402808.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Wed, 14 Aug 2013 09:07:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2013/08/14/402808.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/402808.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2013/08/14/402808.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/402808.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/402808.html</trackback:ping><description><![CDATA[<p>1、JAVA做一个循环，每做一次事务（CRUD）加一个连接，一个连接相当于占2M内存。<br />50秒后自动释放。<br />如果超过最大连接数报错如下：<br /><span class="tcnt"><font size="5" face="微软雅黑">ORA-12519: TNS:no appropriate service handler found 解决</font></span>&nbsp;&nbsp;<br /><br />有时候连得上数据库,有时候又连不上.</p>
<p>可能是数据库上当前的连接数目已经超过了它能够处理的最大值.</p>
<p><br />select count(*) from v$process --当前的连接数<br />select value from v$parameter where name = 'processes' --数据库允许的最大连接数<br />修改最大连接数:<br />alter system set processes = 300 scope = spfile;<br />重启数据库:<br />shutdown immediate;<br />startup;<br />--查看当前有哪些用户正在使用数据<br />SELECT osuser, a.username,cpu_time/executions/1000000||'s', sql_fulltext,machine <br />from v$session a, v$sqlarea b<br />where a.sql_address =b.address order by cpu_time/executions desc;<br /><br />连接数配置在:applicationcontext.xml中<br /><span style="color: red">另一种解决办法：</span>直接用存储过程，一个存储过程只占一个连接。<br /><br /><span style="color: red">查看当前最大连接数：</span><br />BasicDataSource dataSource = (BasicDataSource)SpringTools.getBean("dataSource");<br />System.out.println(dataSource.getNumActive());<br /></p><img src ="http://www.blogjava.net/fiele/aggbug/402808.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2013-08-14 17:07 <a href="http://www.blogjava.net/fiele/archive/2013/08/14/402808.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>myeclipse环境配置</title><link>http://www.blogjava.net/fiele/archive/2013/08/14/402772.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Wed, 14 Aug 2013 01:32:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2013/08/14/402772.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/402772.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2013/08/14/402772.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/402772.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/402772.html</trackback:ping><description><![CDATA[当myeclipse慢时，请查看以下原因：<br />1、检查：.project文件，去掉&lt;nature&gt;org.eclipse.wst.jsdt.core.jsNature&lt;/nature&gt;。 <br />&nbsp;&nbsp;&nbsp; 或：右键项目 -&gt; properties -&gt; Builders 去掉JavaScript Validator 前面的勾<br /><img src ="http://www.blogjava.net/fiele/aggbug/402772.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2013-08-14 09:32 <a href="http://www.blogjava.net/fiele/archive/2013/08/14/402772.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>输出日志。myeclipse中</title><link>http://www.blogjava.net/fiele/archive/2013/07/03/401176.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Wed, 03 Jul 2013 08:18:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2013/07/03/401176.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/401176.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2013/07/03/401176.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/401176.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/401176.html</trackback:ping><description><![CDATA[1、在hibernate.cfg.xml中配置如下：<br />&nbsp;&nbsp;&lt;property name="hibernate.jdbc.batch_size"&gt;0&lt;/property&gt;<br />&nbsp;&nbsp;&lt;property name="format_sql"&gt;false&lt;/property&gt;<br />&nbsp;&nbsp;&lt;property name="use_sql_comments"&gt;false&lt;/property&gt;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&lt;property name="show_sql"&gt;true&lt;/property&gt;<img src ="http://www.blogjava.net/fiele/aggbug/401176.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2013-07-03 16:18 <a href="http://www.blogjava.net/fiele/archive/2013/07/03/401176.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ECLIPSE插件安装，防乱码</title><link>http://www.blogjava.net/fiele/archive/2012/12/06/392550.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Thu, 06 Dec 2012 07:10:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2012/12/06/392550.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/392550.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2012/12/06/392550.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/392550.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/392550.html</trackback:ping><description><![CDATA[eclipse classic 是eclipse的标准版：标准版;<br /><br />Eclipse Classic的带有source<br /><br />建议使用Eclipse Classic，需要插件自己安装配置即可<br /><br />安装相应插件： <br />1.安装wtp，方便web开发 <br />打开菜单help-&gt;Install new Software，单击&#8220;add..&#8221;按钮，弹出框的name和location都填入&#8220;http://download.eclipse.org/webtools/updates/&#8221;，等待一会，勾选&#8220;Web Tools Platform (WTP) 3.1.2&#8221;<br /><br />2.安装&#8220;java decompiler&#8221; <br />打开菜单help-&gt;Install new Software，单击&#8220;add..&#8221;按钮，弹出框的name和location都填入&#8220;http://java.decompiler.free.fr/jd-eclipse/update&#8221;，等待一会，勾选&#8220;Java Decompiler Eclipse Plug-in&#8221;，按向导进行安装。<br /><br />相关配置： <br />1.统一设置为utf-8编码，Window-&gt;Preferences-&gt;General-&gt;Workspace-&gt;Text file encoding-&gt;Other-&gt;UTF-8。<br /><br />2.修改jsp等默认编码为utf-8，打开Window-&gt;Preferences-&gt;Web-&gt;Jsp Files，修改右面的encoding为（utf-8）。<br /><br />3.统一设置为utf-8编码，Window-&gt;Preferences-&gt;General-&gt;Content Types，在右面选择&#8220;Text&#8221;，在default encoding输入&#8220;UTF-8&#8221;，点&#8220;update&#8221;按钮更新。 <br /><br />经过配置后，所有的新建的java、jsp、txt、html、xml、文件夹等编码都是utf-8，这样在jsp、html等文件中设定编码为utf-8，可以避免乱码。 <img src ="http://www.blogjava.net/fiele/aggbug/392550.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2012-12-06 15:10 <a href="http://www.blogjava.net/fiele/archive/2012/12/06/392550.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决Myeclipse不能自动编译的问题</title><link>http://www.blogjava.net/fiele/archive/2012/08/31/386678.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Fri, 31 Aug 2012 03:57:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2012/08/31/386678.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/386678.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2012/08/31/386678.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/386678.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/386678.html</trackback:ping><description><![CDATA[ Myeclipse不能自动编译java类，造成这种状况的原因很多。以下是解决方案：

      1. 确保 project-&gt;build automatically 已经被选上.这时候可以使用两种方法，一个是在未选中build automatically之前，手动编译项目文件；然后选中build automatically自动编译文件。

      2. 如果选上了,也不好使, 使用这一招: project-&gt;clean..-&gt;选第2个clean select project, 勾上start build immediatelly

      3.如果项目里引了某个不用的jar包，而那个包又被你删了，就会出现不报错但怎么也编译不出来class文件的情况，可以把所有包都删除,然 后一个一个的再引入(需要的),不要一下子把所有包都引入来,没用的可能会引起不良后果.

      4. 想删掉某个class文件重新生成，删除class文件后，但classes目录下的文件夹被其它程序打开，比如Total Commander。此时编译 也不会通过，在problems下可能会提示“con''t delete classes ……”。关掉其它程序重新编译即可。

      5.还有种情况是remove掉 JRE System Library，重新导入即可编译。但是什么原因导致的还不清楚。

      6.把build path中所有包都remove掉。然后又add jars,add libraries把需要的加进去，居然又开始编译了。。。

      7.project-&gt;properties-&gt;java build path-&gt;source-&gt;.../WEB-INF/src的output folder不要默认，编辑让它指向../WEB-INF/classes 然后重新点击build工程即可自动编译。

      8.实在不行就新建项目吧！嘿嘿<img src ="http://www.blogjava.net/fiele/aggbug/386678.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2012-08-31 11:57 <a href="http://www.blogjava.net/fiele/archive/2012/08/31/386678.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>、The type java.lang.Object cannot be resolved.It is indirectly referenced from required.class  files。  </title><link>http://www.blogjava.net/fiele/archive/2011/12/05/365602.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Mon, 05 Dec 2011 08:05:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2011/12/05/365602.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/365602.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2011/12/05/365602.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/365602.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/365602.html</trackback:ping><description><![CDATA[1、The type java.lang.Object cannot be resolved.It is indirectly referenced from required.class  files。  
<div>     出现以上信息的原因是因为你装了多个版本的jre或jdk的关系。本来Eclipse在建立工程时，会自动参  照你的jre路径，但多个版本就没办法了。 <br />  你只能手动建立… <br />   a. 进入window\preferences\java\Installed JREs <br />       1)按Add <br />       2)输入JRE Name, 例JDK1.5.0.03 <br />       3)JRE home directory, 选择安装的路径<br />       4)按OK <br />  b. 进入Project\properties\Java Bulid Path <br />      1)Add library <br />      2)选JRE System Library后按Next <br />     3)选workplace default JRE后按finish... </div><div>2、The import javax.servlet cannot be resolved<br />   上面问题的解决办法如下：将servlet-api.jar(在%TOMCAT_HOME%/\common\lib目录下面可以找  到 这个文件)或者javaee.jar导入每个动态web工程。</div><img src ="http://www.blogjava.net/fiele/aggbug/365602.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2011-12-05 16:05 <a href="http://www.blogjava.net/fiele/archive/2011/12/05/365602.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DATA,calendar日期转换</title><link>http://www.blogjava.net/fiele/archive/2011/04/12/348164.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Tue, 12 Apr 2011 10:00:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2011/04/12/348164.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/348164.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2011/04/12/348164.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/348164.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/348164.html</trackback:ping><description><![CDATA[<p>1.Calendar和Date的转化</p>
<p>(1) Calendar转化为Date<br />
Calendar cal=Calendar.getInstance();<br />
Date date=cal.getTime();</p>
<p>(2) Date转化为Calendar<br />
Date date=new Date();<br />
Calendar cal=Calendar.getInstance();<br />
cal.setTime(date);<br />
<br />
3,如果日期为空,默认一个日期<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cal.set(1990,01,01);<br />
<br />
</p>
<img src ="http://www.blogjava.net/fiele/aggbug/348164.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2011-04-12 18:00 <a href="http://www.blogjava.net/fiele/archive/2011/04/12/348164.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse中outline里面函数前面的符号说明</title><link>http://www.blogjava.net/fiele/archive/2010/11/25/339031.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Thu, 25 Nov 2010 07:53:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2010/11/25/339031.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/339031.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2010/11/25/339031.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/339031.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/339031.html</trackback:ping><description><![CDATA[<pre>红色代表私有，蓝色代表公有
实体方形代表方法
空心方形代表属性
图形后加字母S代表该属性或方法为static静态的，加字母F代表它为final的。
方法后加蓝色三角代表它是继承至父类的方法
断点为蓝色小圆形
蓝色旗状图形代表书签
白底上加蓝色对钩代表task </pre>
</ca><!-- 导入 在此 参考资料--><!-- end 参考资料-->
<img src ="http://www.blogjava.net/fiele/aggbug/339031.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2010-11-25 15:53 <a href="http://www.blogjava.net/fiele/archive/2010/11/25/339031.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse,tomcat的JDK配置                   </title><link>http://www.blogjava.net/fiele/archive/2010/10/11/334284.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Mon, 11 Oct 2010 01:45:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2010/10/11/334284.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/334284.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2010/10/11/334284.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/334284.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/334284.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://blog.sina.com.cn/s/blog_5673f78b0100c9pu.html">转自:http://blog.sina.com.cn/s/blog_5673f78b0100c9pu.html</a><br />
最近在使用Eclipse时碰到一个问题，就是由于Eclipse和Tomcat使用的JDK不同，一般我们都会在机器上安装最新版本的JDK,由于Eclipse中也有JDK，但是版本往往都是旧版本的，当时在一个Web Project下编译运行代码，没有问题，后来在同一个Project下继续写了一个例子，但是由于这次写的例子中使用了泛型，但是对于泛型的支持还是在比较新版本的JDK可以编译过去，因此Eclipse自带的JDK是提示错误，所以通过配置Eclipse和Tomcat默认使用相同的JDK，再重新编译Project就没问题了.
<p><font style="font-size: 18px">1.Eclipse配置默认JDK</font></p>
<p><font style="font-size: 18px">&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>通过Eclipse-&gt;Windows-&gt;Preference-&gt;Java-&gt;Installed JREs-&gt;add...将安装的新版JDK（D:\Program Files\Java\jdk1.6.0_07）指定为Eclipse的默认JDK,再通过Eclipse-&gt;Windows-&gt;Preference-&gt;Java-&gt;compiler中将compiler compliance level 设置为6.0,至此Eclipse的JDK配置完成.</font></p>
<p><font style="font-size: 18px">2.在Eclipse中配置Tomcat服务器和Tomcat配置默认JDK</font></p>
<p><font style="font-size: 18px">&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>目前我使用的是MyEclipse,所以配置默认Tomcat在Eclipse-&gt;Windows-&gt;Preference-&gt;MyEclipse Enterprise Workbench-&gt;Servers-&gt;Tomcat 6.x(目前安装的是6.x版本),将Tomcat Server设置为Enable,在tomcat home directory点击Browse..选择Tomcat安装目录,展开...-&gt;Servers-&gt;Tomcat 6.x,选中JDK,点击Tomcat JDK Home...后面Add...添加Tomcat使用的JDK,在JRE Name 中填写jdk1.6.0(名字根据自己的习惯来定义),点击Jre Home Directory后面Browse..选择新版的JDK目录(D:\Program Files\Java\jdk1.6.0_07),至此Tomcat配置默认JDK完成。</font></p>
<p><font style="font-size: 18px">&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 配置Tomcat默认使用JDK的目录也可以通过，在TOMCAT_HOME\bin\下面修改catalina.bat和setclasspath.bat文件:</font></p>
<p><font size="4">&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 1、修改tomcat/bin/catalina.bat，增加 set JAVA_HOME=XXXXXX，其中XXXXXX为jdk 的路径，如c:\j2sdk1_4</font></p>
<p><font size="4">&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>2、修改tomcat/bin/setclasspath.bat，同样增加 set JAVA_HOME=XXXXXX<br />
<br />
本人也由于JDK版本太多,所以这种办法是相当可行!</font></p>
<img src ="http://www.blogjava.net/fiele/aggbug/334284.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2010-10-11 09:45 <a href="http://www.blogjava.net/fiele/archive/2010/10/11/334284.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>webservice错误集锦</title><link>http://www.blogjava.net/fiele/archive/2010/09/30/333570.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Thu, 30 Sep 2010 09:01:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2010/09/30/333570.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/333570.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2010/09/30/333570.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/333570.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/333570.html</trackback:ping><description><![CDATA[在Eclipse中遇到The type XXX cannot be resolved. It is indirectly referenced from required .class files错误.....,查找的解决办法如下:<br />
<br />
一: <br />
<strong><font style="background-color: #ffffff" color="#ff0000">It is indirectly referenced from required .class file</font></strong>
<p>原因：你正要使用的类调用了另一个类，而这个类又调用了其他类，这种关系可能会有好多层。而在这个调用的过程中，某个类所在的包的缺失就会造成以上那个错误。</p>
<p>解决方法：导入缺失的包</p>
<p>二:<br />
<strong><font color="#ff0000">The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object. Fix the build path then try building this project <br />
The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files</font></strong></p>
<p>出現以上訊息的原因是因為你裝了多個版本的jre或jdk的關係。本來Eclipse在建立專案時，會自動參照你的jre路徑，但多個版本就沒辦法了。 <br />
你只能手動建立&#8230; <br />
1. 進入window\preferences\java\Installed JREs <br />
1)按Add <br />
2)輸入JRE Name, 例JDK1.5.0.03 <br />
3)JRE home directory, 選擇安裝的路徑 <br />
4)按OK <br />
2. 進入Project\properties\Java Bulid Path <br />
1)Add library <br />
2)選JRE System Library後按Next <br />
3)選workplace default JRE後按finish...<br />
</p>
<span style="color: red">三,the type org.apache.axiom.soap.SOAPEnvelope cannot be resolved,it is indirectly referenced from required .class files<br />
</span>&nbsp;&nbsp;&nbsp; 当自动生成webservice程序时报的错误,最终解决办法为,把xis2_Codegen_Wizard_1.4.0\lib包全复制到build path下,问题全解决了.<br />
<span style="color: red"><strong>问题:An error occurred while completing process,java.lang.reflect.InvocationTargetException</strong></span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当我用axis自动生成代码时,最后一步报的错,网上通常说的解决办法是<br />
<br />
<p>从AXIS2的LIB库中复制"geronimo-stax-api_1.0_spec-1.0.1.jar"和"backport-util-concurrent-3.1.jar"文件到Codegen的lib目录中,同时修改plugin.xml文件,添加</p>
<p>&lt;library name="lib/geronimo-stax-api_1.0_spec-1.0.1.jar"&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;export name="*"/&gt; <br />
&lt;/library&gt; <br />
&lt;library name="lib/backport-util-concurrent-3.1.jar"&gt; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;export name="*"/&gt; <br />
&lt;/library&gt;</p>
<p>到plugin.xml文件中,保存后重新启动Eclipse即可!</p>
<br />
但本人用这种办法,怎么试也不行,本人用的JDK1.4,自动生成代码插件为:Axis2_Codegen_Wizard_1.3.0<br />
所以怎么试也行不通,最后本来换了个.Axis2_Codegen_Wizard_1.4.0问题终于解决.也整了一天了!<br />
<br />
axis所需要的包:<br />
Axis2_Codegen_Service_1.4.0_plugins 代码自动生成&nbsp;&nbsp; 新建工程时,记得把该文件夹下lib\.jar包全部导入.<br />
<br />
获取XML<br />
JDOM1.0\build\jdom.jar&nbsp;&nbsp; 要加载到lib中<br />
记住,当你用JDK1.4时,所有的包都要下载后坠为1.4的包,不然会出些稀奇古怪的错误.<br />
<br />
webservice操作步骤:<br />
1,把Axis2_Codegen_Service_1.4.0_plugins拷贝到plugin下.<br />
2,打开eclipse,新建文件时选择axis.<br />
3,选择JWDL地址.<br />
4,生成代码,<br />
5,调用:<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TaskServiceStub ts = new TaskServiceStub();<br />
&nbsp;&nbsp;&nbsp; &nbsp;TaskServiceStub.GetTaskList gt = new TaskServiceStub.GetTaskList();<br />
&nbsp;&nbsp;&nbsp; &nbsp;gt.setPassword(usercode);<br />
&nbsp;&nbsp;&nbsp; &nbsp;gt.setUsercode(password);<br />
&nbsp;&nbsp;&nbsp; &nbsp;String sxml = ts.GetTaskList(gt).getGetTaskListResult();<br />
四,<span style="color: red"><span style="color: red">java.net.SocketException: Software caused connection abort: socket write error<br />
&nbsp;&nbsp;&nbsp;&nbsp; at java.net.SocketOutputStream.socketWrite0(Native Method)<br />
&nbsp;&nbsp; &nbsp;at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)<br />
&nbsp;&nbsp;&nbsp; at java.net.SocketOutputStream.write(SocketOutputStream.java:126)<br />
这个问题,我一直找不到答案,希望各位高手能告诉我.<br />
</span></span>
<img src ="http://www.blogjava.net/fiele/aggbug/333570.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2010-09-30 17:01 <a href="http://www.blogjava.net/fiele/archive/2010/09/30/333570.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>webservice相关下载</title><link>http://www.blogjava.net/fiele/archive/2010/09/27/333088.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Mon, 27 Sep 2010 14:11:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2010/09/27/333088.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/333088.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2010/09/27/333088.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/333088.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/333088.html</trackback:ping><description><![CDATA[http://blog.csdn.net/luo_yifan/archive/2010/07/08/5721783.aspx
<img src ="http://www.blogjava.net/fiele/aggbug/333088.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2010-09-27 22:11 <a href="http://www.blogjava.net/fiele/archive/2010/09/27/333088.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>当myeclipse不能编译时</title><link>http://www.blogjava.net/fiele/archive/2010/09/09/331495.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Thu, 09 Sep 2010 04:05:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2010/09/09/331495.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/331495.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2010/09/09/331495.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/331495.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/331495.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; window-&gt;prefrences=&gt;general标签-&gt;workspace选项-&gt;勾选 save automaticallybefore build 勾选后,记得重启哦.<br />
&nbsp;&nbsp; 如果这样还不行,请查看<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; window-&gt;prefrences=&gt;JAVA标签-&gt;complier选项-&gt;error改为警告
<img src ="http://www.blogjava.net/fiele/aggbug/331495.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2010-09-09 12:05 <a href="http://www.blogjava.net/fiele/archive/2010/09/09/331495.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sturts tag 中logic:present 和logic:empty 的区别</title><link>http://www.blogjava.net/fiele/archive/2010/01/12/309099.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Tue, 12 Jan 2010 02:32:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2010/01/12/309099.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/309099.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2010/01/12/309099.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/309099.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/309099.html</trackback:ping><description><![CDATA[<p>logic:present 和 logic:empty他们的用法大致相同，唯一的不同点是：两者在对空字符串的处理上存在着不同。</p>
<p><br />
下面为index.jsp中的代码：</p>
<p>&nbsp;1 &lt;logic:notPresent name="users"&gt;<br />
&nbsp;2&nbsp; notpresent<br />
&nbsp;3 &lt;/logic:notPresent&gt;<br />
&nbsp;4 &lt;logic:notEmpty name="users"&gt;<br />
&nbsp;5&nbsp; notempty<br />
&nbsp;6 &lt;/logic:notEmpty&gt;<br />
&nbsp;7 &lt;logic:empty name="users"&gt;<br />
&nbsp;8&nbsp; empty<br />
&nbsp;9 &lt;/logic:empty&gt;<br />
10 &lt;logic:present name="users"&gt;<br />
11&nbsp; present<br />
12 &lt;/logic:present&gt; </p>
<p>当第一次访问该JSP的时候，由于users没有定义，并且也不在page,request,session,application任何一个作用域中，因此输出的结果为notpresent,empty。</p>
<p>下面我们增加一个action，让他在index.jsp之前执行，然后再跳转到index.jsp中，同时在该action的execute方法中增加如下代码：<br />
&nbsp; <br />
1String userName = "";<br />
2request.setAttribute("users", userName);<br />
3return new ActionForward("/index.jsp");<br />
4 这里将userName保存在request中，key为users，再将请求转发至index.jsp中，但是userName的值为一个空字符串，转发过后，输出的值为：empty,present </p>
<p>这里我们再做一次改动，将action的execute方法中的代码改为：</p>
<p>1String userName = null;<br />
2request.setAttribute("users", userName);<br />
3return new ActionForward("/hello.jsp");<br />
4 不同的是userName 不再为空字符串了，而是null值，当转发至index.jsp后，输出的值为：notpresent,empty 。</p>
<p>对比这几次改动，我们可以得出结论：</p>
<p>对于没有在page,request,session,application中定义或者是没有分配内存空间(null值)的变量，这两个标记处理的方法是一致的，都会认为此变量不存在(notpresent)或者为空(empty)。而对于空字符串""值，他们的处理就不一样了，logic:present 标记认为空字符串仍然是存在的，也就是说，只要是引用了一块内存空间的变量，logic:present 就会返回present ；而logic:empty则认为空字符串仍然为空，由此得出，在logic:empty看来，变量不仅仅要引用一块内存空间，而且该地址空间的值不能为空字符串，否则都认为该变量为空，都会返回empty </p>
<img src ="http://www.blogjava.net/fiele/aggbug/309099.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2010-01-12 10:32 <a href="http://www.blogjava.net/fiele/archive/2010/01/12/309099.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>通过class文件，看版本</title><link>http://www.blogjava.net/fiele/archive/2009/07/16/286955.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Thu, 16 Jul 2009 03:25:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2009/07/16/286955.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/286955.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2009/07/16/286955.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/286955.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/286955.html</trackback:ping><description><![CDATA[<p>import java.io.FileInputStream; </p>
<p>public class ParseClassFile { </p>
<p>&nbsp;&nbsp;&nbsp; public static void main(String args[]) { </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try { </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 读取文件数据,文件是当前目录下的First.class </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FileInputStream fis = new FileInputStream("e:/logout_jsp.class"); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int length = fis.available(); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 文件数据 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] data = new byte[length]; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 读取文件到字节数组 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fis.read(data); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 关闭文件 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fis.close(); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 解析文件数据 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parseFile(data); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception e) { </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(e); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } </p>
<p>&nbsp;&nbsp;&nbsp; } </p>
<p>&nbsp;&nbsp;&nbsp; private static void parseFile(byte[] data) { </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 输出魔数 </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.print("魔数(magic):0x"); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.print(Integer.toHexString(data[0]).substring(6)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .toUpperCase()); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.print(Integer.toHexString(data[1]).substring(6)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .toUpperCase()); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.print(Integer.toHexString(data[2]).substring(6)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .toUpperCase()); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(Integer.toHexString(data[3]).substring(6)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .toUpperCase()); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 主版本号和次版本号码<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int minor_version = (((int) data[4]) &lt;&lt; 8) + data[5]; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int major_version = (((int) data[6]) &lt;&lt; 8) + data[7]; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("版本号(version):" + major_version + "."<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + minor_version); </p>
<p>&nbsp;&nbsp;&nbsp; } </p>
<p>} </p>
<p>&nbsp;</p>
运行：<br />
<p>E:\&gt;javac ParseClassFile.java</p>
<p>E:\&gt;java&nbsp; ParseClassFile<br />
魔数(magic):0xCAFEBABE<br />
版本号(version):48.0<br />
48代表JDK1.5.0</p>
<img src ="http://www.blogjava.net/fiele/aggbug/286955.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2009-07-16 11:25 <a href="http://www.blogjava.net/fiele/archive/2009/07/16/286955.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MYeclipse问题集: class file has wrong version 49.0, should be 48.0</title><link>http://www.blogjava.net/fiele/archive/2009/05/27/278273.html</link><dc:creator>半导体</dc:creator><author>半导体</author><pubDate>Wed, 27 May 2009 14:53:00 GMT</pubDate><guid>http://www.blogjava.net/fiele/archive/2009/05/27/278273.html</guid><wfw:comment>http://www.blogjava.net/fiele/comments/278273.html</wfw:comment><comments>http://www.blogjava.net/fiele/archive/2009/05/27/278273.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fiele/comments/commentRss/278273.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fiele/services/trackbacks/278273.html</trackback:ping><description><![CDATA[<p>有些时候，我们会遇到版本不匹配的问题。如： bad class file: /usr/java/jdk1.5.0_06/jre/lib/rt.jar(java/lang/Object.class)class file has wrong version 49.0, should be 48.0Please remove or make sure it appears in the correct subdirectory of the classpath.这是因为编译环境和运行环境的不一致造成的，比如tomcat5.5和jdk1.5配合的时候，可能就会出现。解决这个问题的方法：copy jdk1.5的lib/tools.jar到tomcat5.5的common/lib/tools.jar，覆盖掉原有文件就可以了。<br />
</p>
<p><br />
Unsupported major.minor version 49.0<br />
&nbsp;</p>
<p>电脑中装了很多JDK的版本，Eclipse中也分别有JDK1.4，JRE1.5,JRE1.6的Project，不同的项目需要经常切换JDK版本，执行某工程的时候突然出现&#8220;Unsupported major.minor version 49.0&#8221;的错误。</p>
<p>出现这样错误的原因是JDK1.5下编译的东西被放到了JDK1.4下执行。
<p>Eclipse中修改方法：
<p>「Window」-&gt;「Preferences」-&gt;「Java」-&gt;「Compiler」-&gt;「JDK Compliance level」-&gt;「1.4」改成1.4就OK了。 <br />
错误：class file has wrong version 49.0, should be 48.0也有可能是这个原因，我就活活被整了三天！<br />
<br />
错误提示：<font style="font-size: 10pt; font-family: 'Tahoma','MS Sans Serif',sans-serif" color="#000000">The&nbsp;type&nbsp;ThreadLocal&nbsp;is&nbsp;not&nbsp;generic;&nbsp;it&nbsp;cannot&nbsp;be&nbsp;parameterized&nbsp;with&nbsp;arguments&nbsp;&nbsp;&lt;Session&gt;</font><br />
另外每个项目下的&#8220;JRE System Library[jdk1.4.2]"如果你看到这个JDK版本跟你不配，那么你就需要在类库右击：configure-&gt;edit library更改你的JRE了，因为JDK1。5以上有的新东东，1.4.5没有，所以就报这个错啦。</p>
<img src ="http://www.blogjava.net/fiele/aggbug/278273.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fiele/" target="_blank">半导体</a> 2009-05-27 22:53 <a href="http://www.blogjava.net/fiele/archive/2009/05/27/278273.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>