﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Java-fly-文章分类-Java --j2ee</title><link>http://www.blogjava.net/yusiwei/category/39495.html</link><description>Where there is a will,there is a way!</description><language>zh-cn</language><lastBuildDate>Tue, 04 May 2010 06:30:16 GMT</lastBuildDate><pubDate>Tue, 04 May 2010 06:30:16 GMT</pubDate><ttl>60</ttl><item><title>eatj.com提供免费jsp空间</title><link>http://www.blogjava.net/yusiwei/articles/319473.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Tue, 27 Apr 2010 05:17:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/319473.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/319473.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/319473.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/319473.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/319473.html</trackback:ping><description><![CDATA[<span  style="border-collapse: collapse; color: #444444; font-family: 微软雅黑, Tahoma, Verdana, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 19px; ">
<div id="threadtitle" style="word-wrap: break-word; line-height: normal; margin-bottom: 8px; ">
<h1 style="word-wrap: break-word; margin-top: 8px; margin-right: 0px; margin-bottom: 8px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1.17em; line-height: normal; ">eatj.com提供免费jsp空间</h1>
</div>
<div class="t_msgfontfix" style="word-wrap: break-word; line-height: normal; min-height: 244px; ">
<table cellspacing="0" cellpadding="0" style="word-wrap: break-word; empty-cells: show; border-collapse: collapse; line-height: normal; width: 693px; table-layout: fixed; margin-left: 1px; ">
    <tbody style="word-wrap: break-word; line-height: normal; ">
        <tr style="word-wrap: break-word; line-height: normal; ">
            <td class="t_msgfont" id="postmessage_389" style="word-wrap: break-word; color: #444444; font: normal normal normal 12px/1.6em 微软雅黑, Tahoma, Verdana, Helvetica, Arial, sans-serif; line-height: 1.6em; font-size: 14px; "><a href="http://www.eatj.com/" target="_blank" style="word-wrap: break-word; text-decoration: none; color: #0099cc; line-height: normal; ">http://www.eatj.com</a></td>
        </tr>
    </tbody>
