﻿<?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-Chris的天地</title><link>http://www.blogjava.net/kuanzou/</link><description>理想，快乐，生活，勇气－坚持就是胜利！</description><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 06:04:50 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 06:04:50 GMT</pubDate><ttl>60</ttl><item><title>固定表格宽度</title><link>http://www.blogjava.net/kuanzou/archive/2008/12/26/248381.html</link><dc:creator>Chris -zk</dc:creator><author>Chris -zk</author><pubDate>Fri, 26 Dec 2008 02:32:00 GMT</pubDate><guid>http://www.blogjava.net/kuanzou/archive/2008/12/26/248381.html</guid><wfw:comment>http://www.blogjava.net/kuanzou/comments/248381.html</wfw:comment><comments>http://www.blogjava.net/kuanzou/archive/2008/12/26/248381.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kuanzou/comments/commentRss/248381.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kuanzou/services/trackbacks/248381.html</trackback:ping><description><![CDATA[<span class="t18" style="font-size: 10pt">在table或div里显示文章的时候，如果是汉字，文章会根据table和div的width属性自动分行，但如果是英文，当单词长度超过table或div宽度的时候，table/div便会被撑开，有时候会造成页面很难看，这时可以给table/div设置如下样式：word-break:break-all;word-wrap:break-word; 单词超长的时候能够自动截断单词分行，避免上述情况的发生。</span>
<img src ="http://www.blogjava.net/kuanzou/aggbug/248381.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kuanzou/" target="_blank">Chris -zk</a> 2008-12-26 10:32 <a href="http://www.blogjava.net/kuanzou/archive/2008/12/26/248381.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>window.print() web打印的一些技巧</title><link>http://www.blogjava.net/kuanzou/archive/2008/12/26/248379.html</link><dc:creator>Chris -zk</dc:creator><author>Chris -zk</author><pubDate>Fri, 26 Dec 2008 02:31:00 GMT</pubDate><guid>http://www.blogjava.net/kuanzou/archive/2008/12/26/248379.html</guid><wfw:comment>http://www.blogjava.net/kuanzou/comments/248379.html</wfw:comment><comments>http://www.blogjava.net/kuanzou/archive/2008/12/26/248379.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kuanzou/comments/commentRss/248379.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kuanzou/services/trackbacks/248379.html</trackback:ping><description><![CDATA[<div class="blog_content" style="font-size: 10pt">
<p><font face="Arial">window.print()&nbsp; 实际上，是浏览器打印功能菜单的一种程序调用。与点击打印功能菜单一样，不能精确分页，不能设置纸型，套打的问题更加无从谈起，只不过，可以让用户不用去点菜单，直接点击网页中的一个按钮，或一个链接里面调用罢了。</font><font face="Arial">事实上，很多用户都是采用这种方式打印，但是这种方式最致命的缺点是不能设置打印参数，比如纸型，页边距，选择打印机等等。 </font></p>
<p><br />
需要指出的是这种方法提供一个打印前和打印后的事件onbeforeprint、onafterprint。可以在打印前的时候重新编辑一些格式，专门送去打印，打印后又处理回来。<br />
function window.onbeforeprint()<br />
{<br />
//将一些不需要打印的隐藏<br />
}<br />
function window.onafterprint()<br />
{<br />
//放开隐藏的元素<br />
}</p>
<p>通过这两个方法，就可以实现页面的部分打印</p>
</div>
<img src ="http://www.blogjava.net/kuanzou/aggbug/248379.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kuanzou/" target="_blank">Chris -zk</a> 2008-12-26 10:31 <a href="http://www.blogjava.net/kuanzou/archive/2008/12/26/248379.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ajax缓存问题</title><link>http://www.blogjava.net/kuanzou/archive/2008/12/26/248377.html</link><dc:creator>Chris -zk</dc:creator><author>Chris -zk</author><pubDate>Fri, 26 Dec 2008 02:29:00 GMT</pubDate><guid>http://www.blogjava.net/kuanzou/archive/2008/12/26/248377.html</guid><wfw:comment>http://www.blogjava.net/kuanzou/comments/248377.html</wfw:comment><comments>http://www.blogjava.net/kuanzou/archive/2008/12/26/248377.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kuanzou/comments/commentRss/248377.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kuanzou/services/trackbacks/248377.html</trackback:ping><description><![CDATA[<p><span style="font-size: 12pt"><span style="font-size: 12pt"><span style="font-size: 10pt">今日在做Ajax的项目，发现一个问题：提交数据后，取不回提交的数据。郁闷多时，仔细分析，发现后台日志没有取数据的消息，前端也没有出现&#8220;正在读入数据&#8221;的提示。因此觉得应该是系统缓存的问题,遂google,解决。方法如下：</span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 8pt"><span style="font-size: 12pt"><span style="font-size: 10pt">方法1：服务器端代码加入response.setHeader("Cache-Control", "no-cache, must-revalidate");</span></span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 8pt"><span style="font-size: 12pt"><span style="font-size: 10pt">方法2：用JavaScript在Ajax提交的时候加入一个随机数作为URL中的一个参数。req.open(url + "&amp;" + Math.random).</span></span></span></span></p>
<p><span style="font-size: 12pt"><span style="font-size: 8pt"><span style="font-size: 12pt"><span style="font-size: 10pt">原因：IE中如果XMLHttpRequest提交的URL与历史一样则使用缓存，根本不向服务器端提交。因此无法取到刚提交的数据。</span></span></span></span></p>
 <img src ="http://www.blogjava.net/kuanzou/aggbug/248377.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kuanzou/" target="_blank">Chris -zk</a> 2008-12-26 10:29 <a href="http://www.blogjava.net/kuanzou/archive/2008/12/26/248377.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jspSmartUpload组件使用(二)</title><link>http://www.blogjava.net/kuanzou/archive/2008/08/13/221799.html</link><dc:creator>Chris -zk</dc:creator><author>Chris -zk</author><pubDate>Wed, 13 Aug 2008 10:43:00 GMT</pubDate><guid>http://www.blogjava.net/kuanzou/archive/2008/08/13/221799.html</guid><wfw:comment>http://www.blogjava.net/kuanzou/comments/221799.html</wfw:comment><comments>http://www.blogjava.net/kuanzou/archive/2008/08/13/221799.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/kuanzou/comments/commentRss/221799.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kuanzou/services/trackbacks/221799.html</trackback:ping><description><![CDATA[<p style="text-indent: 2em"><span style="font-size: 8pt">Files类</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">表示所有上传文件的集合，通过它可以得到上传文件的数目，大小等信息，有以下方法。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">1.getCount()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">取得上传文件的数目，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">FilesObjectName.getCount()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">2.getFile()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">调用方法如下：FilesObjectName.getFile(int index)</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">取得指定位移处的对象File,参数index指定位移，其值在0到FilesObjectName.getCount()-1之间。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">3.getSize()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">获得上传文件的总长度，可用于限制一次性上传数据量的大小，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">FilesObjectName.getSize()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">4.getCollection()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">将所有上传对象以Collection的形式返回，以便其他应用程序引用，浏览上传文件信息。调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">FilesObjectName.getCollection()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">5.getEnumeration()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">将所有上传的对象以Enumeration（枚举）的形式返回，以便其他应用程序浏览，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">FilesObjectName.getEnumeration()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">&nbsp;</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">request类</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">这个类的功能等同于jsp内置对象request,之所以提供这个类，是因为对于文件上传的表单，request对象无法获得其中文件上传项的值。所以必须通过组件上传项提供的request对象来获取，该类提供如下方法：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">1.getParameter()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">获取指定参数的值，当参数不在时，返回空值，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">request.getParameter(String name)</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">name是对应要获得其值的表单项名称</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">2.getParameterValues()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">当一个参数可以有多个值时，用此方法来取其值，它返回的是一个字符串数组，他的调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">request.getParameterValues(String name)</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">参数name表示要获得其值的表单项的名称</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">3.getParameterNames()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">此方法获得request对象中所有参数的名称，用于遍历所有参数，他返回一个枚举型的对象，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">request.getParameterNames()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">&nbsp;</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">smartUpload类</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">这个类完成上传下载的相关工作，有如下用法；</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">1.initialize()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">该方法执行上传下载的初始化工作，必须第一个执行，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">smartUploadObjectName.initialize(PageContext Pagecontext)</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">此方法无返回值，参数pageContext为JSP页面内置对象，即页面上下文；smartUploadObjectName是生成smartUpload类对象的名称。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">2.upload()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">上传文件使用的方法，用于上传文件数据，对于上传操作，第一步执行initialize方法，第二步执行这个方法。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">smartUploadObjectName.upload()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">3.save()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">上传文件使用的方法，将全部上传文件保存到指定目录下，并返回保存的文件个数，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">smartUploadObjectName.save(String destPathName)</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">smartUploadObjectName.save(String destPathName int option)</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">option为保存类选项，这与file类的saveAs方法的选项值一样。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">4.getSize()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">上传文件使用的方法，得到上传文件数据的总长度，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">smartUploadObjectName.getSize()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">5.getFiles()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">上传文件使用的方法，取得全部上传文件，以Files对象形式返回，可以利用Files类的操作方法来获得上传文件的数目等信息，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">smartUploadObjectName.getFiles()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">6.getRequest()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">上传文件使用的方法，取得Request对象，以便由此对象获得上传表单参数的值，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">smartUploadObjectName,getRequest()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">7.setAllowedFilesList()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">上传文件使用的方法，设定允许上传带有指定扩展名的文件，当上传过程中有文件名不允许时，组件将抛出异常，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">smartUploadObjectName.setAllowedFilesList(String allowedFilesList)</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">allowedFilesList为允许上传的文件类型列表，各个扩展名之间用逗号分隔，如果允许使用无扩展名的文件，使用两个逗号即可。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">8.setDeniedFilesList()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">上传文件使用的方法，用于限制上传带有指定扩展名的文件，若有文件扩展名被限制，则上传时组件将抛出异常，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">smartUploadObjectName.setDeniedFilesList(String deniedFilesList)</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">deniedFilesList为限制上传的扩展名列表，中间用都好隔开，两个都好表示不允许上传无扩展名的文件。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">9.setMaxFileSize()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">此方法设定每个文件允许上传的最大长度，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">smartUploadObjectName.setMaxFileSize(long maxFileSize)</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">参数maxFileSize为允许上传的总长度，单位为字节。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">10.setTotalMaxFileSzie()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">上传文件所使用的方法，用于允许设定上传文件的总长度，用于限制一次性上传的数据量的大小，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">smartUploadObjectName.setTotalMaxFileSize(long totalMaxFileSize)</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">11.setContentDisposition()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">下载文件所使用的方法，将数据追加到MIME文件头的CONTENT-DISPOSITION域中，jspSmartUpload组件会在返回下载信息时自动填写MIME文件头的CONTENT-DISPOSITION域，如果用户需要填写，则使用此方法：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">smartUploadObjectName.setContentDispotion(String contentDisposition)</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">当contentDisposition为空时，浏览器将会将下载的文件作为附件提示：另存为，而不是直接打开。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">12.downloadFile()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">下载使用的方法，用于下载文件，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">smartUploadObjectName.downloadFile(String sourceFilePathName)</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">sourceFilePathName为要下载的带目录的文件全名。</span></p>
 <img src ="http://www.blogjava.net/kuanzou/aggbug/221799.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kuanzou/" target="_blank">Chris -zk</a> 2008-08-13 18:43 <a href="http://www.blogjava.net/kuanzou/archive/2008/08/13/221799.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jspSmartUpload组件使用(一)</title><link>http://www.blogjava.net/kuanzou/archive/2008/08/13/221796.html</link><dc:creator>Chris -zk</dc:creator><author>Chris -zk</author><pubDate>Wed, 13 Aug 2008 10:39:00 GMT</pubDate><guid>http://www.blogjava.net/kuanzou/archive/2008/08/13/221796.html</guid><wfw:comment>http://www.blogjava.net/kuanzou/comments/221796.html</wfw:comment><comments>http://www.blogjava.net/kuanzou/archive/2008/08/13/221796.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kuanzou/comments/commentRss/221796.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kuanzou/services/trackbacks/221796.html</trackback:ping><description><![CDATA[<p style="text-indent: 2em"><span style="font-size: 8pt">利用jspSmartUpload组件，在JSP文件中添加三五行Java程序代码就可以实现文件的上传和下载，并可以进行全程控制，不管文件是否在web服务器的根目录下，并且可以将文件上传到数据库中，也可以下载数据库中的文件，但只是相对于mysql数据库，不具有通用性。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">此组件主要有4个类：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">File类，Files类，Request类，SmartUpload类。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">File类：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">这个类包含了上传文件的所有信息，通过它可以得到上传文件的文件名，文件大小，扩展名，以及文件数据等，他主要有以下几种用法：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">1.saveAs()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">用来将文件另存为一个文件，如文件的重命名。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">FileObjectName.saveAs(String destFilePathName)</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">或者FileObjectName.saveAs(String destFilePathName,int saveAsOption)</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">FileObjectName是生成文件对象的名称，destFilePathName是另存的文件名。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">saveAsOption是另存的选项，有PHYSICSL,VIRTUL,AUTO三个选项，第一个表示以操作系统根目录为文件根目录，第二个表示以应用程序的根目录为文件根目录，第三个表示让组件自行决定。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">对于web程序来说，推荐使用第二个，便于移植。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">2.isMissing()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">用于判断用户是否选择了文件，即提交的表单对应表单项是否有值。调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">FileObjectName.isMissing()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">3.getFieldName()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">得到HTML对应的表单项中上传文件的名字。</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">FileObjectName. getFieldName()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">4.getFileName()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">获取文件名，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">FileObjectName. getFileName()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">5.getFilePathName()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">获取文件中带目录的全名，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">FileObjectName. getFilePathName()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">6.getFileExt()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">获取文件的扩展名,调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">FileObjectName. getFileExt()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">7.getSize()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">获取文件的长度，单位是字节，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">FileObjectName.getSize()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">8.getBinaryData()</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">取文件中指定位移处的一个字节，用于检测文件处理，调用方法如下：</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">FileObjectName.getBinaryData(int index)</span></p>
