<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[璀璨心灵 - JSP]]></title>
<link>http://blog.mmgg.net/</link>
<description><![CDATA[记录那些朝花拾夕的日子]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog2 v2.4]]></copyright>
<webMaster><![CDATA[Fly@MMGG.NET(小飞飞)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>璀璨心灵</title> 
	<url>http://blog.mmgg.net/images/logos.gif</url> 
	<link>http://blog.mmgg.net/</link> 
	<description>璀璨心灵</description> 
</image>

			<item>
			<link>http://blog.mmgg.net/default.asp?id=43</link>
			<title><![CDATA[Linux下安装TOMCAT]]></title>
			<author>Fly@MMGG.NET(Fly)</author>
			<category><![CDATA[JSP]]></category>
			<pubDate>Mon,05 Jan 2009 17:59:38 +0800</pubDate>
			<guid>http://blog.mmgg.net/default.asp?id=43</guid>	
		<description><![CDATA[<p style="font-size: 20px; font-family: 黑体;"><b>Linux下Tomcat的安装</b></p>
<p><b>１．下载Tomcat</b></p>
<p>在下面的地址下载Tomcat的二进制版</p>
<p> &nbsp;&nbsp;&nbsp; <a href="http://mirrors.ccs.neu.edu/Apache/dist/jakarta/tomcat-4/binaries/"> http://mirrors.ccs.neu.edu/Apache/dist/jakarta/tomcat-4/binaries/</a></p>
<p>即下载文件</p>
<p> &nbsp;&nbsp;&nbsp; tomcat-4.1.18.tar.gz</p>
<p><b>2. 安装</b></p>
<p>首先解压缩</p>
<p>&nbsp;&nbsp;&nbsp; gunzip tomcat-4.1.18.tar.gz<br /> &nbsp;&nbsp;&nbsp; tar -zxvf tomcat-4.1.18.tar</p>
<p>得到Tomcat的所有文件.然后把它拷贝到你要安装的位置，如</p>
<p>&nbsp;&nbsp;&nbsp; /opt/tomcat-4.1.18/</p>
<p>然后为了方便，你可以把目录名tomcat-4.1.18改为tomcat．</p>
<p><b>３．设置</b></p>
<ul>
    <li><b>设置路经<br />   </b><br />   在/etc/profile文件中加入如下两行<br />   <br /> &nbsp;&nbsp;&nbsp; export JAVA_HOME=/opt/jdk1.4<br /> &nbsp;&nbsp;&nbsp; export TOMCAT_HOME=/opt/tomcat<br />   <br />   在此我们假设Java JDK安装在/opt/jdk1.4目录下．<br /> 　</li>
    <li><b>激活ROOT</b><br />   <br />   ROOT的缺省设置是没有激活(disabled)．为了激活ROOT，打开文件<br />   <br /> &nbsp;&nbsp;&nbsp; tomcat/conf/server.xml<br />   <br />   然后把<br />   <br /> &nbsp;&nbsp;&nbsp; &lt;!--<br /> &nbsp;&nbsp;&nbsp; &lt;Context path=&quot;&quot; docBase=&quot;ROOT&quot; debug=&quot;0&quot;/&gt;<br /> &nbsp;&nbsp;&nbsp; --&gt;<br />   <br />   的注释去掉，即去掉&lt;!--<span lang="zh-cn">和</span>--&gt;．<br /> &nbsp; </li>
    <li><b>激活Invoker Servlet</b><br />   <br />   即把tomcat/conf/web.xml中的下列字段的注释去掉<br />   <br /> &nbsp;&nbsp;&nbsp; &lt;servlet-mapping&gt;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;invoker&lt;/servlet-name&gt;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;/servlet/*&lt;/url-pattern&gt;<br /> &nbsp;&nbsp;&nbsp; &lt;/servlet-mapping&gt;<br /> 　</li>
    <li><b>设置Port</b><br />   Tomcat缺省的Port number是8080．由于Tomcat是一个独立的(Standalone) Web Server，它可以不用Apache而独立工作，所以你可以不安装Apache，这样你可以把Tomcat设置在Port    80．这样你就可以在URL中省略:8080.<span lang="zh-cn"> </span>打开文件tomcat/conf/server.xml，找到如下的字段：<br />   <br /> &nbsp;&nbsp;&nbsp; &lt;Connector<span lang="zh-cn"> </span>className=&quot;org.apache.coyote.tomcat4.CoyoteConnector&quot;<br /> &nbsp;&nbsp;&nbsp; <b>port=&quot;8080&quot;</b> ...<br /> &nbsp;&nbsp;&nbsp; ... /&gt;<br />   <br />   然后把8080改成80即可．<br /> 　</li>
    <li><b>创建temp子目录</b><br />   在/opt/tomcat/目录下建立一个temp子目录<br /> &nbsp;&nbsp;&nbsp; mkdir temp</li>
</ul>
<p><b>４．启动Tomcat</b></p>
<p>安装完后，重新启动计算机，以使JAVA_HOME和TOMCAT_HOME的设置生效．然后到</p>
<p>&nbsp;&nbsp;&nbsp; /opt/tomcat/bin</p>
<p>下，运行命令：</p>
<p>&nbsp;&nbsp;&nbsp; ./startup.sh</p>
<p>正常情况下可以见到如下的信息：</p>
<p>&nbsp;&nbsp;&nbsp; Using CATALINA_BASE:&nbsp;&nbsp; /opt/tomcat<br /> &nbsp;&nbsp;&nbsp; Using CATALINA_HOME:&nbsp;&nbsp; /opt/tomcat<br /> &nbsp;&nbsp;&nbsp; Using CATALINA_TEMDIR: /opt/tomcat/temp<br /> &nbsp;&nbsp;&nbsp; Using JAVA_HOME:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /opt/jdk1.4</p>
<p>然后用浏览器打开如下的网页</p>
<p>&nbsp;&nbsp;&nbsp; <a href="http://localhost/"> http://localhost/</a></p>
<p>或者</p>
<p>&nbsp;&nbsp;&nbsp;  <a href="http://localhost:8080/">http://localhost:8080/</a>&nbsp;&nbsp;&nbsp;&nbsp; （如果没有把Port number改为８０）</p>
<p>如果你见到Tomcat的网页（index.jsp），证明Tomcat安装成功，并已经启动．</p>
<p>如要关闭Tomcat，在/opt/tomcat/bin下运行下面的命令即可</p>
<p>&nbsp;&nbsp;&nbsp; ./shutdown.sh</p>
<p><b>5. 注册你自己的项目（Project）</b></p>
<p>假设你有一个自己的JSP项目，他应该安装在下面的目录下：</p>
<p>&nbsp;&nbsp;&nbsp; /opt/tomcat/webapps/myproject</p>
<p>你必须在tomcat/conf/server.xml中加入一行</p>
<p>&nbsp;&nbsp;&nbsp; &lt;Context path=&quot;/myproject&quot; docBase=&quot;myproject&quot; debug=&quot;0&quot;/&gt;</p>
<p>在浏览器中对应的地址为：</p>
<p>&nbsp;&nbsp;&nbsp;  <a href="http://localhost/myproject">http://localhost/myproject</a></p>
<p>&nbsp;</p>
<p><span class="Title">如果想看TOMCAT的控制台信息，命令如下：</span></p>
<p>进入tomcat/logs/文件夹下<br />  键入指令：tail -f catalina.out<br />  <br />  这样就可以与本地电脑一样查看TOMCAT的控制台了。 </p>
<p><a href="http://localhost/myproject"><br /></a></p>]]></description>
		</item>
		
			<item>
			<link>http://blog.mmgg.net/default.asp?id=35</link>
			<title><![CDATA[HTML 中小 meta 的大作用]]></title>
			<author>Fly@MMGG.NET(Fly)</author>
			<category><![CDATA[JSP]]></category>
			<pubDate>Tue,13 May 2008 15:08:49 +0800</pubDate>
			<guid>http://blog.mmgg.net/default.asp?id=35</guid>	
		<description><![CDATA[meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的&lt;head&gt;与&lt;/head&gt;中，meta 标签的用处很多。meta 的属性有两种：name和http-equiv。name属性主要用于描述网页，对应于content（网页内容），以便于搜索引擎机器人查找、分类（目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类）。这其中最重要的是description（站点在搜索引擎上的描述）和keywords（分类关键词），所以应该给每页加一个meta值。比较常用的有以下几个： <br/><br/>name 属性 <br/><br/>1、&lt;meta name=&#34;Generator&#34; contect=&#34;&#34;&gt;用以说明生成工具（如Microsoft FrontPage 4.0）等； <br/><br/>2、&lt;meta name=&#34;KEYWords&#34; contect=&#34;&#34;&gt;向搜索引擎说明你的网页的关键词； <br/><br/>3、&lt;meta name=&#34;DEscription&#34; contect=&#34;&#34;&gt;告诉搜索引擎你的站点的主要内容； <br/><br/>4、&lt;meta name=&#34;Author&#34; contect=&#34;你的姓名&#34;&gt;告诉搜索引擎你的站点的制作的作者； <br/><br/>5、&lt;meta name=&#34;Robots&#34; contect= &#34;all|none|index|noindex|follow|nofollow&#34;&gt; <br/><br/>其中的属性说明如下： <br/><br/>设定为all：文件将被检索，且页面上的链接可以被查询； <br/><br/>设定为none：文件将不被检索，且页面上的链接不可以被查询； <br/><br/>设定为index：文件将被检索； <br/><br/>设定为follow：页面上的链接可以被查询； <br/><br/>设定为noindex：文件将不被检索，但页面上的链接可以被查询； <br/><br/>设定为nofollow：文件将不被检索，页面上的链接可以被查询。 <br/><br/>http-equiv属性 <br/><br/>1、&lt;meta http-equiv=&#34;Content-Type&#34; contect=&#34;text/html&#34;;charset=gb_2312-80&#34;&gt; <br/><br/>和 &lt;meta http-equiv=&#34;Content-Language&#34; contect=&#34;zh-CN&#34;&gt;用以说明主页制作所使用的文字以及语言； <br/><br/>又如英文是ISO-8859-1字符集，还有BIG5、utf-8、shift-Jis、Euc、Koi8-2等字符集； <br/><br/>2、&lt;meta http-equiv=&#34;Refresh&#34; contect=&#34;n;url=http://yourlink&#34;&gt;定时让网页在指定的时间n内，跳转到页面<a href="http://yourlink" target="_blank">http://yourlink</a>； <br/><br/>3、&lt;meta http-equiv=&#34;Expires&#34; contect=&#34;Mon,12 May 2001 00:20:00 GMT&#34;&gt;可以用于设定网页的到期时间，一旦过期则必须到服务器上重新调用。需要注意的是必须使用GMT时间格式； <br/><br/>4、&lt;meta http-equiv=&#34;Pragma&#34; contect=&#34;no-cache&#34;&gt;是用于设定禁止浏览器从本地机的缓存中调阅页面内容，设定后一旦离开网页就无法从Cache中再调出； <br/><br/>5、&lt;meta http-equiv=&#34;set-cookie&#34; contect=&#34;Mon,12 May 2001 00:20:00 GMT&#34;&gt;cookie设定，如果网页过期，存盘的cookie将被删除。需要注意的也是必须使用GMT时间格式； <br/><br/>6、&lt;meta http-equiv=&#34;Pics-label&#34; contect=&#34;&#34;&gt;网页等级评定，在IE的internet选项中有一项内容设置，可以防止浏览一些受限制的网站，而网站的限制级别就是通过meta属性来设置的； <br/><br/>7、&lt;meta http-equiv=&#34;windows-Target&#34; contect=&#34;_top&#34;&gt;强制页面在当前窗口中以独立页面显示，可以防止自己的网页被别人当作一个frame页调用； <br/><br/>8、&lt;meta http-equiv=&#34;Page-Enter&#34; contect=&#34;revealTrans(duration=10,transtion= 50)&#34;&gt;和&lt;meta http-equiv=&#34;Page-Exit&#34; contect=&#34;revealTrans(duration=20，transtion=6)&#34;&gt;设定进入和离开页面时的特殊效果，这个功能即FrontPage中的“格式/网页过渡”，不过所加的页面不能够是一个frame页面。 <br/><br/>以上是常用的几个meta属性，有个人主页的朋友不妨在你的主页中加上它，效果可是不一样的哦：）。<br/>]]></description>
		</item>
		
			<item>
			<link>http://blog.mmgg.net/default.asp?id=6</link>
			<title><![CDATA[随机数字验证码的生成]]></title>
			<author>Fly@MMGG.NET(Fly)</author>
			<category><![CDATA[JSP]]></category>
			<pubDate>Sun,04 May 2008 11:01:57 +0800</pubDate>
			<guid>http://blog.mmgg.net/default.asp?id=6</guid>	
		<description><![CDATA[<p><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br />&nbsp;*&nbsp;Code.java<br />&nbsp;*<br />&nbsp;*&nbsp;Created&nbsp;on&nbsp;2007年9月21日,&nbsp;下午12:08<br />&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br /><br /></span><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000">&nbsp;com.hadeslee;<br /><br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.awt.BasicStroke;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.awt.Color;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.awt.Font;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.awt.GradientPaint;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.awt.Graphics2D;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.awt.GraphicsEnvironment;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.awt.Paint;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.awt.Point;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.awt.Stroke;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.awt.image.BufferedImage;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.io.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.util.ArrayList;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.util.List;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.util.Locale;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.util.Random;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;javax.imageio.ImageIO;<br /><br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;javax.servlet.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;javax.servlet.http.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br /><br /></span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br />&nbsp;*<br />&nbsp;*&nbsp;</span><span style="COLOR: #808080">@author</span><span style="COLOR: #008000">&nbsp;lbf<br />&nbsp;*&nbsp;</span><span style="COLOR: #808080">@version</span><span style="COLOR: #008000"><br />&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Code&nbsp;</span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000">&nbsp;HttpServlet&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000">&nbsp;Processes&nbsp;requests&nbsp;for&nbsp;both&nbsp;HTTP&nbsp;&lt;code&gt;GET&lt;/code&gt;&nbsp;and&nbsp;&lt;code&gt;POST&lt;/code&gt;&nbsp;methods.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000">&nbsp;request&nbsp;servlet&nbsp;request<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000">&nbsp;response&nbsp;servlet&nbsp;response<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;List</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">String</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;fonts</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;ArrayList</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">String</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;Code(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initFonts();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;initFonts(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GraphicsEnvironment.getLocalGraphicsEnvironment().preferLocaleFonts();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;names</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(Locale.CHINA);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(String&nbsp;s:names){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;c</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">s.charAt(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(Character.isLowerCase(c)</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">Character.isUpperCase(c)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fonts.add(s);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&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;processRequest(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000">&nbsp;ServletException,&nbsp;IOException&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setContentType(</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">image/jpeg;charset=UTF-8</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputStream&nbsp;out</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">response.getOutputStream();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufferedImage&nbsp;bi</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;BufferedImage(</span><span style="COLOR: #000000">200</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">50</span><span style="COLOR: #000000">,BufferedImage.TYPE_INT_RGB);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Graphics2D&nbsp;g</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">bi.createGraphics();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">[]&nbsp;cs</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">{</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">6</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">7</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">9</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">};<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">[]&nbsp;use</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setColor(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Color(</span><span style="COLOR: #000000">240</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">240</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">240</span><span style="COLOR: #000000">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.fillRect(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">200</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">50</span><span style="COLOR: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Point&nbsp;p</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">getPoint(i);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;size</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">getSize();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;use[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">cs[(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">cs.length)];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;g.setColor(new&nbsp;Color((int)(Math.random()*256),0,(int)(Math.random()*256)));</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setPaint(getPaint(p,size));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setFont(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Font(fonts.get((</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">fonts.size())),getFace(),size));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.drawString(</span><span style="COLOR: #000000">&quot;&quot;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">use[i],p.x,p.y);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setStroke(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;BasicStroke(</span><span style="COLOR: #000000">1.0f</span><span style="COLOR: #000000">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setPaint(</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setColor(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Color((</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">0x00FFFFFFF</span><span style="COLOR: #000000">)));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.drawLine((</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">200</span><span style="COLOR: #000000">),(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">50</span><span style="COLOR: #000000">),(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">200</span><span style="COLOR: #000000">),(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">50</span><span style="COLOR: #000000">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Random&nbsp;random&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Random();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">88</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;x&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;random.nextInt(</span><span style="COLOR: #000000">200</span><span style="COLOR: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;y&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;random.nextInt(</span><span style="COLOR: #000000">50</span><span style="COLOR: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setColor(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Color((</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">0x00FFFFFFF</span><span style="COLOR: #000000">)));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.setStroke(getStroke());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.drawLine(x,y,x,y);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageIO.write(bi,</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">JPEG</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">,out);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.close();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.dispose();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;Stroke&nbsp;getStroke(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BasicStroke&nbsp;bs</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;BasicStroke((</span><span style="COLOR: #0000ff">float</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;bs;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;Point&nbsp;getPoint(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;index){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Point(</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">(index</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">((</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">40</span><span style="COLOR: #000000">)),</span><span style="COLOR: #000000">40</span><span style="COLOR: #000000">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;Paint&nbsp;getPaint(Point&nbsp;p,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;size){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GradientPaint&nbsp;gp</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;GradientPaint(p.x,p.y,</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Color((</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">256</span><span style="COLOR: #000000">),</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">256</span><span style="COLOR: #000000">)),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.x,p.y</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">size,</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Color((</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">256</span><span style="COLOR: #000000">),(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">256</span><span style="COLOR: #000000">),(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">256</span><span style="COLOR: #000000">)));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;gp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;getFace(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;Font.BOLD;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;Font.ITALIC;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;getSize(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">[]&nbsp;sizes</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">[</span><span style="COLOR: #000000">20</span><span style="COLOR: #000000">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">20</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sizes[i]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">30</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">i;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;sizes[(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">sizes.length)];<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;&lt;editor-fold&nbsp;defaultstate=&quot;collapsed&quot;&nbsp;desc=&quot;HttpServlet&nbsp;methods.&nbsp;Click&nbsp;on&nbsp;the&nbsp;+&nbsp;sign&nbsp;on&nbsp;the&nbsp;left&nbsp;to&nbsp;edit&nbsp;the&nbsp;code.&quot;&gt;</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000">&nbsp;Handles&nbsp;the&nbsp;HTTP&nbsp;&lt;code&gt;GET&lt;/code&gt;&nbsp;method.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000">&nbsp;request&nbsp;servlet&nbsp;request<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000">&nbsp;response&nbsp;servlet&nbsp;response<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br />&nbsp;&nbsp;&nbsp;&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,&nbsp;HttpServletResponse&nbsp;response)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000">&nbsp;ServletException,&nbsp;IOException&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;processRequest(request,&nbsp;response);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000">&nbsp;Handles&nbsp;the&nbsp;HTTP&nbsp;&lt;code&gt;POST&lt;/code&gt;&nbsp;method.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000">&nbsp;request&nbsp;servlet&nbsp;request<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000">&nbsp;response&nbsp;servlet&nbsp;response<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br />&nbsp;&nbsp;&nbsp;&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,&nbsp;HttpServletResponse&nbsp;response)<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000">&nbsp;ServletException,&nbsp;IOException&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;processRequest(request,&nbsp;response);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000">&nbsp;Returns&nbsp;a&nbsp;short&nbsp;description&nbsp;of&nbsp;the&nbsp;servlet.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;String&nbsp;getServletInfo()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">Short&nbsp;description</span><span style="COLOR: #000000">&quot;</span><span style="COLOR: #000000">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;&lt;/editor-fold&gt;</span><span style="COLOR: #008000"><br /></span><span style="COLOR: #000000">}</span></p>]]></description>
		</item>
		
			<item>
			<link>http://blog.mmgg.net/default.asp?id=4</link>
			<title><![CDATA[JS操作HTML表格]]></title>
			<author>Fly@MMGG.NET(Fly)</author>
			<category><![CDATA[JSP]]></category>
			<pubDate>Tue,29 Apr 2008 10:34:50 +0800</pubDate>
			<guid>http://blog.mmgg.net/default.asp?id=4</guid>	
		<description><![CDATA[<p>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>&quot;&gt;<br />&lt;html xmlns=&quot;<a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>&quot;&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=gb2312&quot;/&gt;<br />&lt;title&gt;动态添加删除表格&lt;/title&gt;</p>
<p>&lt;Script Language=&quot;Javascript&quot;&gt;<br />var cGetRow=-99999;</p>
<p>function AddRow()<br />{<br />//添加一行<br />var newTr = tab1.insertRow();<br />//添加两列<br />var newTd0 = newTr.insertCell();<br />var newTd1 = newTr.insertCell();<br />//设置列内容和属性<br />newTd0.innerHTML = '&lt;input type=checkbox id=&quot;box4&quot; onClick=&quot;GetRow()&quot;&gt;'; <br />newTd1.innerText= '新增加行';<br />}</p>
<p>function DelRow(iIndex)<br />{<br />//删除一行<br />if(iIndex==-99999)<br />alert(&quot;系统提示：没有选中行号!&quot;);<br />else <br />tab1.deleteRow(iIndex);<br />}</p>
<p>function GetRow()<br />{<br />//获得行索引<br />//两个parentElement分别是TD和TR哟，rowIndex是TR的属性<br />//this.parentElement.parentElement.rowIndex<br />cGetRow=window.event.srcElement.parentElement.parentElement.rowIndex; <br />}</p>
<p>function ShowRow()<br />{<br />//显示行号<br />alert(cGetRow);<br />//alert(document.getElementsByTagName(&quot;tr&quot;).length);<br />}</p>
<p>&lt;/script&gt;<br />&lt;/head&gt;</p>
<p>&lt;body&gt;<br />&lt;table id=&quot;tab1&quot; border=1&gt;<br />&lt;tr id=&quot;tr1&quot;&gt;<br />&lt;td width=6%&gt;&lt;input type=checkbox id=&quot;box1&quot; onClick=&quot;GetRow()&quot;&gt;&lt;/td&gt;<br />&lt;td id=&quot;a&quot;&gt;第一行&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;tr id=&quot;tr2&quot;&gt;<br />&lt;td width=6%&gt;&lt;input type=checkbox id=&quot;box2&quot; onClick=&quot;GetRow()&quot;&gt;&lt;/td&gt;<br />&lt;td id=&quot;b&quot;&gt;第二行&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;tr id=&quot;tr3&quot;&gt;<br />&lt;td width=6%&gt;&lt;input type=checkbox id=&quot;box3&quot; onClick=&quot;GetRow()&quot;&gt;&lt;/td&gt;<br />&lt;td id=&quot;c&quot;&gt;第三行&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;/table&gt;</p>
<p>&lt;input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;AddRow&quot; onclick=&quot;javascript:AddRow();&quot;&gt;<br />&lt;input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;DelRow&quot; onclick=&quot;javascript:DelRow(cGetRow);&quot;&gt;<br />&lt;input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;ShowRow&quot; onclick=&quot;javascript:ShowRow();&quot;&gt; <br />&lt;/body&gt;<br />&lt;/html&gt; </p>]]></description>
		</item>
		
			<item>
			<link>http://blog.mmgg.net/default.asp?id=3</link>
			<title><![CDATA[CheckBox的全选和反选]]></title>
			<author>Fly@MMGG.NET(Fly)</author>
			<category><![CDATA[JSP]]></category>
			<pubDate>Tue,29 Apr 2008 10:14:05 +0800</pubDate>
			<guid>http://blog.mmgg.net/default.asp?id=3</guid>	
		<description><![CDATA[<p>&lt;input type=checkbox name=chk&gt;<br />&lt;input type=checkbox name=chk&gt;<br />&lt;input type=checkbox name=chk&gt;<br />&lt;input type=checkbox name=chk&gt;<br />&lt;input type=checkbox name=chk&gt;<br />&lt;br&gt;<br />全选：&lt;input type=checkbox onclick=sel('chk')&gt;<br />&lt;br&gt;<br />反选：&lt;input type=checkbox onclick=unsel('chk')&gt;<br />&lt;script language=&quot;javascript&quot;&gt;<br />&nbsp;function sel(a){ <br />&nbsp;&nbsp;o=document.getElementsByName(a);<br />&nbsp;&nbsp;for(i=0;i&lt;o.length;i++) {<br />&nbsp;&nbsp;&nbsp;o[i].checked=true; <br />&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;function unsel(a){<br />&nbsp;&nbsp;o=document.getElementsByName(a);<br />&nbsp;&nbsp;for(i=0;i&lt;o.length;i++) {<br />&nbsp;&nbsp;&nbsp;o[i].checked=false; <br />&nbsp;&nbsp;}<br />&nbsp;}<br />&lt;/script&gt;</p>]]></description>
		</item>
		
</channel>
</rss>