</table>
</div>
</span>
<img src ="http://www.blogjava.net/yusiwei/aggbug/319473.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2010-04-27 13:17 <a href="http://www.blogjava.net/yusiwei/articles/319473.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MyEclipse 快捷键</title><link>http://www.blogjava.net/yusiwei/articles/317341.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Fri, 02 Apr 2010 10:39:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/317341.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/317341.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/317341.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/317341.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/317341.html</trackback:ping><description><![CDATA[<div><br />
</div>
<div><br />
</div>
<div>关键字: myeclipse 快捷键</div>
<div>MyEclipse 快捷键</div>
<div>（1）Ctrl+M切换窗口的大小</div>
<div>（2）Ctrl+Q跳到最后一次的编辑处</div>
<div>（3）F2当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时Tooltip还会显示即Show Tooltip Description。</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;F3跳到声明或定义的地方。</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;F5单步调试进入函数内部。</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;F6单步调试不进入函数内部，如果装了金山词霸2006则要把&#8220;取词开关&#8221;的快捷键改成其他的。</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;F7由函数内部返回到调用处。</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;F8一直执行到下一个断点。</div>
<div>（4）Ctrl+Pg~对于XML文件是切换代码和图示窗口</div>
<div>（5）Ctrl+Alt+I看Java文件中变量的相关信息</div>
<div>（6）Ctrl+PgUp对于代码窗口是打开&#8220;Show List&#8221;下拉框，在此下拉框里显示有最近曾打开的文件</div>
<div>（7）Ctrl+/ 在代码窗口中是这种//~注释。</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Ctrl+Shift+/ 在代码窗口中是这种/*~*/注释，在JSP文件窗口中是&lt;!--~--&gt;。</div>
<div>（8）Alt+Shift+O(或点击工具栏中的Toggle Mark Occurrences按钮) 当点击某个标记时可使本页面中其他地方的此标记黄色凸显，并且窗口的右边框会出现白色的方块，点击此方块会跳到此标记处。</div>
<div>（9）右击窗口的左边框即加断点的地方选Show Line Numbers可以加行号。</div>
<div>（10）Ctrl+I格式化激活的元素Format Active Elements。</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Ctrl+Shift+F格式化文件Format Document。</div>
<div>（11）Ctrl+S保存当前文件。</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Ctrl+Shift+S保存所有未保存的文件。</div>
<div>（12）Ctrl+Shift+M(先把光标放在需导入包的类名上) 作用是加Import语句。</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Ctrl+Shift+O作用是缺少的Import语句被加入，多余的Import语句被删除。</div>
<div>（13）Ctrl+Space提示键入内容即Content Assist，此时要将输入法中Chinese(Simplified)IME-Ime/Nonlme Toggle的快捷键（用于切换英文和其他文字）改成其他的。</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Ctrl+Shift+Space提示信息即Context Information。</div>
<div>（14）双击窗口的左边框可以加断点。</div>
<div>（15）Ctrl+D删除当前行。</div>
<div><br />
</div>
<div>－－－待续</div>
<div><br />
</div>
<div>[以下为转载]</div>
<div>Eclipse快捷键大全</div>
<div>Ctrl+1 快速修复(最经典的快捷键,就不用多说了)</div>
<div>Ctrl+D: 删除当前行&nbsp;</div>
<div>Ctrl+Alt+&#8595; 复制当前行到下一行(复制增加)</div>
<div>Ctrl+Alt+&#8593; 复制当前行到上一行(复制增加)</div>
<div>Alt+&#8595; 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)</div>
<div>Alt+&#8593; 当前行和上面一行交互位置(同上)</div>
<div>Alt+&#8592; 前一个编辑的页面</div>
<div>Alt+&#8594; 下一个编辑的页面(当然是针对上面那条来说了)</div>
<div>Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性</div>
<div>Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)</div>
<div>Shift+Ctrl+Enter 在当前行插入空行(原理同上条)</div>
<div>Ctrl+Q 定位到最后编辑的地方</div>
<div>Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)</div>
<div>Ctrl+M 最大化当前的Edit或View (再按则反之)</div>
<div>Ctrl+/ 注释当前行,再按则取消注释</div>
<div>Ctrl+O 快速显示 OutLine</div>
<div>Ctrl+T 快速显示当前类的继承结构</div>
<div>Ctrl+W 关闭当前Editer</div>
<div>Ctrl+K 参照选中的Word快速定位到下一个</div>
<div>Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)</div>
<div>Ctrl+/(小键盘) 折叠当前类中的所有代码</div>
<div>Ctrl+&#215;(小键盘) 展开当前类中的所有代码</div>
<div>Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)</div>
<div>Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)</div>
<div>Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)</div>
<div>Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)</div>
<div>Ctrl+Shift+F4 关闭所有打开的Editer</div>
<div>Ctrl+Shift+X 把当前选中的文本全部变味小写</div>
<div>Ctrl+Shift+Y 把当前选中的文本全部变为小写</div>
<div>Ctrl+Shift+F 格式化当前代码</div>
<div>Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)</div>
<div>下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)</div>
<div>Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)</div>
<div>Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)</div>
<div>Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)</div>
<div>Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)</div>
<div>Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)</div>
<div>Alt+Shift+I 合并变量(可能这样说有点不妥Inline)</div>
<div>Alt+Shift+V 移动函数和变量(不怎么常用)</div>
<div>Alt+Shift+Z 重构的后悔药(Undo)&nbsp;</div>
<img src ="http://www.blogjava.net/yusiwei/aggbug/317341.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2010-04-02 18:39 <a href="http://www.blogjava.net/yusiwei/articles/317341.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在线java教程</title><link>http://www.blogjava.net/yusiwei/articles/317340.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Fri, 02 Apr 2010 10:36:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/317340.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/317340.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/317340.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/317340.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/317340.html</trackback:ping><description><![CDATA[http://www.boobooke.com/bbs/
<img src ="http://www.blogjava.net/yusiwei/aggbug/317340.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2010-04-02 18:36 <a href="http://www.blogjava.net/yusiwei/articles/317340.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序员101：如何自学编程</title><link>http://www.blogjava.net/yusiwei/articles/315984.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Fri, 19 Mar 2010 15:29:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/315984.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/315984.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/315984.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/315984.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/315984.html</trackback:ping><description><![CDATA[<p>程序员101：如何自学编程<br />
</p>
<p><br />
你也许曾经想过要学习如何开发软件或只是想临时的写出一个脚本但不知道如何入手。 幸运的是，现在的互联网上到处都有丰富的学习资源让你能在短时间里成为一个程序员。</p>
<p>因为互联网的出现，使程序员们可以通过它讨论软件开发技术，发布学习指导，以及共享代码实例让其他人可以在线学习。 如果你感兴趣如何才能成为一个程序员，从网上这些大量的优秀的培训资料、学习向导入手将会是个不错的开始。</p>
<p>首要之首：不要急于选择一种语言</p>
<p>新手们有一个常见的错误就是犹豫于判断哪种编程语言是做好的、最该先学的。 我们有很多的选择，但你不能说那种语言最好。 我们应该理解：说到底，什么语言并不重要。 重要的是理解数据结构、控制逻辑和设计模式。任何一种语言甚至一种简单的脚本语言都会具有所有编程语言都共有的各种特征，也就是说各种语言是贯通的。 我正在攻读我的计算机学学位，我编程使用Pascal，汇编，和C语言，事实上我从来没有把它当成职业以求获得回报。 我一直在自学编程，工作上用不到它，我使用现有的知识，参考各种文档和书本，学习它们的用法。 因此，不要急于选择何种编程语言。 找出你想要开发的东西，使用一种能够完成这项任务的语言，这就可以了。</p>
<p>根据各种开发平台的不同，有很多不同的软件开发形式可供你选择：从网站应用到桌面软件到智能手机软件到命令行脚本工具。 这篇文章里，我将重点介绍一些很受欢迎的入门教程和资源，它们能帮助你学会如何在各种主流的平台上编程开发。 我先假设你是一个悟性很强的读者，但对于新手，当我谈论程序代码时还是要按照入门级的水平。 因为即使是你自己看一篇编程入门手册，如果发现都能理解时，心情自然会很高兴，这样利于你进一步学习。</p>
<p>桌面脚本</p>
<p>想要动手在Windows里或苹果系统里编程，最简单的方法是从一种脚本语言或宏语言开始，例如AutoHotkey (Windows) 或 Automator (苹果系统)。 如今一些硬件程序员冲着他们的屏幕大喊大叫，说AHK和AppleScript并不是真正的编程语言。 也许他们说的是对的技术上，这些种类的语言只能做一些上层的编程。 但是对于那些只是想来脱盲、想在他们的电脑里实现一些能自动运行的程序的新手来说，这些语言会是一个绝妙的入门入口而且你会吃惊于它们丰富的功能。</p>
<p>例如，大家都喜爱的Texter就是Adam使用AutoHotkey开发的能独立运行的Windows应用程序，所以说这种脚本语言远不是只能开发小规模脚本软件。 如果你想从AutoHotkey入手，可以参考Adam的指导： how to turn any action into a keyboard shortcut using AutoHotkey（然后，你可以下载 Texter源代码 看看这个功能齐全的使用AHK开发的Windows应用程序的内部结构)。</p>
<p>Web开发</p>
<p>除了把自己约束在特定的编程语言和特定的操作系统上，你还可以在浏览器里开发你的杀手锏程序，让它在互联网上运行，这就是webapp。 欢迎来到奇妙的web编程世界。</p>
<p>HTML 和 CSS：开发网站，你第一件要知道的事情就是HTML(网页就是由它组成的)和CSS(一种让外观更好看的样式标记)。 HTML 和 CSS 并不是编程语言它们只是页面的结构和样式信息。 然而，在开始开发web应用程序之前你必须要学会如何手工的编写简单的HTML和CSS，web页面是任何webapp的前端显示部分。 这个 HTML 指导 是你入手的好地方。</p>
<p>JavaScript:当你可以通过HTML和CSS构建一个静态页面后，事情就开始变得有趣了因为到了该学JavaScript的时候了。 JavaScript是一种web浏览器上的编程语言，它的魔力就是能在页面里制造一些动态效果。 JavaScript可以做bookmarklets, Greasemonkey 脚本, 和 Ajax, 所以它是web上各种好东西的关于因素。 学习JavaScript从这里开。</p>
<p>服务器端脚本：一旦你学会了网页里的知识，你就要开始对它添加一些动态服务器操作为了实现这些，你需要把目光转移到服务器端脚本语言，例如PHP, Python, Perl, 或 Ruby。 举个例子，如果想要制作一个网页形式的联系方式表单，根据用户的输入发送邮件，你就需要使用服务器端脚本来实现。 像PHP这样的脚本语言可以让你跟web服务器上的数据库进行沟通，所以如果你想搭建一个用户可以登录注册的网站，这样的语言正是你需要的。 Webmonkey 是一个优秀的web开发资源网站，里面有大量的各种web编程语言的指导手册。 阅读一下他们的 PHP 初学者指南。 当你感觉差不多了的时候，看看WebMonkeys PHP and MySQL tutorial 学习如何使用PHP跟数据库交互。 网上最好的要数PHP语言官方的在线文档和函数参考了。 每个知识点上 (例如strlen function这个)都在后面列出来用户的评论注释，这些对于文档的本身是非常有价值的。 （我很喜欢PHP，但还有很多其他种服务器端的脚本语言你们都可以选择。)</p>
<p>Web框架：过去数年里，web开发人员在开发动态网站的过程中不得不一遍又一遍的针对重复遇到的问题写出重复的代码。 为了避免这种每次开发一些新网站都会重复劳动一次的问题，一些程序员动手搭建了一些框架，让框架替我们完成重复性的工作。 非常流行的 Ruby on Rails 框架，作为一个例子，它利用Ruby编程语言，为我们提供了一个专门面向web的架构，普通的web应用程序都能使用它来完成。 事实上，Adam使用Rails开发了他的第一个正式的（而且是叹为观止的！）web应用程序，MixTape.me。这就是 他的如何在没有任何经验的情况下搭建一个网站。还有一些其他的web开发框架包括 CakePHP (针对 PHP 编程者), Django (针对 Python 编程中), 以及 jQuery (针对 JavaScript).</p>
<p>Web APIs: API (应用层序编程接口) 是指不同的软件之间相互交换的程序途径。 例如，如果你想在你的网站上放一个动态的地图，你可以使用Google Map，而不需要开发自己的地图。 The Google Maps API 可以轻松的让你通过JavaScript在程序中引入一个地图到你的页面上。 几乎所有的现代的你所知道的和喜爱的web服务都提供了API，通过这些API你可以获取到他们的数据和小工具，在你的应用程序里就可以使用这些交互过来的东西了，例如Twitter, Facebook, Google Docs, Google Maps, 这个列表远不止这些。 通过API把其他web应用集成到你的web应用里是现在富web开发的前沿地带。 每个优秀的主流的web服务API都附带有完整的文档和一些快速入手的指导(例如，这个就是 Twitter的)。 疯狂吧。</p>
<p>命令行脚本</p>
<p>如果你想开发一个程序，让它读取文字或文件、输入输出一些有用的东西，那么，命令行脚本语言将是个不错的选择。 然而它并不像web应用程序和桌面应用程序那样有吸引力和好看的外观，但是作为快速开发的脚本语言，你却不能忽视它们。</p>
<p>很多的在linux平台上运行的web脚本同样能以命令行模式运行，例如Perl，Python和PHP，所以如果你学会了使用它们，你将能在两种环境中使用它们。 我的学习道路一直没离开Peal太远，我自学Python使用的是这本优秀的在线免费书Dive into Python。</p>
<p>&nbsp;</p>
<p>如果成为一个Unix高手也是你学习的目标，那么你绝对要精通bash这个脚本语言。 Bash是Unix和Linux环境下的一种命令行脚本语言，它能够为你做所以的事情：从自动备份数据库脚本到功能齐全的用户交互程序。 起初我没有任何使用bash脚本的经验，但最终我用bash开发了一个全功能的个人代办任务管理器： Todo.txt CLI。</p>
<p>插件（Add-ons）</p>
<p>如今的web应用程序和浏览器都可以通过一些扩展软件来丰富自己的功能。 由于一些现有的软件，例如Firefox、WordPress越来越受到开发人员的关注，插件的开发也日益流行，人们都在说But if only it could do THIS</p>
<p>只要你掌握了HTML，JavaScript和CSS，你就可以在任何的浏览器里开发你想要的很多东西。 Bookmarklets, Greasemonkey user scripts, 和 Stylish user styles这些软件都是用的更普通页面一样的语言写成的, 这几个东西都值得你去研究一些。</p>
<p>更高级的浏览器扩展程序，例如Firefox的扩展，它们可以帮助你很多。 开发Firefox的扩展，举个例子，需要你精通JavaScript和XML（一种标记语言，类似HTML，但具有更严格的格式）。 早在2007年我就写下来 how to build a Firefox extension, 这是我在笨手笨脚的研究网上的一些学习资料后获得的成果。</p>
<p>很多免费的、受欢迎的web应用程序都提供了扩展框架，例如WordPress 和 MediaWiki。 这些应用程序都是用PHP写成的，所以只有对PHP熟悉你才能做这些事情。 这个就是 如何编写WordPress插件。 而想驾驭Google Wave前沿技术的开发人员可以从使用HTML, JavaScript, Java, 和 Python 写小组件和小工具开始。 我写的第一个Wave bot是跟着这个 一个下午时间的快速入门指导开始的。</p>
<p>开发桌面上的Web应用程序</p>
<p>学习编程最好的结果是你在一个环境下学的东西可以应用到另外的环境中。 先学习开发web应用程序的好处就是我们有一些方法可以让web应用程序直接在桌面上运行。 例如， Adobe AIR 是一个跨平台的即时运行平台，它能让你编写的程序运行在任何装有AIR的操作系统的桌面上。 AIR应用程序都是由HTML, Flash, 或 Flex 写成的，所以它能让你的web程序在桌面环境中运行。 AIR是开发部署桌面应用程序的一个优秀的选择，就像我们提到过的 10个让你值得去安装AIR的应用程序。</p>
<p>移动应用开发</p>
<p>能在iPhone或者Android智能手机上运行的手机应用程序的开发如今正呈现井喷之势，所以你也可以梦想一下如何在iTunes应用商店里通过你的天才程序大赚一笔。 但是，作为一个编码新手，直接奔向移动开发所经历的学习曲线可能会很陡，因为它需要你熟悉高级的编程语言，例如Java和Objective C。 然而，你当然应该看看iPhone 和 Android 编程究竟是什么样子的。 阅读这个 简单的iPhone应用开发例子 可以初步认识一下iPhone程序的开发过程。 Android 程序都是由Java写成的，这有一个 简单的视频教程教你如何开发第一个Hello Android程序（注：可能需要代理才能看这个视频）。</p>
<p>耐心，刻苦，尝试，失败</p>
<p>好的程序员都有一个不达目的誓不罢休的品质，他们会惊喜于通过长期推敲和失败换来的一点成绩。 学会编程会有很好的回报的，但是学习的过程可能会是饱受挫折和孤独的。 如果有可能，最好找个伴一起陪你做这件事。 想精通编程，这和其他事情一样，需要坚持，反复尝试，获得更多的经验。</p>
<p>这篇文章里的内容就是对那些想通过自我研究达到学会编程目的的新手们的一些重要建议。 编程老手们：我有什么遗漏吗？ 不论你的水平如何，请留下你的想法。</p>
<p>　　　　　　　　　　　　　　　</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/yusiwei/aggbug/315984.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2010-03-19 23:29 <a href="http://www.blogjava.net/yusiwei/articles/315984.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>clock</title><link>http://www.blogjava.net/yusiwei/articles/315980.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Fri, 19 Mar 2010 15:18:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/315980.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/315980.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/315980.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/315980.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/315980.html</trackback:ping><description><![CDATA[<p>package lab.sodino.clock; <br />
public class ClockTime <br />
&nbsp;{ public static long MSEL_PER_SECOND = 1000; <br />
&nbsp;&nbsp;public static long MSEL_PER_MINUTE = 60 * 1000; <br />
&nbsp;&nbsp;public static long MSEL_PER_HOUR = 60 * MSEL_PER_MINUTE; <br />
&nbsp;&nbsp;public static long MSEL_PER_DAY = 24 * MSEL_PER_HOUR; <br />
&nbsp;&nbsp;public static long MSEL_PER_YEAR = MSEL_PER_DAY * 365; <br />
&nbsp;&nbsp;private long hour; <br />
&nbsp;&nbsp;private long minute; <br />
&nbsp;&nbsp;private long second; <br />
&nbsp;&nbsp;private long msel;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public ClockTime() <br />
&nbsp;&nbsp;&nbsp;{ } </p>
<p>&nbsp;&nbsp;public void update(long currentMsel, long diff)<br />
&nbsp;&nbsp; { long residualDayMsel = (currentMsel + diff) % MSEL_PER_DAY; <br />
&nbsp;&nbsp;// System.out.println(residualDayMsel); <br />
&nbsp;&nbsp;long hourNum = residualDayMsel / MSEL_PER_HOUR; <br />
&nbsp;&nbsp;hour = hourNum; <br />
&nbsp;&nbsp;long residualHourMsel = currentMsel % MSEL_PER_HOUR; <br />
&nbsp;&nbsp;long minuteNum = residualHourMsel / MSEL_PER_MINUTE; <br />
&nbsp;&nbsp;minute = minuteNum;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; long residualMinMsel = currentMsel % MSEL_PER_MINUTE; <br />
&nbsp;&nbsp;long secondNum = residualMinMsel / MSEL_PER_SECOND; <br />
&nbsp;&nbsp;second = secondNum; <br />
&nbsp;&nbsp;long residualSecMsel = currentMsel % MSEL_PER_SECOND; <br />
&nbsp;&nbsp;msel = residualSecMsel; // System.out.println(hour + " hour " + minute + " minute " + second // + " second"); <br />
&nbsp;&nbsp;} </p>
<p>&nbsp;&nbsp;public long getHour() <br />
&nbsp;&nbsp;{ return hour; } </p>
<p>&nbsp;&nbsp;public long getMinute() <br />
&nbsp;&nbsp;{ return minute; } </p>
<p>&nbsp;&nbsp;public long getSecond() <br />
&nbsp;&nbsp;{ return second; } </p>
<p>&nbsp;&nbsp;public long getMsel() { return msel; } <br />
&nbsp;}</p>
<img src ="http://www.blogjava.net/yusiwei/aggbug/315980.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2010-03-19 23:18 <a href="http://www.blogjava.net/yusiwei/articles/315980.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>通过文件二进制信息判断图片类型(png,jpg,gif) </title><link>http://www.blogjava.net/yusiwei/articles/315979.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Fri, 19 Mar 2010 15:11:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/315979.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/315979.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/315979.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/315979.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/315979.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: package&nbsp;lab.sodino.img;&nbsp;&nbsp;    import&nbsp;java.io.IOException;&nbsp;&nbsp;    import&nbsp;java.io.InputStream;&nbsp;&nbsp;    import&nbsp;javax.microedition.io.Connector;&nbsp;&nbs...&nbsp;&nbsp;<a href='http://www.blogjava.net/yusiwei/articles/315979.html'>阅读全文</a><img src ="http://www.blogjava.net/yusiwei/aggbug/315979.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2010-03-19 23:11 <a href="http://www.blogjava.net/yusiwei/articles/315979.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为照相机添加图片保存功能</title><link>http://www.blogjava.net/yusiwei/articles/315974.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Fri, 19 Mar 2010 14:56:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/315974.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/315974.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/315974.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/315974.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/315974.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="word-spacing: 0px; font: 12px simsun; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; text-align: center; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span class="Apple-style-span" style="line-height: 18px; font-family: Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif; text-align: left">
<dt style="clear: both; padding-right: 8px; border-top: rgb(51,102,153) 1px solid; overflow-y: hidden; padding-left: 8px; overflow-x: hidden; padding-bottom: 5px; margin: 0px; color: rgb(102,102,102); word-break: break-all; line-height: 18px; padding-top: 5px; border-bottom: rgb(221,221,221) 1px solid; background-color: rgb(233,233,233); word-wrap: break-word; webkit-background-clip: initial; webkit-background-origin: initial">&nbsp;</dt>byte[] data = VideoControl.getSnapshot("encoding=jpeg");//返回一个jpeg格式的二进制数据，把这些数据写入文件保存后即为图片。encoding=png时为png格式。package lab.sodino.snapshot;<br />
import java.io.IOException;<br />
import java.io.OutputStream;<br />
import javax.microedition.io.Connector;<br />
import javax.microedition.io.file.FileConnection;<br />
import javax.microedition.lcdui.Alert;<br />
import javax.microedition.lcdui.Canvas;<br />
import javax.microedition.lcdui.Command;<br />
import javax.microedition.lcdui.CommandListener</span></span>
<img src ="http://www.blogjava.net/yusiwei/aggbug/315974.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2010-03-19 22:56 <a href="http://www.blogjava.net/yusiwei/articles/315974.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java删除一个文件</title><link>http://www.blogjava.net/yusiwei/articles/304304.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Mon, 30 Nov 2009 11:36:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/304304.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/304304.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/304304.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/304304.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/304304.html</trackback:ping><description><![CDATA[<div>import java.io.File; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp;</div>
<div>/** &nbsp;&nbsp;</div>
<div>&nbsp;* &nbsp; &nbsp;</div>
<div>&nbsp;* @author XWZ &nbsp;&nbsp;</div>
<div>&nbsp;* 2009-11-27 &nbsp;&nbsp;</div>
<div>&nbsp;* 删除文件或目录 &nbsp;&nbsp;</div>
<div>&nbsp;*/ &nbsp; &nbsp;</div>
<div>public class DeleteFileUtil { &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp;/** &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; * 删除文件，可以是单个文件或文件夹 &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; * @param &nbsp; fileName &nbsp; &nbsp;待删除的文件名 &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; * @return 文件删除成功返回true,否则返回false &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; */ &nbsp; &nbsp;</div>
<div>&nbsp;&nbsp; &nbsp;public static boolean delete(String fileName){ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;File file = new File(fileName); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if(!file.exists()){ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;System.out.println("删除文件失败："+fileName+"文件不存在"); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return false; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}else{ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if(file.isFile()){ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return deleteFile(fileName); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}else{ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return deleteDirectory(fileName); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp;/** &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; * 删除单个文件 &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; * @param &nbsp; fileName &nbsp; &nbsp;被删除文件的文件名 &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; * @return 单个文件删除成功返回true,否则返回false &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; */ &nbsp; &nbsp;</div>
<div>&nbsp;&nbsp; &nbsp;public static boolean deleteFile(String fileName){ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;File file = new File(fileName); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if(file.isFile() &amp;&amp; file.exists()){ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;file.delete(); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;System.out.println("删除单个文件"+fileName+"成功！"); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return true; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}else{ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;System.out.println("删除单个文件"+fileName+"失败！"); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return false; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp;/** &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; * 删除目录（文件夹）以及目录下的文件 &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; * @param &nbsp; dir 被删除目录的文件路径 &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; * @return &nbsp;目录删除成功返回true,否则返回false &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; */ &nbsp; &nbsp;</div>
<div>&nbsp;&nbsp; &nbsp;public static boolean deleteDirectory(String dir){ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//如果dir不以文件分隔符结尾，自动添加文件分隔符 &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if(!dir.endsWith(File.separator)){ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dir = dir+File.separator; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;File dirFile = new File(dir); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//如果dir对应的文件不存在，或者不是一个目录，则退出 &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if(!dirFile.exists() || !dirFile.isDirectory()){ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;System.out.println("删除目录失败"+dir+"目录不存在！"); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return false; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;boolean flag = true; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//删除文件夹下的所有文件(包括子目录) &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;File[] files = dirFile.listFiles(); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for(int i=0;i&lt;files.length;i++){ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//删除子文件 &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if(files[i].isFile()){ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;flag = deleteFile(files[i].getAbsolutePath()); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if(!flag){ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//删除子目录 &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else{ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;flag = deleteDirectory(files[i].getAbsolutePath()); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if(!flag){ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if(!flag){ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;System.out.println("删除目录失败"); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return false; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//删除当前目录 &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if(dirFile.delete()){ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;System.out.println("删除目录"+dir+"成功！"); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return true; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}else{ &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;System.out.println("删除目录"+dir+"失败！"); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return false; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp;public static void main(String[] args) { &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//String fileName = "g:/temp/xwz.txt"; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//DeleteFileUtil.deleteFile(fileName); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;String fileDir = "G:/temp/temp0/temp1"; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//DeleteFileUtil.deleteDirectory(fileDir); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;DeleteFileUtil.delete(fileDir); &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>&nbsp;&nbsp; &nbsp;} &nbsp; &nbsp;&nbsp;</div>
<div>} &nbsp; &nbsp;</div>
<img src ="http://www.blogjava.net/yusiwei/aggbug/304304.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2009-11-30 19:36 <a href="http://www.blogjava.net/yusiwei/articles/304304.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>快速排序</title><link>http://www.blogjava.net/yusiwei/articles/302731.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Tue, 17 Nov 2009 10:29:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/302731.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/302731.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/302731.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/302731.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/302731.html</trackback:ping><description><![CDATA[<div>快速排序是对冒泡排序的一种改进。它的基本思想是：通过一躺排序将要排序的数据分割成独立的两部分，其中一部分的所有数据都比另外一不部分的所有数据都要小，然后再按次方法对这两部分数据分别进行快速排序，整个排序过程可以递归进行，以此达到整个数据变成有序序列。</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp;假设要排序的数组是A[1]&#8230;&#8230;A[N]，首先任意选取一个数据（通常选用第一个数据）作为关键数据，然后将所有比它的数都放到它前面，所有比它大的数都放到它后面，这个过程称为一躺快速排序。一躺快速排序的算法是：</div>
<div><br />
</div>
<div>&nbsp;&nbsp; 1）、设置两个变量I、J，排序开始的时候I：=1，J：=N；</div>
<div><br />
</div>
<div>&nbsp;&nbsp; 2）以第一个数组元素作为关键数据，赋值给X，即X：=A[1]；</div>
<div><br />
</div>
<div>&nbsp;&nbsp; 3）、从J开始向前搜索，即由后开始向前搜索（J：=J-1），找到第一个小于X的值，两者交换；</div>
<div><br />
</div>
<div>&nbsp;&nbsp; 4）、从I开始向后搜索，即由前开始向后搜索（I：=I+1），找到第一个大于X的值，两者交换；</div>
<div><br />
</div>
<div>&nbsp;&nbsp; 5）、重复第3、4步，直到I=J；</div>
<div><br />
</div>
<div>&nbsp;&nbsp; 例如：待排序的数组A的值分别是：（初始关键数据X：=49）</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; A[1] &nbsp; &nbsp; A[2] &nbsp; &nbsp; A[3] &nbsp; &nbsp; A[4] &nbsp; &nbsp; A[5] &nbsp; &nbsp; &nbsp;A[6] &nbsp; &nbsp; A[7]：</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 49 &nbsp; &nbsp; &nbsp; &nbsp;38 &nbsp; &nbsp; &nbsp; 65 &nbsp; &nbsp; &nbsp; 97 &nbsp; &nbsp; &nbsp; 76 &nbsp; &nbsp; &nbsp; 13 &nbsp; &nbsp; &nbsp; &nbsp;27</div>
<div><br />
</div>
<div>进行第一次交换后： &nbsp; 27 &nbsp; &nbsp; &nbsp; &nbsp;38 &nbsp; &nbsp; &nbsp; 65 &nbsp; &nbsp; &nbsp; 97 &nbsp; &nbsp; &nbsp; 76 &nbsp; &nbsp; &nbsp; 13 &nbsp; &nbsp; &nbsp; &nbsp;49</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ( 按照算法的第三步从后面开始找</div>
<div><br />
</div>
<div>进行第二次交换后： &nbsp; 27 &nbsp; &nbsp; &nbsp; &nbsp;38 &nbsp; &nbsp; &nbsp; 49 &nbsp; &nbsp; &nbsp; 97 &nbsp; &nbsp; &nbsp; 76 &nbsp; &nbsp; &nbsp; 13 &nbsp; &nbsp; &nbsp; &nbsp;65</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;( 按照算法的第四步从前面开始找&gt;X的值，65&gt;49,两者交换，此时I：=3 )</div>
<div><br />
</div>
<div>进行第三次交换后： &nbsp; 27 &nbsp; &nbsp; &nbsp; &nbsp;38 &nbsp; &nbsp; &nbsp; 13 &nbsp; &nbsp; &nbsp; 97 &nbsp; &nbsp; &nbsp; 76 &nbsp; &nbsp; &nbsp; 49 &nbsp; &nbsp; &nbsp; &nbsp;65</div>
<div><br />
</div>
<div>( 按照算法的第五步将又一次执行算法的第三步从后开始找</div>
<div><br />
</div>
<div>进行第四次交换后： &nbsp; 27 &nbsp; &nbsp; &nbsp; &nbsp;38 &nbsp; &nbsp; &nbsp; 13 &nbsp; &nbsp; &nbsp; 49 &nbsp; &nbsp; &nbsp; 76 &nbsp; &nbsp; &nbsp; 97 &nbsp; &nbsp; &nbsp; &nbsp;65</div>
<div><br />
</div>
<div>( 按照算法的第四步从前面开始找大于X的值，97&gt;49,两者交换，此时J：=4 )</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp;此时再执行第三不的时候就发现I=J，从而结束一躺快速排序，那么经过一躺快速排序之后的结果是：27 &nbsp; &nbsp; &nbsp; &nbsp;38 &nbsp; &nbsp; &nbsp; 13 &nbsp; &nbsp; &nbsp; 49 &nbsp; &nbsp; &nbsp; 76 &nbsp; &nbsp; &nbsp; 97 &nbsp; &nbsp; &nbsp; &nbsp;65，即所以大于49的数全部在49的后面，所以小于49的数全部在49的前面。</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp;快速排序就是递归调用此过程——在以49为中点分割这个数据序列，分别对前面一部分和后面一部分进行类似的快速排序，从而完成全部数据序列的快速排序，最后把此数据序列变成一个有序的序列，根据这种思想对于上述数组A的快速排序的全过程如图6所示：</div>
<div><br />
</div>
<div>初始状态 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{49 &nbsp; &nbsp; 38 &nbsp; &nbsp; 65 &nbsp; &nbsp; 97 &nbsp; &nbsp; 76 &nbsp; &nbsp; 13 &nbsp; &nbsp; 27} &nbsp;&nbsp;</div>
<div><br />
</div>
<div>进行一次快速排序之后划分为 &nbsp; &nbsp; &nbsp;{27 &nbsp; &nbsp; 38 &nbsp; &nbsp; 13} &nbsp; &nbsp; 49 &nbsp; {76 &nbsp; &nbsp; 97 &nbsp; &nbsp; 65}</div>
<div><br />
</div>
<div>分别对前后两部分进行快速排序 &nbsp; &nbsp;{13} &nbsp; &nbsp;27 &nbsp; &nbsp;{38}</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;结束 &nbsp; &nbsp; &nbsp; &nbsp; 结束 &nbsp; &nbsp;{49 &nbsp; &nbsp;65} &nbsp; &nbsp;76 &nbsp; &nbsp;{97}</div>
<div><br />
</div>
<div>&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;49 &nbsp; {65} &nbsp; &nbsp; &nbsp; &nbsp; 结束</div>
<div><br />
</div>
<div>&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;结束</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;图6 &nbsp; &nbsp;快速排序全过程</div>
<div><br />
</div>
<div><br />
</div>
<div>1）、设有N（假设N=10）个数，存放在S数组中；</div>
<div><br />
</div>
<div>2）、在S[1。。N]中任取一个元素作为比较基准，例如取T=S[1]，起目的就是在定出T应在排序结果中的位置K，这个K的位置在：S[1。。K-1]&lt;=S[K]&lt;=S[K+1..N]，即在S[K]以前的数都小于S[K]，在S[K]以后的数都大于S[K]；</div>
<div><br />
</div>
<div>3）、利用分治思想（即大化小的策略）可进一步对S[1。。K-1]和S[K+1。。N]两组数据再进行快速排序直到分组对象只有一个数据为止。</div>
<div><br />
</div>
<div>如具体数据如下，那么第一躺快速排序的过程是：</div>
<div><br />
</div>
<div>数组下标： 1 &nbsp; &nbsp; &nbsp;2 &nbsp; &nbsp; &nbsp;3 &nbsp; &nbsp; &nbsp;4 &nbsp; &nbsp; &nbsp;5 &nbsp; &nbsp; &nbsp;6 &nbsp; &nbsp; &nbsp;7 &nbsp; &nbsp; &nbsp;8 &nbsp; &nbsp; &nbsp;9 &nbsp; &nbsp; &nbsp;10</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 45 &nbsp; &nbsp; 36 &nbsp; &nbsp; 18 &nbsp; &nbsp; 53 &nbsp; &nbsp; 72 &nbsp; &nbsp; 30 &nbsp; &nbsp; 48 &nbsp; &nbsp; 93 &nbsp; &nbsp; 15 &nbsp; &nbsp; &nbsp;36</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp;I &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; J</div>
<div><br />
</div>
<div>（1） &nbsp; &nbsp; &nbsp;36 &nbsp; &nbsp; 36 &nbsp; &nbsp; 18 &nbsp; &nbsp; 53 &nbsp; &nbsp; 72 &nbsp; &nbsp; 30 &nbsp; &nbsp; 48 &nbsp; &nbsp; 93 &nbsp; &nbsp; 15 &nbsp; &nbsp; &nbsp;45</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;</div>
<div><br />
</div>
<div>（2） &nbsp; &nbsp; &nbsp;36 &nbsp; &nbsp; 36 &nbsp; &nbsp; 18 &nbsp; &nbsp; 45 &nbsp; &nbsp; 72 &nbsp; &nbsp; 30 &nbsp; &nbsp; 48 &nbsp; &nbsp; 93 &nbsp; &nbsp; 15 &nbsp; &nbsp; &nbsp;53</div>
<div><br />
</div>
<div>（3） &nbsp; &nbsp; &nbsp;36 &nbsp; &nbsp; 36 &nbsp; &nbsp; 18 &nbsp; &nbsp; 15 &nbsp; &nbsp; 72 &nbsp; &nbsp; 30 &nbsp; &nbsp; 48 &nbsp; &nbsp; 93 &nbsp; &nbsp; 45 &nbsp; &nbsp; &nbsp;53</div>
<div><br />
</div>
<div>（4） &nbsp; &nbsp; &nbsp;36 &nbsp; &nbsp; 36 &nbsp; &nbsp; 18 &nbsp; &nbsp; 15 &nbsp; &nbsp; 45 &nbsp; &nbsp; 30 &nbsp; &nbsp; 48 &nbsp; &nbsp; 93 &nbsp; &nbsp; 72 &nbsp; &nbsp; &nbsp;53</div>
<div><br />
</div>
<div>（5） &nbsp; &nbsp; &nbsp;36 &nbsp; &nbsp; 36 &nbsp; &nbsp; 18 &nbsp; &nbsp; 15 &nbsp; &nbsp; 30 &nbsp; &nbsp; 45 &nbsp; &nbsp; 48 &nbsp; &nbsp; 93 &nbsp; &nbsp; 72 &nbsp; &nbsp; &nbsp;53</div>
<div><br />
</div>
<div>通过一躺排序将45放到应该放的位置K，这里K=6，那么再对S[1。。5]和S[6。。10]分别进行快速排序。</div>
<div><br />
</div>
<div><br />
</div>
<div>一般来说，冒泡法是程序员最先接触的排序方法，它的优点是原理简单，编程实现容易，但它的缺点就是--程序的大忌--速度太慢。下面我介绍一个理解上简单但编程实现上不是太容易的排序方法，我不知道它是不是现有排序方法中最快的，但它是我见过的最快的。排序同样的数组，它所需的时间只有冒泡法的 4% 左右。我暂时称它为&#8220;快速排序法&#8221;。</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; &#8220;快速排序法&#8221;使用的是递归原理，下面我结合一个例子来说明&#8220;快速排序法&#8221;的原理。首先给出一个数组{53，12，98，63，18，72，80，46， 32，21}，先找到第一个数--53，把它作为中间值，也就是说，要把53放在一个位置，使得它左边的值比它小，右边的值比它大。{21，12，32， 46，18，53，80，72，63，98}，这样一个数组的排序就变成了两个小数组的排序--53左边的数组和53右边的数组，而这两个数组继续用同样的方式继续下去，一直到顺序完全正确。</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; 我这样讲你们是不是很胡涂，不要紧，我下面给出实现的两个函数：</div>
<div><br />
</div>
<div>/*</div>
<div>n就是需要排序的数组，left和right是你需要排序的左界和右界，</div>
<div>如果要排序上面那个数组，那么left和right分别是0和9</div>
<div>*/</div>
<div><br />
</div>
<div>void quicksort(int n[], int left,int right)</div>
<div>{</div>
<div>int dp;</div>
<div>if (left&lt;right) {</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; /*</div>
<div>&nbsp;&nbsp; &nbsp; 这就是下面要讲到的函数，按照上面所说的，就是把所有小于53的数放</div>
<div>&nbsp;&nbsp; &nbsp; 到它的左边，大的放在右边，然后返回53在整理过的数组中的位置。</div>
<div>&nbsp;&nbsp; &nbsp; */</div>
<div>&nbsp;&nbsp; &nbsp; dp=partition(n,left,right);</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; quicksort(n,left,dp-1);</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; quicksort(n,dp+1,right); //这两个就是递归调用，分别整理53左边的数组和右边的数组</div>
<div>}</div>
<div>}</div>
<div><br />
</div>
<div>&nbsp;&nbsp; &nbsp; 我们上面提到先定位第一个数，然后整理这个数组，把比这个数小的放到它的左边，大的放右边，然后</div>
<div><br />
</div>
<div>返回这中间值的位置，下面这函数就是做这个的。</div>
<div>int partition(int n[],int left,int right)</div>
<div>{</div>
<div>int lo,hi,pivot,t;</div>
<div><br />
</div>
<div>pivot=n[left];</div>
<div>lo=left-1;</div>
<div>hi=right+1;</div>
<div><br />
</div>
<div>while(lo+1!=hi) {</div>
<div>&nbsp;&nbsp; &nbsp; if(n[lo+1]&lt;=pivot)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; lo++;</div>
<div>&nbsp;&nbsp; &nbsp; else if(n[hi-1]&gt;pivot)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; hi--;</div>
<div>&nbsp;&nbsp; &nbsp; else {</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; t=n[lo+1];</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; n[++lo]=n[hi-1];</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; n[--hi]=t;</div>
<div>&nbsp;&nbsp; &nbsp; }</div>
<div>}</div>
<div><br />
</div>
<div>n[left]=n[lo];</div>
<div>n[lo]=pivot;</div>
<div>return lo;</div>
<div>}</div>
<img src ="http://www.blogjava.net/yusiwei/aggbug/302731.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2009-11-17 18:29 <a href="http://www.blogjava.net/yusiwei/articles/302731.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>My chat on the internet ,the first step. </title><link>http://www.blogjava.net/yusiwei/articles/296258.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Thu, 24 Sep 2009 03:13:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/296258.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/296258.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/296258.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/296258.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/296258.html</trackback:ping><description><![CDATA[<div class="postTitle">frame.html<br />
<br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&gt;<br />
&lt;title&gt;无标题文档&lt;/title&gt;<br />
&lt;/head&gt;</div>
<p>&lt;frameset rows="*" cols="*,145" framespacing="4" frameborder="yes" border="4" bordercolor="#3333FF"&gt;<br />
&nbsp; &lt;frameset rows="*,100" cols="*" framespacing="4" frameborder="yes" border="4" bordercolor="#3333FF"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;frame src="chatHall.jsp" name="mainFrame" id="mainFrame" title="mainFrame" /&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;frame src="login.jsp" name="bottomFrame" scrolling="No" noresize="noresize" id="bottomFrame" title="bottomFrame" /&gt;<br />
&nbsp; &lt;/frameset&gt;<br />
&nbsp; &lt;frame src="chatList.jsp" name="rightFrame" scrolling="No" noresize="noresize" id="rightFrame" title="rightFrame" /&gt;<br />
&lt;/frameset&gt;<br />
&lt;noframes&gt;&lt;body&gt;<br />
&lt;/body&gt;<br />
&lt;/noframes&gt;&lt;/html&gt;<br />
<br />
<br />
login.jsp<br />
<br />
<br />
</p>
<p>&lt;%@ page contentType="text/html;charset=GBK" %&gt;</p>
<p>&lt;html&gt;&lt;style type="text/css"&gt;<br />
&lt;!--<br />
body {<br />
&nbsp;background-image: url();<br />
&nbsp;background-color: #CCCC66;<br />
&nbsp;margin-top: 0px;<br />
}<br />
--&gt;<br />
&lt;/style&gt;&lt;body&gt;<br />
&lt;form action="judge.jsp" method=post&gt;<br />
&lt;img src="Bear.bmp" width="82" height="77"&gt;&nbsp;&nbsp; 姓名：<br />
&lt;input type="text" name="name"&gt;<br />
&lt;input type="submit" name="submit" value="提交"&gt;<br />
&lt;br&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;&lt;/html&gt;<br />
</p>
<p><br />
judge.jsp<br />
&lt;%@ page contentType="text/html;charset=GBK" %&gt;<br />
&lt;html&gt;&lt;body&gt;&lt;center&gt;<br />
&lt;% <br />
&nbsp;String str = request.getParameter("name");<br />
&nbsp;if(str.length() == 0)<br />
&nbsp;&nbsp;response.sendRedirect("login.jsp");<br />
&nbsp;else{<br />
&nbsp;&nbsp;response.sendRedirect("input.jsp");<br />
&nbsp;&nbsp;session.setAttribute("name",str);<br />
&nbsp;}<br />
%&gt;<br />
&lt;/body&gt;&lt;/html&gt;<br />
</p>
<img src ="http://www.blogjava.net/yusiwei/aggbug/296258.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2009-09-24 11:13 <a href="http://www.blogjava.net/yusiwei/articles/296258.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>My chat online ,the second step </title><link>http://www.blogjava.net/yusiwei/articles/296257.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Thu, 24 Sep 2009 03:11:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/296257.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/296257.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/296257.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/296257.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/296257.html</trackback:ping><description><![CDATA[<div class="postTitle">input.jsp<br />
</div>
<p>&lt;%@ page contentType="text/html;Charset=GBK" %&gt;</p>
<p>&lt;html&gt;&lt;body&gt;&lt;center&gt;<br />
&lt;form action="conduct.jsp" method=post&gt;<br />
&lt;% String username = (String)session.getAttribute("name"); <br />
%&gt;<br />
用户：&lt;%= username %&gt;<br />
&lt;textarea name="message" cols=50 rows=4&gt;<br />
&lt;/textarea&gt;<br />
&lt;input type="submit" name="submit" value="发送"&gt;<br />
&lt;br&gt;<br />
&lt;%<br />
&nbsp;session.setAttribute("name",username);<br />
%&gt;<br />
&lt;form&gt;<br />
&lt;/body&gt;&lt;/html&gt;<br />
</p>
<p><br />
conduct.jsp<br />
<br />
<br />
</p>
<p>&lt;%@ page contentType="text/html;Charset=GBK" %&gt;<br />
&lt;%@ page import="java.util.*" %&gt;<br />
&lt;html&gt;&lt;body&gt;&lt;center&gt;<br />
&lt;%!<br />
&nbsp;Vector v = new Vector();<br />
&nbsp;ServletContext application;<br />
&nbsp;synchronized void sendMessage(String message){<br />
&nbsp;&nbsp;application = getServletContext();<br />
&nbsp;&nbsp;application.setAttribute("mess",v);<br />
&nbsp;}<br />
%&gt;</p>
<p>&lt;%String username = (String)session.getAttribute("name");<br />
&nbsp;String message1 = request.getParameter("message");<br />
&nbsp;String message = username+" : "+"&lt;br&gt;"+message1;<br />
&nbsp;v.add(message);<br />
&nbsp;sendMessage(message);<br />
&nbsp;response.sendRedirect("input.jsp");<br />
%&gt;</p>
<p>&lt;%--response.sendRedirect("chatHall.jsp");--%&gt;<br />
&lt;/body&gt;&lt;/html&gt;</p>
<p><br />
<br />
charHall.jsp<br />
<br />
</p>
<p>&lt;%@ page contentType="text/html;Charset=GBK" %&gt;<br />
&lt;%@ page import="java.util.*" %&gt;</p>
<p>&lt;html&gt;<br />
&lt;meta http-equiv="refresh" content="1" url=chatHall.jsp"&gt;<br />
&lt;body&gt;<br />
&lt;%String username = (String)session.getAttribute("name");<br />
&nbsp;Vector v = (Vector)application.getAttribute("mess");<br />
&nbsp;int i = v.size()-1;&nbsp; <br />
&nbsp;while(i&gt;0){<br />
&nbsp;&nbsp;String message = (String)v.elementAt(i);<br />
&nbsp;&nbsp;out.print(message+"&lt;br&gt;"+"&lt;hr &gt;"+"&lt;br&gt;");<br />
&nbsp;&nbsp;i--;<br />
&nbsp;}<br />
%&gt;<br />
&lt;/body&gt;&lt;/html&gt;</p>
<p>chatlist.jsp<br />
</p>
<p>&lt;%@ page contentType="text/html;charset=GBK" %&gt;</p>
<p>&lt;html&gt;&lt;body&gt;&lt;center&gt;<br />
&lt;form action=""&gt;</p>
<p>&lt;/form&gt;<br />
&lt;/body&gt;&lt;/html&gt;</p>
<img src ="http://www.blogjava.net/yusiwei/aggbug/296257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2009-09-24 11:11 <a href="http://www.blogjava.net/yusiwei/articles/296257.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>五光十色灯 </title><link>http://www.blogjava.net/yusiwei/articles/296255.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Thu, 24 Sep 2009 03:08:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/296255.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/296255.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/296255.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/296255.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/296255.html</trackback:ping><description><![CDATA[<div class="postTitle">import java.awt.*;<br />
import java.awt.event.*;<br />
class Test{<br />
&nbsp;public static void main(String [] args){<br />
&nbsp;&nbsp;Frame f=new Frame("变换");<br />
&nbsp;&nbsp;CardLayout c1=new CardLayout();<br />
&nbsp;&nbsp;f.setLayout(c1);<br />
&nbsp;&nbsp;Button b []=new Button[4];<br />
&nbsp;&nbsp;for(int i=0;i&lt;4;i++){<br />
&nbsp;&nbsp;&nbsp;b[i]=new Button("第"+i+"页");<br />
&nbsp;&nbsp;&nbsp;f.add(b[i],"page"+i);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;b[0].setBackground(Color.red);<br />
&nbsp;&nbsp;b[1].setBackground(Color.blue);<br />
&nbsp;&nbsp;b[2].setBackground(Color.cyan);<br />
&nbsp;&nbsp;b[3].setBackground(Color.green);<br />
&nbsp;&nbsp;f.pack();<br />
&nbsp;&nbsp;f.setVisible(true);<br />
&nbsp;&nbsp;while(true){<br />
&nbsp;&nbsp;&nbsp;try{<br />
&nbsp;&nbsp;&nbsp;&nbsp;Thread.sleep(50);<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;catch (InterruptedException e){<br />
&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;c1.next(f);<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
} </div>
<img src ="http://www.blogjava.net/yusiwei/aggbug/296255.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2009-09-24 11:08 <a href="http://www.blogjava.net/yusiwei/articles/296255.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据结构与算法 ——选择插入排序</title><link>http://www.blogjava.net/yusiwei/articles/295280.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Wed, 16 Sep 2009 04:02:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/295280.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/295280.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/295280.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/295280.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/295280.html</trackback:ping><description><![CDATA[<p>class Linear <br />
{<br />
&nbsp;int size;<br />
&nbsp;int num;<br />
&nbsp;int data[];</p>
<p>&nbsp;//申请空间，如果用户输入的空间大小小于等于0，则默认使用空间100<br />
&nbsp;public Linear(int n)<br />
&nbsp;{<br />
&nbsp;&nbsp;if(n &lt;= 0)<br />
&nbsp;&nbsp;&nbsp;size = 100;</p>
<p>&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;size = n;</p>
<p>&nbsp;&nbsp;data = new int[size];<br />
&nbsp;&nbsp;num = 0;<br />
&nbsp;}<br />
&nbsp;//遍历所有的数据，并输出<br />
&nbsp;public void Visit()<br />
&nbsp;{<br />
&nbsp;&nbsp;if(num == 0)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;System.out.println("Visit:The array is empty!");<br />
&nbsp;&nbsp;&nbsp;return;<br />
&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;for(int i = 0; i &lt; num; i++)<br />
&nbsp;&nbsp;&nbsp;System.out.print(data[i]+"\t");</p>
<p>&nbsp;&nbsp;System.out.println();<br />
&nbsp;}<br />
&nbsp;//插入一个数据<br />
&nbsp;public void Insert(int pos,int x)<br />
&nbsp;{<br />
&nbsp;&nbsp;if(pos &lt; 0 || pos &gt; num)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;System.out.println("Insert:The position is error!");<br />
&nbsp;&nbsp;&nbsp;return;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;if(num == size)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;System.out.println("Insert:The array is full!");<br />
&nbsp;&nbsp;&nbsp;return;<br />
&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;for(int i = num - 1; i &gt;= pos; i--)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;data[i+1] = data[i];<br />
&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;data[pos] = x;</p>
<p>&nbsp;&nbsp;num ++;<br />
&nbsp;}<br />
&nbsp;//删除一个数据<br />
&nbsp;public void Delete(int pos)<br />
&nbsp;{<br />
&nbsp;&nbsp;if(pos &lt; 0 || pos &gt; (num - 1))<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;System.out.println("Delete:The position is error!");<br />
&nbsp;&nbsp;&nbsp;return;<br />
&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;if(num == 0)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;System.out.println("Delete:The array is empty!");<br />
&nbsp;&nbsp;&nbsp;return;<br />
&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;for(int i = pos; i &lt; (num - 1); i++)<br />
&nbsp;&nbsp;&nbsp;data[i] = data[i+1];</p>
<p>&nbsp;&nbsp;num -- ;<br />
&nbsp;}<br />
&nbsp;//选择排序法,从小到大排列<br />
&nbsp;public void SelectSort()<br />
&nbsp;{<br />
&nbsp;&nbsp;int k = 0,p = 0,t = 0;</p>
<p>&nbsp;&nbsp;for(int i = 0; i &lt; num -1; i++)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;t = data[i];<br />
&nbsp;&nbsp;&nbsp;k = i;<br />
&nbsp;&nbsp;&nbsp;p = i;</p>
<p>&nbsp;&nbsp;&nbsp;for(int j = i + 1; j &lt; num; j++)<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(t &gt; data[j])<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t = data[j];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p = j;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;if(k != p)<br />
&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;int temp = data[k];<br />
&nbsp;&nbsp;&nbsp;&nbsp;data[k] = data[p];<br />
&nbsp;&nbsp;&nbsp;&nbsp;data[p] = temp;<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
&nbsp;//插入排序法，从小到大<br />
&nbsp;public void InserSort()<br />
&nbsp;{<br />
&nbsp;&nbsp;int i = 0,j = 0;</p>
<p>&nbsp;&nbsp;for(i = 0; i &lt; num; i++)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;int t = data[i];&nbsp;<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;for(j = i - 1; j &gt;= 0; j --)<br />
&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(t &lt; data[j])<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[j+1] = data[j];<br />
&nbsp;&nbsp;&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;data[j+1] = t;<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
&nbsp;//冒泡排序<br />
&nbsp;public void BubbleSort()<br />
&nbsp;{<br />
&nbsp;&nbsp;int t = 0;</p>
<p>&nbsp;&nbsp;for(int i = 0; i &lt; num -1; i++)<br />
&nbsp;&nbsp;&nbsp;for(int j = i+1; j &lt; num; j++)<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(data[i] &gt; data[j])<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t = data[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[i] = data[j];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[j] = t;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;}<br />
&nbsp;//快速排序，因为要使用递归，因此必须定义一个额外的快排方法<br />
&nbsp;private void qsort(int low,int high)<br />
&nbsp;{<br />
&nbsp;&nbsp;int i = 0, j = 0 ,t = 0;<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;if(low &lt; high)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;i = low;<br />
&nbsp;&nbsp;&nbsp;j = high;<br />
&nbsp;&nbsp;&nbsp;t = data[low];</p>
<p>&nbsp;&nbsp;&nbsp;while(i &lt; j)<br />
&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;while((i &lt; j) &amp;&amp; (data[j] &gt; t)) j--;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;if(i &lt; j)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[i++] = data[j];</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;while((i &lt; j) &amp;&amp; (data[i] &lt;= t)) i++;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;if( i &lt; j)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data[j--] = data[i];<br />
&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;data[i] = t;</p>
<p>&nbsp;&nbsp;&nbsp;qsort(low,j - 1);<br />
&nbsp;&nbsp;&nbsp;qsort(j + 1,high);<br />
&nbsp;&nbsp;}<br />
&nbsp;}</p>
<p>&nbsp;public void QuickSort()<br />
&nbsp;{<br />
&nbsp;&nbsp;qsort(0,num - 1);<br />
&nbsp;}<br />
}</p>
<p>class Program<br />
{<br />
&nbsp;public static void main(String arg[])<br />
&nbsp;{<br />
&nbsp;&nbsp;//使用Linear线形结构<br />
&nbsp;&nbsp;Linear line = new Linear(5);</p>
<p>&nbsp;&nbsp;//初始化若干数据,即插入5条数据</p>
<p>&nbsp;&nbsp;line.Insert(0,3);<br />
&nbsp;&nbsp;line.Insert(1,7);<br />
&nbsp;&nbsp;line.Insert(2,2);<br />
&nbsp;&nbsp;line.Insert(3,5);<br />
&nbsp;&nbsp;line.Insert(4,3);</p>
<p>&nbsp;&nbsp;//line.SelectSort();<br />
&nbsp;&nbsp;//line.InserSort();<br />
&nbsp;&nbsp;//line.BubbleSort();<br />
&nbsp;&nbsp;line.QuickSort();</p>
<p>&nbsp;&nbsp;line.Visit();</p>
<p>&nbsp;&nbsp;<br />
&nbsp;}<br />
}</p>
 <img src ="http://www.blogjava.net/yusiwei/aggbug/295280.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2009-09-16 12:02 <a href="http://www.blogjava.net/yusiwei/articles/295280.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>servlet 高效jsp应用</title><link>http://www.blogjava.net/yusiwei/articles/270371.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Wed, 13 May 2009 03:45:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/270371.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/270371.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/270371.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/270371.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/270371.html</trackback:ping><description><![CDATA[项目结构<br />
register.htm和WEB-INF（web.xml&nbsp;&nbsp;&nbsp; lib&nbsp;(&nbsp;mysql-connector-java-5.1.6-bin.jar)&nbsp; classes(com&nbsp;(db&nbsp; servlet ) DatabaseConnection.java&nbsp;&nbsp;&nbsp; registerServlet.java)<br />
<br />
<br />
<br />
register.htm<br />
&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;font size=20&gt;<br />
&lt;center&gt;<br />
&lt;form action="/test/register" method="post"&gt;<br />
用户名：&lt;input type="text" name="name"&gt;&lt;br&gt;<br />
年&nbsp; 龄：&lt;input type="text" name="age"&gt;&lt;br&gt;<br />
地&nbsp; 址：&lt;input type="text" name="address"&gt;&lt;br&gt;<br />
&lt;input type="submit" value=" 注&nbsp; 册 "&gt;<br />
&lt;/form&gt;<br />
&lt;/center&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
web.xml<br />
<p>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;</p>
<p><br />
&lt;web-app&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;servlet&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;aa&lt;/servlet-name&gt;<br />
&lt;servlet-class&gt;com.servelet.RegisterServlet&lt;/servlet-class&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/servlet&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;servlet-mapping&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;aa&lt;/servlet-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;/register&lt;/url-pattern&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/servlet-mapping&gt;</p>
<p>&nbsp;</p>
<p>&lt;/web-app&gt;<br />
</p>
DatabaseConnection.java<br />
<p>package com.db;<br />
import java.sql.*;<br />
public class DatabaseConnection{</p>
<p>&nbsp;public static Connection getCon(){ <br />
&nbsp; Connection con=null;<br />
&nbsp; try{<br />
&nbsp;&nbsp; Class.forName("com.mysql.jdbc.Driver");<br />
&nbsp;&nbsp;&nbsp; con=DriverManager.getConnection("jdbc:mysql://localhost:3306/oa","root","yu");<br />
&nbsp;&nbsp;&nbsp; }catch(Exception e){e.printStackTrace();}<br />
&nbsp;&nbsp;&nbsp; return con;<br />
&nbsp; }<br />
&nbsp;}<br />
RegisterServlet.java<br />
</p>
<p>package com.servelet;<br />
import javax.servlet.*;<br />
import javax.servlet.http.*;<br />
import com.db.*;<br />
import java.sql.*;<br />
import java.io.*;<br />
public class RegisterServlet extends HttpServlet{<br />
/*doPost()Called by the server (via the service method) to allow a servlet to handle a POST request.*/<br />
&nbsp;public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{<br />
&nbsp;&nbsp;&nbsp; response.setCharacterEncoding("gbk");/*指定对服务器响应进行重新编码的编码。*/ <br />
&nbsp;&nbsp;&nbsp; String name=request.getParameter("name");<br />
&nbsp;&nbsp;&nbsp; name=new String(name.getBytes("iso-8859-1"),"gbk");<br />
&nbsp;String age=request.getParameter("age");<br />
&nbsp;String address=request.getParameter("address");<br />
&nbsp; address=new String(address.getBytes("iso-8859-1"),"gbk");<br />
&nbsp;Connection con;<br />
&nbsp;Statement stmt;<br />
&nbsp;String sql="";<br />
&nbsp;try{<br />
&nbsp;&nbsp;&nbsp; con =DatabaseConnection.getCon();<br />
&nbsp;&nbsp;&nbsp; stmt = con.createStatement();//获取编译语句<br />
&nbsp;sql="insert into person(name,age,address)values('"+name+<br />
&nbsp;"','"+age+"','"+address+"')";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stmt.executeUpdate(sql);/*在此 PreparedStatement 对象中执行 SQL 语句，该语句必须是一个 SQL INSERT、UPDATE 或 DELETE 语句*/<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response.sendRedirect("/test/register.htm");<br />
&nbsp; con.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }catch(Exception e){e.printStackTrace();}//将此 throwable 及其追踪输出至标准错误流<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
/*dopost()便已处理方法，用doGet（）方法调用dopost()*/<br />
&nbsp;public void doGet(HttpServletRequest request,HttpServletResponse response)&nbsp;&nbsp;throws ServletException,IOException{</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; doPost(request,response);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
}</p>
<p><br />
&nbsp;&nbsp; </p>
 <img src ="http://www.blogjava.net/yusiwei/aggbug/270371.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2009-05-13 11:45 <a href="http://www.blogjava.net/yusiwei/articles/270371.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>第一个servlet</title><link>http://www.blogjava.net/yusiwei/articles/270151.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Tue, 12 May 2009 02:12:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/270151.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/270151.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/270151.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/270151.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/270151.html</trackback:ping><description><![CDATA[HelloBeijing.java<br />
package com;<br />
import java.io.*;<br />
import javax.servlet.*;<br />
import javax.servlet.http.*;<br />
public class HelloBeijing extends HttpServlet<br />
{ public void init (ServletConfig config) throws ServletException<br />
{ super.init(config);&nbsp;&nbsp;&nbsp; /*创建一个servlet对象config，config并调用init（）方法初始化*/<br />
}<br />
public void service (HttpServletRequest&nbsp; request,HttpServletResponse response)throws IOException<br />
{response.setContentType("text/html;charset=gbk");//设置相应的mike类型<br />
PrintWriter out=response.getWriter();//获取一个想客户发送数据的输出流<br />
out.println("&lt;html&gt;&lt;body&gt;");<br />
out.println("&lt;h2&gt;北京奥运圆满成功!&lt;/h2&gt;");<br />
out.println("&lt;/body&gt;&lt;/html&gt;");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
}<br />
<br />
web.xml<br />
&lt;?xml&nbsp;&nbsp; version="1.0"&nbsp; encoding="ISO-8859-1"?&gt;<br />
&lt;web-app&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;hello &lt;/servlet-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;com.HelloBeijing&lt;/servlet-class&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/servlet&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-mapping&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;hello &lt;/servlet-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;/lookHello&lt;/url-pattern&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/servlet-mapping&gt;<br />
&lt;/web-app&gt;
 <img src ="http://www.blogjava.net/yusiwei/aggbug/270151.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2009-05-12 10:12 <a href="http://www.blogjava.net/yusiwei/articles/270151.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>以ball为例评述javabean</title><link>http://www.blogjava.net/yusiwei/articles/269060.html</link><dc:creator>鹏凌</dc:creator><author>鹏凌</author><pubDate>Tue, 05 May 2009 13:04:00 GMT</pubDate><guid>http://www.blogjava.net/yusiwei/articles/269060.html</guid><wfw:comment>http://www.blogjava.net/yusiwei/comments/269060.html</wfw:comment><comments>http://www.blogjava.net/yusiwei/articles/269060.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yusiwei/comments/commentRss/269060.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yusiwei/services/trackbacks/269060.html</trackback:ping><description><![CDATA[<p>WEB-INF-----classes---Ball.java----com(Ball.class)<br />
<br />
ball.java<br />
</p>
<p>package com;<br />
public class Ball{<br />
&nbsp; private String color;<br />
&nbsp; private float price;<br />
&nbsp; private float weight;<br />
&nbsp; private String factory;/*制造商*/</p>
<p>public void setColor(String c){<br />
&nbsp; this.color=c;<br />
&nbsp; }<br />
public String getColor(){<br />
&nbsp;return this.color;<br />
&nbsp;}<br />
public void setPrice(float p){<br />
&nbsp;this.price = p;<br />
}<br />
public float getPrice(){<br />
&nbsp;return this.price;<br />
&nbsp;}<br />
public void setWeight(float w){<br />
&nbsp;this.weight=w;<br />
&nbsp;}<br />
public float getWeight(){<br />
&nbsp;return this.weight;<br />
&nbsp;}<br />
public void setFactory(String f){<br />
&nbsp;this.factory=f;<br />
&nbsp;}<br />
public String getFactory(){<br />
&nbsp;return this.factory;<br />
&nbsp;}<br />
}<br />
</p>
<br />
<br />
ball1.jsp<br />
<p>&lt;%@ page contentType="text/html;Charset=gbk"%&gt;<br />
&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;center&gt;<br />
&lt;font size="20"&gt;<br />
&lt;jsp:useBean&nbsp; id= "ball" class="com.Ball" scope= "session"/&gt;<br />
&lt;%ball.setColor("蓝色");%&gt;<br />
&lt;jsp:setProperty&nbsp; name="ball"&nbsp; property= "price"&nbsp; <br />
value= "528" /&gt;<br />
&lt;jsp:setProperty&nbsp; name="ball"&nbsp; property= "weight"&nbsp; <br />
value= "1.02" /&gt;<br />
&lt;jsp:setProperty&nbsp; name="ball"&nbsp; property= "factory"&nbsp; <br />
value= "美国" /&gt;<br />
篮球的颜色为：<br />
&lt;jsp:getProperty&nbsp; name= "ball"&nbsp; property= "color" /&gt;&lt;br&gt;<br />
价格为：<br />
&lt;jsp:getProperty&nbsp; name= "ball"&nbsp; property= "price" /&gt;&lt;br&gt;<br />
重量为：<br />
&lt;jsp:getProperty&nbsp; name= "ball"&nbsp; property= "weight" /&gt;&lt;br&gt;<br />
产地为：<br />
&lt;jsp:getProperty&nbsp; name= "ball"&nbsp; property= "factory" /&gt;&lt;br&gt;<br />
&lt;a href="ball2.jsp"&gt;点我看看&lt;/a&gt;<br />
&lt;/font&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
</p>
<p><br />
ball2.jsp<br />
</p>
<p>&lt;%@ page contentType="text/html;Charset=gbk"%&gt;<br />
&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;center&gt;<br />
&lt;font size="20"&gt;<br />
&lt;jsp:useBean&nbsp; id= "ball" class="com.Ball" scope= "session"/&gt;<br />
篮球的颜色为：<br />
&lt;%=ball.getColor()%&gt;&lt;br&gt;<br />
价格为：<br />
&lt;jsp:getProperty&nbsp; name= "ball"&nbsp; property= "price" /&gt;&lt;br&gt;<br />
重量为：<br />
&lt;jsp:getProperty&nbsp; name= "ball"&nbsp; property= "weight" /&gt;&lt;br&gt;<br />
产地为：<br />
&lt;jsp:getProperty&nbsp; name= "ball"&nbsp; property= "factory" /&gt;&lt;br&gt;<br />
&lt;a href="ball3.jsp"&gt;再点我看看&lt;/a&gt;<br />
&lt;/font&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>ball3.jsp<br />
</p>
<p>&lt;%@ page contentType="text/html;Charset=gbk"%&gt;<br />
&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;center&gt;<br />
&lt;font size="20"&gt;<br />
&lt;jsp:useBean&nbsp; id= "ball" class="com.Ball" scope= "session"/&gt;<br />
篮球的颜色为：<br />
&lt;jsp:getProperty&nbsp; name= "ball"&nbsp; property= "color" /&gt;&lt;br&gt;<br />
价格为：<br />
&lt;jsp:getProperty&nbsp; name= "ball"&nbsp; property= "price" /&gt;&lt;br&gt;<br />
重量为：<br />
&lt;jsp:getProperty&nbsp; name= "ball"&nbsp; property= "weight" /&gt;&lt;br&gt;<br />
产地为：<br />
&lt;jsp:getProperty&nbsp; name= "ball"&nbsp; property= "factory" /&gt;&lt;br&gt;<br />
这是ball3.jsp的页面<br />
&lt;a href="ball4.jsp"&gt;换种方法看一下&lt;/a&gt;<br />
&lt;/font&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p><br />
&nbsp;</p>
<p>ball4.jsp<br />
</p>
<p>&lt;%@ page contentType="text/html;Charset=gbk"%&gt;<br />
&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;center&gt;<br />
&lt;font size="20"&gt;<br />
&lt;jsp:useBean&nbsp; id= "ball" class="com.Ball" scope= "session"/&gt;<br />
篮球的颜色为：<br />
&lt;%=ball.getColor()%&gt;<br />
&lt;br&gt;<br />
价格为：<br />
&lt;%=ball.getPrice()%&gt;&lt;br&gt;<br />
重量为：<br />
&lt;%=ball.getWeight()%&gt;&lt;br&gt;<br />
产地为：<br />
&lt;%=ball.getFactory()%&gt;&lt;br&gt;<br />
这是ball4.jsp的页面</p>
<p>&lt;/font&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p><br />
&nbsp;</p>
<p><br />
&nbsp;</p>
<p><br />
&nbsp;</p>
<br />
  <img src ="http://www.blogjava.net/yusiwei/aggbug/269060.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yusiwei/" target="_blank">鹏凌</a> 2009-05-05 21:04 <a href="http://www.blogjava.net/yusiwei/articles/269060.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>