<p style="text-indent: 2em"><span style="font-size: 8pt">index表示位移，值在0和FileObjectName.getSize()-1之间。 </span></p>
  <img src ="http://www.blogjava.net/kuanzou/aggbug/221796.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kuanzou/" target="_blank">Chris -zk</a> 2008-08-13 18:39 <a href="http://www.blogjava.net/kuanzou/archive/2008/08/13/221796.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>上传下载jspSmartUpload jar</title><link>http://www.blogjava.net/kuanzou/archive/2008/06/04/205818.html</link><dc:creator>Chris -zk</dc:creator><author>Chris -zk</author><pubDate>Wed, 04 Jun 2008 07:08:00 GMT</pubDate><guid>http://www.blogjava.net/kuanzou/archive/2008/06/04/205818.html</guid><wfw:comment>http://www.blogjava.net/kuanzou/comments/205818.html</wfw:comment><comments>http://www.blogjava.net/kuanzou/archive/2008/06/04/205818.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/kuanzou/comments/commentRss/205818.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kuanzou/services/trackbacks/205818.html</trackback:ping><description><![CDATA[<span style="font-size: 8pt">下载<a title="jsmartcom_zh_CN.rar" href="http://www.blogjava.net/Files/kuanzou/jsmartcom_zh_CN.rar">jsmartcom_zh_CN.rar</a><br />
上传测试：JSP<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000; background-color: #ffff00">&lt;%</span><span style="color: #000000; background-color: #f5f5f5">@&nbsp;page&nbsp;contentType</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">text/html;charset=GBK</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #ffff00">%&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">File&nbsp;Upload</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">font&nbsp;</span><span style="color: #ff0000">size</span><span style="color: #0000ff">=5&nbsp;</span><span style="color: #ff0000">color</span><span style="color: #0000ff">=#FF0000</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">b</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">文件上传----使用jspsmart&nbsp;upload组件</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">b</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">font</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">br</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">form&nbsp;</span><span style="color: #ff0000">action</span><span style="color: #0000ff">="uploadfile"</span><span style="color: #ff0000">&nbsp;method</span><span style="color: #0000ff">="post"</span><span style="color: #ff0000">&nbsp;enctype</span><span style="color: #0000ff">="multipart/form-data"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">文件名称：&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="file"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="file1"</span><span style="color: #ff0000">&nbsp;size</span><span style="color: #0000ff">="20"</span><span style="color: #ff0000">&nbsp;maxlength</span><span style="color: #0000ff">="80"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">文件名称：&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="file"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="file2"</span><span style="color: #ff0000">&nbsp;size</span><span style="color: #0000ff">="20"</span><span style="color: #ff0000">&nbsp;maxlength</span><span style="color: #0000ff">="80"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">文件名称：&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="file"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="file3"</span><span style="color: #ff0000">&nbsp;size</span><span style="color: #0000ff">="20"</span><span style="color: #ff0000">&nbsp;maxlength</span><span style="color: #0000ff">="80"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">上传路径：&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="text"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="path"</span><span style="color: #ff0000">&nbsp;size</span><span style="color: #0000ff">="30"</span><span style="color: #ff0000">&nbsp;maxlength</span><span style="color: #0000ff">="50"</span><span style="color: #0000ff">&gt;&lt;</span><span style="color: #800000">br</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">附加内容:&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="text"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="other"</span><span style="color: #ff0000">&nbsp;size</span><span style="color: #0000ff">="30"</span><span style="color: #ff0000">&nbsp;maxlength</span><span style="color: #0000ff">="50"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="submit"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="上传"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="reset"</span><span style="color: #ff0000"><br />
&nbsp;value</span><span style="color: #0000ff">="重置"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">form</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">font&nbsp;</span><span style="color: #ff0000">size</span><span style="color: #0000ff">=5&nbsp;</span><span style="color: #ff0000">color</span><span style="color: #0000ff">=#FF0000</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">b</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">文件下载----使用jspsmart&nbsp;upload组件</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">b</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">font</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">br</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">form&nbsp;</span><span style="color: #ff0000">action</span><span style="color: #0000ff">="downloadfile"</span><span style="color: #ff0000">&nbsp;method</span><span style="color: #0000ff">="post"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">下载文件的名称：&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="text"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="downloadFileName"</span><span style="color: #ff0000">&nbsp;size</span><span style="color: #0000ff">="20"</span><span style="color: #ff0000"><br />
&nbsp;maxlength</span><span style="color: #0000ff">="80"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="submit"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="下载"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">form</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span></div>
<p>两个Servlet： ServletUpload 和ServletDownload</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;ServletUpload&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;HttpServlet&nbsp;{<br />
&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;ServletConfig&nbsp;config;<br />
<br />
&nbsp;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;init(ServletConfig&nbsp;config)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;ServletException&nbsp;{<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.config&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;config;<br />
&nbsp;}<br />
&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;doGet(HttpServletRequest&nbsp;request,<br />
&nbsp;&nbsp;&nbsp;HttpServletResponse&nbsp;response)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;ServletException,&nbsp;IOException&nbsp;{<br />
&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;TODO&nbsp;Auto-generated&nbsp;method&nbsp;stub</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;PrintWriter&nbsp;out&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;response.getWriter();<br />
&nbsp;&nbsp;out.println(</span><span style="color: #000000">"</span><span style="color: #000000">&lt;HTML&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;out.println(</span><span style="color: #000000">"</span><span style="color: #000000">&lt;BODY&nbsp;BGCOLOR='white'&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;out.println(</span><span style="color: #000000">"</span><span style="color: #000000">&lt;H1&gt;jspSmartUpload&nbsp;:&nbsp;Servlet&nbsp;Sample&lt;/H1&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;out.println(</span><span style="color: #000000">"</span><span style="color: #000000">&lt;HR&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;变量定义</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;count&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br />
&nbsp;&nbsp;SmartUpload&nbsp;mySmartUpload&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SmartUpload();<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;mySmartUpload.initialize(config,&nbsp;request,&nbsp;response);<br />
&nbsp;&nbsp;&nbsp;mySmartUpload.upload();<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;mySmartUpload.getFiles().getCount();&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;com.jspsmart.upload.File&nbsp;myfile&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;mySmartUpload.getFiles().getFile(i);<br />
&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;fileName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;myfile.getFileName();<br />
&nbsp;&nbsp;&nbsp;&nbsp;count&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;mySmartUpload.save(</span><span style="color: #000000">"</span><span style="color: #000000">/upload</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">count&nbsp;=&nbsp;mySmartUpload.save(null);</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;out.println(count&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;file&nbsp;uploaded.</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;out.println(</span><span style="color: #000000">"</span><span style="color: #000000">Unable&nbsp;to&nbsp;upload&nbsp;the&nbsp;file.&lt;br&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;out.println(</span><span style="color: #000000">"</span><span style="color: #000000">Error&nbsp;:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;e.toString());<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;out.println(</span><span style="color: #000000">"</span><span style="color: #000000">&lt;/BODY&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;out.println(</span><span style="color: #000000">"</span><span style="color: #000000">&lt;/HTML&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;}<br />
&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;doPost(HttpServletRequest&nbsp;request,<br />
&nbsp;&nbsp;&nbsp;HttpServletResponse&nbsp;response)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;ServletException,&nbsp;IOException&nbsp;{<br />
&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;TODO&nbsp;Auto-generated&nbsp;method&nbsp;stub</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;doGet(request,&nbsp;response);<br />
&nbsp;}<br />
}<br />
</span></div>
</span><br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;ServletDownload&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;HttpServlet&nbsp;{<br />
&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;ServletConfig&nbsp;config;<br />
&nbsp;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;init(ServletConfig&nbsp;config)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;ServletException&nbsp;{<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.config&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;config;<br />
&nbsp;}<br />
&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;doGet(HttpServletRequest&nbsp;request,<br />
&nbsp;&nbsp;&nbsp;HttpServletResponse&nbsp;response)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;ServletException,&nbsp;IOException&nbsp;{<br />
&nbsp;&nbsp;String&nbsp;temp_p&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">request.getParameter(</span><span style="color: #000000">"</span><span style="color: #000000">downloadFileName</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">byte</span><span style="color: #000000">[]&nbsp;temp_t</span><span style="color: #000000">=</span><span style="color: #000000">temp_p.getBytes(</span><span style="color: #000000">"</span><span style="color: #000000">ISO8859_1</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;String&nbsp;fileName</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;String(temp_t,</span><span style="color: #000000">"</span><span style="color: #000000">GBK</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;SmartUpload&nbsp;mySmartUpload&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SmartUpload();<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;mySmartUpload.initialize(config,&nbsp;request,&nbsp;response);<br />
&nbsp;&nbsp;&nbsp;mySmartUpload.setContentDisposition(</span><span style="color: #0000ff">null</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;mySmartUpload.downloadFile(</span><span style="color: #000000">"</span><span style="color: #000000">/upload/</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">fileName);<br />
&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;doPost(HttpServletRequest&nbsp;request,<br />
&nbsp;&nbsp;&nbsp;HttpServletResponse&nbsp;response)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;ServletException,&nbsp;IOException&nbsp;{<br />
&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;TODO&nbsp;Auto-generated&nbsp;method&nbsp;stub</span><span style="color: #008000"><br />
</span><span style="color: #000000">&nbsp;&nbsp;doGet(request,&nbsp;response);<br />
&nbsp;}<br />
}<br />
</span></div>
<br />
代码参照http://www.blogjava.net/hijackwust/archive/2007/08/22/138598.html 
<img src ="http://www.blogjava.net/kuanzou/aggbug/205818.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kuanzou/" target="_blank">Chris -zk</a> 2008-06-04 15:08 <a href="http://www.blogjava.net/kuanzou/archive/2008/06/04/205818.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>执行批处理操作</title><link>http://www.blogjava.net/kuanzou/archive/2008/05/30/204047.html</link><dc:creator>Chris -zk</dc:creator><author>Chris -zk</author><pubDate>Fri, 30 May 2008 03:20:00 GMT</pubDate><guid>http://www.blogjava.net/kuanzou/archive/2008/05/30/204047.html</guid><wfw:comment>http://www.blogjava.net/kuanzou/comments/204047.html</wfw:comment><comments>http://www.blogjava.net/kuanzou/archive/2008/05/30/204047.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kuanzou/comments/commentRss/204047.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kuanzou/services/trackbacks/204047.html</trackback:ping><description><![CDATA[<p><span style="font-size: 8pt">为了提高对 SQL Server 数据库进行多项更新时的性能，Microsoft SQL Server 2005 JDBC Driver 提供了将多项更新作为一个工作单元提交的功能，也称作&#8220;批处理&#8221;。</span></p>
<p><a id="ctl00_rs1_mainContentContainer_ctl01" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl01',this);" href="http://msdn.microsoft.com/zh-cn/library/ms378995.aspx"><span style="font-size: 8pt">SQLServerStatement</span></a><span style="font-size: 8pt">、</span><a id="ctl00_rs1_mainContentContainer_ctl02" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl02',this);" href="http://msdn.microsoft.com/zh-cn/library/ms378754.aspx"><span style="font-size: 8pt">SQLServerPreparedStatement</span></a><span style="font-size: 8pt"> 和 </span><a id="ctl00_rs1_mainContentContainer_ctl03" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl03',this);" href="http://msdn.microsoft.com/zh-cn/library/ms378161.aspx"><span style="font-size: 8pt">SQLServerCallableStatement</span></a><span style="font-size: 8pt"> 类都可用于提交批处理更新。</span><a id="ctl00_rs1_mainContentContainer_ctl04" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl04',this);" href="http://msdn.microsoft.com/zh-cn/library/ms378074.aspx"><span style="font-size: 8pt">addBatch</span></a><span style="font-size: 8pt"> 方法可用于添加命令。</span><a id="ctl00_rs1_mainContentContainer_ctl05" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl05',this);" href="http://msdn.microsoft.com/zh-cn/library/ms378481.aspx"><span style="font-size: 8pt">clearBatch</span></a><span style="font-size: 8pt"> 方法可用于清除命令列表。</span><a id="ctl00_rs1_mainContentContainer_ctl06" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl06',this);" href="http://msdn.microsoft.com/zh-cn/library/ms379030.aspx"><span style="font-size: 8pt">executeBatch</span></a><span style="font-size: 8pt"> 方法可用于提交要处理的所有命令。只有返回简单更新计数的数据定义语言 (Data Definition Language, DDL) 和数据操作语言 (Data Manipulation Language, DML) 语句可作为批处理的一部分运行。</span></p>
<p><span style="font-size: 8pt"><strong>executeBatch</strong> 方法返回一个由 <strong>int</strong> 值组成的数组，这些值对应于每个命令的更新计数。如果其中一条命令失败，则引发 <strong>BatchUpdateException</strong>，此时应使用 <strong>BatchUpdateException</strong> 类的 <strong>getUpdateCounts</strong> 方法检索更新计数数组。如果一条命令失败，则驱动程序会继续处理剩余的命令。但是，如果一条命令有语法错误，批处理中的语句就会失败。</span></p>
<div class="alert">
<table width="100%">
    <tbody>
        <tr>
            <th align="left"><span style="font-size: 8pt"><img class="note" alt="Note" src="http://msdn.microsoft.com/zh-cn/library/ms378070.note(zh-cn,SQL.90).gif" />注意：</span></th>
        </tr>
        <tr>
            <td>
            <p><span style="font-size: 8pt">如果不是必须使用更新计数，则可以先向 SQL Server 发送一条 SET NOCOUNT ON 语句。这将减少网络流量并同时提高应用程序的性能。</span></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<p><span style="font-size: 8pt">作为实例，在 SQL Server 2005 AdventureWorks 示例数据库中创建下表：</span></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #0000ff">CREATE</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">TABLE</span><span style="color: #000000">&nbsp;TestTable&nbsp;<br />
&nbsp;&nbsp;&nbsp;(Col1&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">IDENTITY</span><span style="color: #000000">,&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Col2&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">50</span><span style="color: #000000">),&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Col3&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">);</span></div>
<p style="font-size: 8pt">在下面的实例中，将向此函数传递 AdventureWorks 示例数据库的打开连接，并使用 <strong>addBatch</strong> 方法创建要执行的语句，然后调用 <strong>executeBatch</strong> 方法向数据库提交批处理。</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;executeBatchUpdate(Connection&nbsp;con)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Statement&nbsp;stmt&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;con.createStatement();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stmt.addBatch(</span><span style="color: #000000">"</span><span style="color: #000000">INSERT&nbsp;INTO&nbsp;TestTable&nbsp;(Col2,&nbsp;Col3)&nbsp;VALUES&nbsp;('X',&nbsp;100)</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stmt.addBatch(</span><span style="color: #000000">"</span><span style="color: #000000">INSERT&nbsp;INTO&nbsp;TestTable&nbsp;(Col2,&nbsp;Col3)&nbsp;VALUES&nbsp;('Y',&nbsp;200)</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stmt.addBatch(</span><span style="color: #000000">"</span><span style="color: #000000">INSERT&nbsp;INTO&nbsp;TestTable&nbsp;(Col2,&nbsp;Col3)&nbsp;VALUES&nbsp;('Z',&nbsp;300)</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;updateCounts&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;stmt.executeBatch();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stmt.close();<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;}<br />
}</span></div>
<img src ="http://www.blogjava.net/kuanzou/aggbug/204047.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kuanzou/" target="_blank">Chris -zk</a> 2008-05-30 11:20 <a href="http://www.blogjava.net/kuanzou/archive/2008/05/30/204047.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用带有返回状态的存储过程</title><link>http://www.blogjava.net/kuanzou/archive/2008/05/29/203889.html</link><dc:creator>Chris -zk</dc:creator><author>Chris -zk</author><pubDate>Thu, 29 May 2008 09:23:00 GMT</pubDate><guid>http://www.blogjava.net/kuanzou/archive/2008/05/29/203889.html</guid><wfw:comment>http://www.blogjava.net/kuanzou/comments/203889.html</wfw:comment><comments>http://www.blogjava.net/kuanzou/archive/2008/05/29/203889.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kuanzou/comments/commentRss/203889.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kuanzou/services/trackbacks/203889.html</trackback:ping><description><![CDATA[<p style="font-size: 8pt">您可以调用的 SQL Server 存储过程是一个返回状态或结果参数的存储过程。这通常用于指示存储过程执行成功还是失败。可以使用 Microsoft SQL Server 2005 JDBC Driver 提供的 <a id="ctl00_rs1_mainContentContainer_ctl01" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl01',this);" href="http://msdn.microsoft.com/zh-cn/library/ms378161.aspx">SQLServerCallableStatement</a> 类，调用此类存储过程并处理其返回的数据。</p>
<p><span style="font-size: 8pt">使用 JDBC 驱动程序调用这种存储过程时，必须结合 </span><a id="ctl00_rs1_mainContentContainer_ctl02" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl02',this);" href="http://msdn.microsoft.com/zh-cn/library/ms378730.aspx"><span style="font-size: 8pt">SQLServerConnection</span></a><span style="font-size: 8pt"> 类的 </span><a id="ctl00_rs1_mainContentContainer_ctl03" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl03',this);" href="http://msdn.microsoft.com/zh-cn/library/ms378136.aspx"><span style="font-size: 8pt">prepareCall</span></a><span style="font-size: 8pt"> 方法使用 <tt>call</tt> SQL 转义序列。返回状态参数的 <tt>call</tt> 转义序列的语法如下所示：</span></p>
<p><span style="font-size: 8pt"><tt>{[?=]call procedure-name[([parameter][,[parameter]]...)]}</tt> </span></p>
<div class="alert">
<table width="100%">
    <tbody>
        <tr>
            <th align="left"><span style="font-size: 8pt"><img class="note" alt="Note" src="http://msdn.microsoft.com/zh-cn/library/ms378371.note(zh-cn,SQL.90).gif" />注意：</span></th>
        </tr>
        <tr>
            <td>
            <p><span style="font-size: 8pt">有关 SQL 转义序列的详细信息，请参阅</span><a id="ctl00_rs1_mainContentContainer_ctl04" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl04',this);" href="http://msdn.microsoft.com/zh-cn/library/ms378045.aspx"><span style="font-size: 8pt">使用 SQL 转义序列</span></a><span style="font-size: 8pt">。</span></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<p><span style="font-size: 8pt">构造<tt> call </tt>转义序列时，请使用 ?（问号）字符来指定返回状态参数。此字符充当要从该存储过程返回的参数值的占位符。要为返回状态参数指定值，必须在执行存储过程前使用 <strong>SQLServerCallableStatement</strong> 类的 </span><a id="ctl00_rs1_mainContentContainer_ctl05" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl05',this);" href="http://msdn.microsoft.com/zh-cn/library/ms378596.aspx"><span style="font-size: 8pt">registerOutParameter</span></a><span style="font-size: 8pt"> 方法指定参数的数据类型。</span></p>
<div class="alert">
<table width="100%">
    <tbody>
        <tr>
            <th align="left"><span style="font-size: 8pt"><img class="note" alt="Note" src="http://msdn.microsoft.com/zh-cn/library/ms378371.note(zh-cn,SQL.90).gif" />注意：</span></th>
        </tr>
        <tr>
            <td>
            <p><span style="font-size: 8pt">当 JDBC 驱动程序与 SQL Server 数据库一起使用时，<strong>registerOutParameter</strong> 方法中为返回状态参数指定的值将始终为整数，您可通过使用 java.sql.Types.INTEGER 数据类型进行指定。</span></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<p><span style="font-size: 8pt">此外，向 <strong>registerOutParameter</strong> 方法传递返回状态参数值时，不仅需要指定要使用的参数的数据类型，还必须指定参数在存储过程中的序数位置。对于返回状态参数，其序数位置始终为 1，这是因为它始终是调用存储过程时的第一个参数。尽管 <strong>SQLServerCallableStatement</strong> 类支持使用参数的名称来指示特定参数，但您只能对返回状态参数使用参数的序号位置编号。</span></p>
<p><span style="font-size: 8pt">作为实例，在 SQL Server 2005 AdventureWorks 示例数据库中创建以下存储过程：</span><br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">CREATE</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">PROCEDURE</span><span style="color: #000000">&nbsp;CheckContactCity<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;(</span><span style="color: #008000">@cityName</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">CHAR</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">50</span><span style="color: #000000">))<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">AS</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">BEGIN</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">IF</span><span style="color: #000000">&nbsp;((</span><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">COUNT</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">FROM</span><span style="color: #000000">&nbsp;Person.Address<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">WHERE</span><span style="color: #000000">&nbsp;City&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@cityName</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">RETURN</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">ELSE</span><span style="color: #000000"><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">RETURN</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">END</span></div>
<p><span style="font-size: 8pt">该存储过程返回状态值 1 或 0，这取决于是否能在表 Person.Address 中找到 cityName 参数指定的城市。</span></p>
<p><span style="font-size: 8pt">在下面的实例中，将向此函数传递 AdventureWorks 示例数据库的打开连接，然后使用 </span><a id="ctl00_rs1_mainContentContainer_ctl07" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl07',this);" href="http://msdn.microsoft.com/zh-cn/library/ms378955.aspx"><span style="font-size: 8pt">execute</span></a><span style="font-size: 8pt"> 方法调用 CheckContactCity 存储过程：</span></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img id="Codehighlighter1_58_420_Open_Image" onclick="this.style.display='none'; Codehighlighter1_58_420_Open_Text.style.display='none'; Codehighlighter1_58_420_Closed_Image.style.display='inline'; Codehighlighter1_58_420_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_58_420_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_58_420_Closed_Text.style.display='none'; Codehighlighter1_58_420_Open_Image.style.display='inline'; Codehighlighter1_58_420_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;executeStoredProcedure(Connection&nbsp;con)&nbsp;</span><span id="Codehighlighter1_58_420_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_58_420_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img id="Codehighlighter1_67_343_Open_Image" onclick="this.style.display='none'; Codehighlighter1_67_343_Open_Text.style.display='none'; Codehighlighter1_67_343_Closed_Image.style.display='inline'; Codehighlighter1_67_343_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_67_343_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_67_343_Closed_Text.style.display='none'; Codehighlighter1_67_343_Open_Image.style.display='inline'; Codehighlighter1_67_343_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_67_343_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_67_343_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CallableStatement&nbsp;cstmt&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;con.prepareCall(</span><span style="color: #000000">"</span><span style="color: #000000">{?&nbsp;=&nbsp;call&nbsp;dbo.CheckContactCity(?)}</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cstmt.registerOutParameter(</span><span style="color: #000000">1</span><span style="color: #000000">,&nbsp;java.sql.Types.INTEGER);<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cstmt.setString(</span><span style="color: #000000">2</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">Atlanta</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cstmt.execute();<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">RETURN&nbsp;STATUS:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;cstmt.getInt(</span><span style="color: #000000">1</span><span style="color: #000000">));<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;cstmt.close();<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img id="Codehighlighter1_386_418_Open_Image" onclick="this.style.display='none'; Codehighlighter1_386_418_Open_Text.style.display='none'; Codehighlighter1_386_418_Closed_Image.style.display='inline'; Codehighlighter1_386_418_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_386_418_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_386_418_Closed_Text.style.display='none'; Codehighlighter1_386_418_Open_Image.style.display='inline'; Codehighlighter1_386_418_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)&nbsp;</span><span id="Codehighlighter1_386_418_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_386_418_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<br />
<img src ="http://www.blogjava.net/kuanzou/aggbug/203889.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kuanzou/" target="_blank">Chris -zk</a> 2008-05-29 17:23 <a href="http://www.blogjava.net/kuanzou/archive/2008/05/29/203889.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>