﻿<?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-Topquan's Blog-文章分类-JSP&amp;Servlet</title><link>http://www.blogjava.net/topquan/category/23909.html</link><description>分享价值----成就你我----我的博客----你的家</description><language>zh-cn</language><lastBuildDate>Sat, 07 Jul 2007 14:36:30 GMT</lastBuildDate><pubDate>Sat, 07 Jul 2007 14:36:30 GMT</pubDate><ttl>60</ttl><item><title>几个"小李子"解决JSP的数据库连接</title><link>http://www.blogjava.net/topquan/articles/45041.html</link><dc:creator>topquan</dc:creator><author>topquan</author><pubDate>Mon, 08 May 2006 08:44:00 GMT</pubDate><guid>http://www.blogjava.net/topquan/articles/45041.html</guid><wfw:comment>http://www.blogjava.net/topquan/comments/45041.html</wfw:comment><comments>http://www.blogjava.net/topquan/articles/45041.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/topquan/comments/commentRss/45041.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/topquan/services/trackbacks/45041.html</trackback:ping><description><![CDATA[<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">现在有好多初学</span> <span lang=EN-US>jsp</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的网友经常会问数据库怎么连接啊，怎么老出错啊？所以我集中的写这篇文章供大家参考，其实这种把数据库逻辑全部放在</span> <span lang=EN-US>jsp</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">里未必是好的做法，但是有利于初学者学习，所以我就这样做了，当大家学到一定程度的时候，可以考虑用</span> <span lang=EN-US>MVC</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的模式开发。在练习这些代码的时候，你需要将</span> <span lang=EN-US>jdbc</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的驱动程序放到服务器的类路径里，然后要在数据库里建一个表</span> <span lang=EN-US>test,</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有两个字段比如为</span> <span lang=EN-US>test1</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span> <span lang=EN-US>test2</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，可以用下面</span> <span lang=EN-US>SQL</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">建</span> <span lang=EN-US><br>create table test(test1 varchar(20),test2 varchar(20)) <br></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后向这个表写入一条测试纪录</span> <span lang=EN-US><br></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那么现在开始我们的</span> <span lang=EN-US>jsp</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和数据库之旅吧:</span> <span lang=EN-US><br></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一、</span> <span lang=EN-US>jsp</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">连接</span> <span lang=EN-US>Oracle8/8i/9i</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库（用</span> <span lang=EN-US>thin</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">模式）</span> <span lang=EN-US><br>testoracle.jsp</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如下：</span> <span lang=EN-US><br>&lt;%@ page contentType="text/html;charset=gb2312"%&gt; <br>&lt;%@ page import="java.sql.*"%&gt; <br>&lt;html&gt; <br>&lt;body&gt; <br>&lt;%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); <br>String url="jdbc:oracle:thin:@localhost:1521:orcl"; <br>//orcl</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为你的数据库的</span> <span lang=EN-US>SID <br>String user="scott"; <br>String password="tiger"; <br>Connection conn= DriverManager.getConnection(url,user,password); <br>Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENS99vIVE,ResultSet.CONCUR_UPDATABLE); <br>String sql="select * from test"; <br>ResultSet rs=stmt.executeQuery(sql); <br>while(rs.next()) {%&gt; <br></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">您的第一个字段内容为：</span> <span lang=EN-US>&lt;%=rs.getString(1)%&gt; <br></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">您的第二个字段内容为：</span> <span lang=EN-US>&lt;%=rs.getString(2)%&gt; <br>&lt;%}%&gt; <br>&lt;%out.print("</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库操作成功，恭喜你</span> <span lang=EN-US>");%&gt; <br>&lt;%rs.close(); <br>stmt.close(); <br>conn.close(); <br>%&gt; <br>&lt;/body&gt; <br>&lt;/html&gt; <br></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">二、</span> <span lang=EN-US>jsp</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">连接</span> <span lang=EN-US>Sql Server7.0/2000</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库</span> <span lang=EN-US><br>testsqlserver.jsp</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如下：</span> <span lang=EN-US><br>&lt;%@ page contentType="text/html;charset=gb2312"%&gt; <br>&lt;%@ page import="java.sql.*"%&gt; <br>&lt;html&gt; <br>&lt;body&gt; <br>&lt;%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); <br>String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; <br>//pubs</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为你的数据库的</span> <span lang=EN-US><br>String user="sa"; <br>String password=""; <br>Connection conn= DriverManager.getConnection(url,user,password); <br>Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENS99vIVE,ResultSet.CONCUR_UPDATABLE); <br>String sql="select * from test"; <br>ResultSet rs=stmt.executeQuery(sql); <br>while(rs.next()) {%&gt; <br></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">您的第一个字段内容为：</span> <span lang=EN-US>&lt;%=rs.getString(1)%&gt; <br></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">您的第二个字段内容为：</span> <span lang=EN-US>&lt;%=rs.getString(2)%&gt; <br>&lt;%}%&gt; <br>&lt;%out.print("</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库操作成功，恭喜你</span> <span lang=EN-US>");%&gt; <br>&lt;%rs.close(); <br>stmt.close(); <br>conn.close(); <br>%&gt; <br>&lt;/body&gt; <br>&lt;/html&gt; <br></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">三、</span> <span lang=EN-US>jsp</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">连接</span> <span lang=EN-US>DB2</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库</span> <span lang=EN-US><br>testdb2.jsp</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如下：</span> <span lang=EN-US><br>&lt;%@ page contentType="text/html;charset=gb2312"%&gt; <br>&lt;%@ page import="java.sql.*"%&gt; <br>&lt;html&gt; <br>&lt;body&gt; <br>&lt;%Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); <br>String url="jdbc:db2://localhost:5000/sample"; <br>//sample</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为你的数据库名</span> <span lang=EN-US><br>String user="admin"; <br>String password=""; <br>Connection conn= DriverManager.getConnection(url,user,password); <br>Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENS99vIVE,ResultSet.CONCUR_UPDATABLE); <br>String sql="select * from test"; <br>ResultSet rs=stmt.executeQuery(sql); <br>while(rs.next()) {%&gt; <br></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">您的第一个字段内容为：</span> <span lang=EN-US>&lt;%=rs.getString(1)%&gt; <br></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">您的第二个字段内容为：</span> <span lang=EN-US>&lt;%=rs.getString(2)%&gt; <br>&lt;%}%&gt; <br>&lt;%out.print("</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库操作成功，恭喜你</span> <span lang=EN-US>");%&gt; <br>&lt;%rs.close(); <br>stmt.close(); <br>conn.close(); <br>%&gt; <br>&lt;/body&gt; <br>&lt;/html&gt; <br></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">四、</span> <span lang=EN-US>jsp</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">连接</span> <span lang=EN-US>Informix</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库</span> <span lang=EN-US><br>testinformix.jsp</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如下：</span> <span lang=EN-US><br>&lt;%@ page contentType="text/html;charset=gb2312"%&gt; <br>&lt;%@ page import="java.sql.*"%&gt; <br>&lt;html&gt; <br>&lt;body&gt; <br>&lt;%Class.forName("com.informix.jdbc.IfxDriver").newInstance(); <br>String url = <br>"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver; <br>user=testuser;password=testpassword"; <br>//testDB</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为你的数据库名</span> <span lang=EN-US><br>Connection conn= DriverManager.getConnection(url); <br>Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENS99vIVE,ResultSet.CONCUR_UPDATABLE); <br>String sql="select * from test"; <br>ResultSet rs=stmt.executeQuery(sql); <br>while(rs.next()) {%&gt; <br></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">您的第一个字段内容为：</span> <span lang=EN-US>&lt;%=rs.getString(1)%&gt; <br></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">您的第二个字段内容为：</span> <span lang=EN-US>&lt;%=rs.getString(2)%&gt; <br>&lt;%}%&gt; <br>&lt;%out.print("</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库操作成功，恭喜你</span> <span lang=EN-US>");%&gt; <br>&lt;%rs.close(); <br>stmt.close(); <br>conn.close(); <br>%&gt; <br>&lt;/body&gt; <br>&lt;/html&gt; <br></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">五、</span> <span lang=EN-US>jsp</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">连接</span> <span lang=EN-US>Sybase</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据库</span> <span lang=EN-US><br>testmysql.jsp</span> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如下：</span> <span lang=EN-US><br>&lt;%@ page contentType="text/html;charset=gb2312"%&gt; <br>&lt;%@ page import="java.sql.*"%&gt; <br>&lt;html&gt; <br>&lt;body&gt;</span> </p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span class=f1411><span lang=EN-US><font face=Arial color=#444444>&lt;%Class.forName("com.sybase.jdbc.SybDriver").newInstance(); </font></span></span><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br><span class=f1411>String url =" jdbc:sybase:Tds:localhost:5007/tsdata"; </span><br><span class=f1411>//tsdata</span> </span><span class=f1411><font color=#444444><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">为你的数据库名</span> <font face=Arial></font></font></span><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br><span class=f1411>Properties sysProps = System.getProperties(); </span><br><span class=f1411>SysProps.put("user","userid"); </span><br><span class=f1411>SysProps.put("password","user_password"); </span><br><span class=f1411>Connection conn= DriverManager.getConnection(url, SysProps); </span><br><span class=f1411>Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENS99vIVE,ResultSet.CONCUR_UPDATABLE); </span><br><span class=f1411>String sql="select * from test"; </span><br><span class=f1411>ResultSet rs=stmt.executeQuery(sql); </span><br><span class=f1411>while(rs.next()) {%&gt; </span><br></span><span class=f1411><font color=#444444><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">您的第一个字段内容为：</span> <span lang=EN-US><font face=Arial>&lt;%=rs.getString(1)%&gt; </font></span></font></span><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br></span><span class=f1411><font color=#444444><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">您的第二个字段内容为：</span> <span lang=EN-US><font face=Arial>&lt;%=rs.getString(2)%&gt; </font></span></font></span><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br><span class=f1411>&lt;%}%&gt; </span><br><span class=f1411>&lt;%out.print("</span> </span><span class=f1411><font color=#444444><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">数据库操作成功，恭喜你</span> <span lang=EN-US><font face=Arial>");%&gt; </font></span></font></span><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br><span class=f1411>&lt;%rs.close(); </span><br><span class=f1411>stmt.close(); </span><br><span class=f1411>conn.close(); </span><br><span class=f1411>%&gt; </span><br><span class=f1411>&lt;/body&gt; </span><br><span class=f1411>&lt;/html&gt; </span><br></span><font color=#444444><span class=f1411><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">六、</span> <span lang=EN-US><font face=Arial>jsp</font> </span></span><span class=f1411><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">连接</span> <span lang=EN-US><font face=Arial>MySQL</font> </span></span><span class=f1411><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">数据库</span> <font face=Arial></font></span></font><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br><span class=f1411>testmysql.jsp</span> </span><span class=f1411><font color=#444444><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">如下：</span> <font face=Arial></font></font></span><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br><span class=f1411>&lt;%@ page contentType="text/html;charset=gb2312"%&gt; </span><br><span class=f1411>&lt;%@ page import="java.sql.*"%&gt; </span><br><span class=f1411>&lt;html&gt; </span><br><span class=f1411>&lt;body&gt; </span><br><span class=f1411>&lt;%Class.forName("org.gjt.mm.mysql.Driver").newInstance(); </span><br><span class=f1411>String url ="jdbc:mysql://localhost/softforum?user=soft&amp;password=soft1234&amp;useUnicode=true&amp;characterEncoding=8859_1" </span><br><span class=f1411>//testDB</span> </span><span class=f1411><font color=#444444><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">为你的数据库名</span> <font face=Arial></font></font></span><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br><span class=f1411>Connection conn= DriverManager.getConnection(url); </span><br><span class=f1411>Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENS99vIVE,ResultSet.CONCUR_UPDATABLE); </span><br><span class=f1411>String sql="select * from test"; </span><br><span class=f1411>ResultSet rs=stmt.executeQuery(sql); </span><br><span class=f1411>while(rs.next()) {%&gt; </span><br></span><span class=f1411><font color=#444444><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">您的第一个字段内容为：</span> <span lang=EN-US><font face=Arial>&lt;%=rs.getString(1)%&gt; </font></span></font></span><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br></span><span class=f1411><font color=#444444><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">您的第二个字段内容为：</span> <span lang=EN-US><font face=Arial>&lt;%=rs.getString(2)%&gt; </font></span></font></span><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br><span class=f1411>&lt;%}%&gt; </span><br><span class=f1411>&lt;%out.print("</span> </span><span class=f1411><font color=#444444><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">数据库操作成功，恭喜你</span> <span lang=EN-US><font face=Arial>");%&gt; </font></span></font></span><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br><span class=f1411>&lt;%rs.close(); </span><br><span class=f1411>stmt.close(); </span><br><span class=f1411>conn.close(); </span><br><span class=f1411>%&gt; </span><br><span class=f1411>&lt;/body&gt; </span><br><span class=f1411>&lt;/html&gt; </span><br></span><font color=#444444><span class=f1411><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">七、</span> <span lang=EN-US><font face=Arial>jsp</font> </span></span><span class=f1411><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">连接</span> <span lang=EN-US><font face=Arial>PostgreSQL</font> </span></span><span class=f1411><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">数据库</span> <font face=Arial></font></span></font><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br><span class=f1411>testmysql.jsp</span> </span><span class=f1411><font color=#444444><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">如下：</span> <font face=Arial></font></font></span><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br><span class=f1411>&lt;%@ page contentType="text/html;charset=gb2312"%&gt; </span><br><span class=f1411>&lt;%@ page import="java.sql.*"%&gt; </span><br><span class=f1411>&lt;html&gt; </span><br><span class=f1411>&lt;body&gt; </span><br><span class=f1411>&lt;%Class.forName("org.postgresql.Driver").newInstance(); </span><br><span class=f1411>String url ="jdbc:postgresql://localhost/soft" </span><br><span class=f1411>//soft</span> </span><span class=f1411><font color=#444444><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">为你的数据库名</span> <font face=Arial></font></font></span><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br><span class=f1411>String user="myuser"; </span><br><span class=f1411>String password="mypassword"; </span><br><span class=f1411>Connection conn= DriverManager.getConnection(url,user,password); </span><br><span class=f1411>Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENS99vIVE,ResultSet.CONCUR_UPDATABLE); </span><br><span class=f1411>String sql="select * from test"; </span><br><span class=f1411>ResultSet rs=stmt.executeQuery(sql); </span><br><span class=f1411>while(rs.next()) {%&gt; </span><br></span><span class=f1411><font color=#444444><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">您的第一个字段内容为：</span> <span lang=EN-US><font face=Arial>&lt;%=rs.getString(1)%&gt; </font></span></font></span><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br></span><span class=f1411><font color=#444444><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">您的第二个字段内容为：</span> <span lang=EN-US><font face=Arial>&lt;%=rs.getString(2)%&gt; </font></span></font></span><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br><span class=f1411>&lt;%}%&gt; </span><br><span class=f1411>&lt;%out.print("</span> </span><span class=f1411><font color=#444444><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'arial,sans-serif'; mso-hansi-font-family: 'arial,sans-serif'">数据库操作成功，恭喜你</span> <span lang=EN-US><font face=Arial>");%&gt; </font></span></font></span><span lang=EN-US style="COLOR: #444444; FONT-FAMILY: arial,sans-serif; mso-bidi-font-size: 10.5pt"><br><span class=f1411>&lt;%rs.close(); </span><br><span class=f1411>stmt.close(); </span><br><span class=f1411>conn.close(); </span><br><span class=f1411>%&gt; </span><br><span class=f1411>&lt;/body&gt; </span><br><span class=f1411>&lt;/html&gt;</span> </span></p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/topquan/aggbug/45041.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/topquan/" target="_blank">topquan</a> 2006-05-08 16:44 <a href="http://www.blogjava.net/topquan/articles/45041.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个JSP+JAVABEAN+XML开发例子</title><link>http://www.blogjava.net/topquan/articles/45040.html</link><dc:creator>topquan</dc:creator><author>topquan</author><pubDate>Mon, 08 May 2006 08:36:00 GMT</pubDate><guid>http://www.blogjava.net/topquan/articles/45040.html</guid><wfw:comment>http://www.blogjava.net/topquan/comments/45040.html</wfw:comment><comments>http://www.blogjava.net/topquan/articles/45040.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/topquan/comments/commentRss/45040.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/topquan/services/trackbacks/45040.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本例子是参考了一些网站上有关 JSP&nbsp; 对 &nbsp;XML&nbsp; 的操作的相关文档，又结合了一些个人的体会。例子涉及的内容是，开发的一个企业内部定餐系统后台管理端的部分代码，功能主要集中在对于餐馆基本信息的管理。 该例子本身开发的起因是我在原公司和同事们一个玩笑的一部分。特此也表达对那些一起共事的朋友们的想念。 例子本身是在 TOMCAT4.01&nbsp; 平台下运行的 B/...&nbsp;&nbsp;<a href='http://www.blogjava.net/topquan/articles/45040.html'>阅读全文</a><img src ="http://www.blogjava.net/topquan/aggbug/45040.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/topquan/" target="_blank">topquan</a> 2006-05-08 16:36 <a href="http://www.blogjava.net/topquan/articles/45040.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP内建对象- -    </title><link>http://www.blogjava.net/topquan/articles/45016.html</link><dc:creator>topquan</dc:creator><author>topquan</author><pubDate>Mon, 08 May 2006 07:25:00 GMT</pubDate><guid>http://www.blogjava.net/topquan/articles/45016.html</guid><wfw:comment>http://www.blogjava.net/topquan/comments/45016.html</wfw:comment><comments>http://www.blogjava.net/topquan/articles/45016.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/topquan/comments/commentRss/45016.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/topquan/services/trackbacks/45016.html</trackback:ping><description><![CDATA[<div class=postcontent>&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;
<p>&#160;</p>
<p><font face="Courier New"><strong>① out - javax.servlet.jsp.jspWriter</strong><br>&nbsp;&nbsp; out对象用于把结果输出到网页上。</font></p>
<p><font face="Courier New">方法：<br>1. void clear() ;<br>&nbsp;&nbsp; 清除输出缓冲区的内容，但是不输出到客户端。</font></p>
<p><font face="Courier New">2. void clearBuffer() ;<br>&nbsp;&nbsp; 清除输出缓冲区的内容，并输出到客户端。</font></p>
<p><font face="Courier New">3. void close() ;<br>&nbsp;&nbsp; 关闭输出流，清除所有内容。</font></p>
<p><font face="Courier New">4. void flush() ;<br>&nbsp;&nbsp; 输出缓冲区里面的数据。</font></p>
<p><font face="Courier New">5. int getBufferSize() ;<br>&nbsp;&nbsp; 获取以kb为单位的目前缓冲区大小。</font></p>
<p><font face="Courier New">6. int getRemaining() ;<br>&nbsp;&nbsp; 获取以kb为单位的缓冲区中未被占用的空间大小。</font></p>
<p><font face="Courier New">7. boolean isAutoFlush() ;<br>&nbsp;&nbsp; 是否自动刷新缓冲区。</font></p>
<p><font face="Courier New">8. void newLine() ;<br>&nbsp;&nbsp; 输出一个换行字符。</font></p>
<p><font face="Courier New">9. void print( boolean b ) ;<br>&nbsp;&nbsp; void print( char c ) ;<br>&nbsp;&nbsp; void print( char[] s ) ;<br>&nbsp;&nbsp; void print( double d ) ;<br>&nbsp;&nbsp; void print( float f ) ;<br>&nbsp;&nbsp; void print( int i ) ;<br>&nbsp;&nbsp; void print( long l ) ;<br>&nbsp;&nbsp; void print( Object obj ) ;<br>&nbsp;&nbsp; void print( String s ) ;<br>&nbsp;&nbsp; 将指定类型的数据输出到Http流，不换行。</font></p>
<p><font face="Courier New">10. void println( boolean b ) ;<br>&nbsp;&nbsp;&nbsp; void println( char c ) ;<br>&nbsp;&nbsp;&nbsp; void println( char[] s ) ;<br>&nbsp;&nbsp;&nbsp; void println( double d ) ;<br>&nbsp;&nbsp;&nbsp; void println( float f ) ;<br>&nbsp;&nbsp;&nbsp; void println( int i ) ;<br>&nbsp;&nbsp;&nbsp; void println( long l ) ;<br>&nbsp;&nbsp;&nbsp; void println( Object obj ) ;<br>&nbsp;&nbsp;&nbsp; void println( String s ) ;<br>&nbsp;&nbsp;&nbsp; 将指定类型的数据输出到Http流，并输出一个换行符。<br>&nbsp;&nbsp;&nbsp; <br>11. Appendable append( char c ) ;<br>&nbsp;&nbsp;&nbsp; Appendable append( CharSequence cxq, int start, int end ) ;<br>&nbsp;&nbsp;&nbsp; Appendable append( CharSequence cxq ) ;<br>&nbsp;&nbsp;&nbsp; 将一个字符或者实现了CharSequence接口的对象添加到输出流的后面。</font></p>
<p><font face="Courier New">成员：<br>int DEFAULT_BUFFER = 0&nbsp;&nbsp;&nbsp; - 缺省缓冲区大小<br>int NO_BUFFER = -1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - writer是否处于缓冲输出状态<br>int UNBOUNDED_BUFFER = -2 - 是否限制缓冲区大小</font></p>
<p><br><font face="Courier New"><strong>② request - javax.servlet.http.HttpServletRequest<br></strong>&nbsp;&nbsp; request对象包含所有请求的信息，如请求的来源、标头、cookies和请求相关的参数值等。</font></p>
<p><font face="Courier New">方法：<br>1. Object getAttribute( String name ) ;<br>&nbsp;&nbsp; 返回由name指定的属性值，该属性不存在时返回null。</font></p>
<p><font face="Courier New">2. Enumeration getAttributeNames() ;<br>&nbsp;&nbsp; 返回request对象的所有属性名称的集合。</font></p>
<p><font face="Courier New">3. String getAuthType() ;<br>&nbsp;&nbsp; 返回用来保护servlet的认证方法的名称，未受保护时返回null。</font></p>
<p><font face="Courier New">4. String getCharacterEncoding() ;<br>&nbsp;&nbsp; 返回请求中的字符编码方法，可以在response对象中设置。</font></p>
<p><font face="Courier New">5. int getContentLength() ;<br>&nbsp;&nbsp; 返回请求的BODY的长度，不能确定长度时返回-1。可以在response中设置。</font></p>
<p><font face="Courier New">6. String getContentType() ;<br>&nbsp;&nbsp; 返回在response中定义的内容类型。</font></p>
<p><font face="Courier New">7. String getContentPath() ;<br>&nbsp;&nbsp; 返回请求的路径。</font></p>
<p><font face="Courier New">8. Cookie[] getCookies() ;<br>&nbsp;&nbsp; 返回客户端所有的Cookie的数组。</font></p>
<p><font face="Courier New">9. Enumeration getHeaderNames() ;<br>&nbsp;&nbsp; 返回所有HTTP头的名称的集合。</font></p>
<p><font face="Courier New">10. Enumeration getHeaders( String name ) ;<br>&nbsp;&nbsp;&nbsp; 返回指定HTTP头的所有值的集合。</font></p>
<p><font face="Courier New">11. String getHeader( String name ) ;<br>&nbsp;&nbsp;&nbsp; 返回指定名称的HTTP头的信息。</font></p>
<p><font face="Courier New">12. long getDateHeader( String name ) ;<br>&nbsp;&nbsp;&nbsp; 返回指定名称的Data类型的HTTP头的信息。</font></p>
<p><font face="Courier New">13. int getIntHeader( String name ) ;<br>&nbsp;&nbsp;&nbsp; 返回指定名称的Int类型的HTTP头的信息。</font></p>
<p><font face="Courier New">14. ServletInputStream getInputStream() ;<br>&nbsp;&nbsp;&nbsp; 返回请求的输入流。</font></p>
<p><font face="Courier New">15. Locale getLocale() ;<br>&nbsp;&nbsp;&nbsp; 返回当前页的Locale对象，可以在response中设定。</font></p>
<p><font face="Courier New">16. Enumeration getLocales() ;<br>&nbsp;&nbsp;&nbsp; 返回请求中所有的Locale对象的集合。</font></p>
<p><font face="Courier New">17. String getLocalName() ;<br>&nbsp;&nbsp;&nbsp; 获取响应请求的服务器端主机名。</font></p>
<p><font face="Courier New">18. String getLocalAddr() ;<br>&nbsp;&nbsp;&nbsp; 获取响应请求的服务器端地址。</font></p>
<p><font face="Courier New">19. int getLocalPort() ;<br>&nbsp;&nbsp;&nbsp; 获取响应请求的服务器端端口</font></p>
<p><font face="Courier New">20. String getMethod() ;<br>&nbsp;&nbsp;&nbsp; 获取客户端向服务器端发送请求的方法(GET、POST)。</font></p>
<p><font face="Courier New">21. String getParameter( String name ) ;<br>&nbsp;&nbsp;&nbsp; 获取客户端发送给服务器端的参数值。</font></p>
<p><font face="Courier New">22. Map getParameterMap() ;<br>&nbsp;&nbsp;&nbsp; 该方法返回包含请求中所有参数的一个Map对象。</font></p>
<p><font face="Courier New">23. Enumeration getParameterNames() ;<br>&nbsp;&nbsp;&nbsp; 返回请求中所有参数的集合。</font></p>
<p><font face="Courier New">24. String[] getParameterValues( String name ) ;<br>&nbsp;&nbsp;&nbsp; 获得请求中指定参数的所有值。</font></p>
<p><font face="Courier New">25. String getQueryString() ;<br>&nbsp;&nbsp;&nbsp; 返回get方法传递的参数字符串，该方法不分解出单独的参数。</font></p>
<p><font face="Courier New">26. String getPathInfo() ;<br>&nbsp;&nbsp;&nbsp; 取出请求中处于ServletPath和QueryString之间的额外信息。</font></p>
<p><font face="Courier New">27. String getPathTranslated() ;<br>&nbsp;&nbsp;&nbsp; 返回用getPathInfo()方法取得的路径信息的实际路径。</font></p>
<p><font face="Courier New">28. String getProtocol() ;<br>&nbsp;&nbsp;&nbsp; 返回请求使用的协议。可以是HTTP1.1或者HTTP1.0。</font></p>
<p><font face="Courier New">29. BufferedReader getReader() ;<br>&nbsp;&nbsp;&nbsp; 返回请求的输入流对应的Reader对象，该方法和getInputStream()方法在一个页面中只能调用一个。</font></p>
<p><font face="Courier New">30. String getRemoteAddr() ;<br>&nbsp;&nbsp;&nbsp; 获取发出请求的客户端IP地址。</font></p>
<p><font face="Courier New">31. String getRemoteHost() ;<br>&nbsp;&nbsp;&nbsp; 获取发出请求的客户端主机名</font></p>
<p><font face="Courier New">32. String getRemoteUser() ;<br>&nbsp;&nbsp;&nbsp; 返回经过客户端验证的用户名，未经验证返回null。</font></p>
<p><font face="Courier New">33. int getRemotePort() ;<br>&nbsp;&nbsp;&nbsp; 返回发出请求的客户端主机端口。</font></p>
<p><font face="Courier New">34. String getRealPath( String path ) ;<br>&nbsp;&nbsp;&nbsp; 返回给定虚拟路径的物理路径。</font></p>
<p><font face="Courier New">35. RequestDispatcher getRequestDispatcher( String path ) ;<br>&nbsp;&nbsp;&nbsp; 按给定的路径生成资源转向处理适配器对象。</font></p>
<p><font face="Courier New">36. String getRequestedSessionId() ;<br>&nbsp;&nbsp;&nbsp; 返回请求的session的标识。</font></p>
<p><font face="Courier New">37. String RequestURI() ;<br>&nbsp;&nbsp;&nbsp; 返回发出请求的客户端地址，但是不包括请求的参数字符串。</font></p>
<p><font face="Courier New">38. StringBuffer getRequestURI() ;<br>&nbsp;&nbsp;&nbsp; 返回响应请求的服务器端地址</font></p>
<p><font face="Courier New">39. String getScheme() ;<br>&nbsp;&nbsp;&nbsp; 获取协议名称，缺省值为HTTP协议。</font></p>
<p><font face="Courier New">40. String getServerName() ;<br>&nbsp;&nbsp;&nbsp; 返回响应请求的服务器名称。</font></p>
<p><font face="Courier New">41. String getServletPath() ;<br>&nbsp;&nbsp;&nbsp; 获取客户端所请求的脚本文件的文件路径。</font></p>
<p><font face="Courier New">42. int getServerPort() ;<br>&nbsp;&nbsp;&nbsp; 获取响应请求的服务器端主机端口号。</font></p>
<p><font face="Courier New">43. void removeAttribute( String name ) ;<br>&nbsp;&nbsp;&nbsp; 在属性列表中删除指定名称的属性。</font></p>
<p><font face="Courier New">44. void setAttribute( String name, Object value ) ;<br>&nbsp;&nbsp;&nbsp; 在属性列表中添加/删除指定的属性。</font></p>
<p><font face="Courier New">45. void setCharacterEncoding( String name ) ;<br>&nbsp;&nbsp;&nbsp; 设置请求的字符编码格式。</font></p>
<p><font face="Courier New">46. HttpSession getSession() ;<br>&nbsp;&nbsp;&nbsp; HttpSession getSession( boolean create ) ;<br>&nbsp;&nbsp;&nbsp; 获取session，如果create为true，在无session的情况下创建一个。<br>&nbsp;&nbsp;&nbsp; <br>47. boolean isRequestedSessionIdFromCookie() ;<br>&nbsp;&nbsp;&nbsp; 检查请求的会话ID是否为通过Cookie传入。</font></p>
<p><font face="Courier New">48. boolean isRequestedSessionIdFromURL() ;<br>&nbsp;&nbsp;&nbsp; 检查请求的会话ID是否为通过URL传入。</font></p>
<p><font face="Courier New">49. boolean isRequestedSessionIdValid() ;<br>&nbsp;&nbsp;&nbsp; 检查请求的会话ID是否仍然有效。</font></p>
<p><font face="Courier New">50. boolean isSecure() ;<br>&nbsp;&nbsp;&nbsp; 检查请求是否使用安全链接，如果HTTPS等。</font></p>
<p><font face="Courier New">51. boolean isUserInRole( String role ) ;<br>&nbsp;&nbsp;&nbsp; 检查已经通过验证的用户是否在是role所指定的角色。</font></p>
<p><font face="Courier New">52. Principal getUserPrincipal() ;<br>&nbsp;&nbsp;&nbsp; 返回包含用户登陆名的一个java.security.Principal对象。</font></p>
<p><font face="Courier New">成员：<br>String BASIC_AUTH = "BASIC"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <br>String CLIENT_CERT_AUTH = "CLIENT_CERT" - <br>String DIGEST_AUTH = "DIGEST"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <br>String FORM_AUTH = "FORM"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - </font></p>
<p><br><font face="Courier New"><strong>③ response - javax.servlet.http.HttpServletResponse</strong><br>&nbsp;&nbsp; response对象主要将JSP容器处理后的结果传回到客户端。</font></p>
<p><font face="Courier New">方法：<br>1. void addCookie( Cookie cookie ) ;<br>&nbsp;&nbsp; 添加一个Cookie对象，保存客户端信息。</font></p>
<p><font face="Courier New">2. void addDateHeader( String name, long value ) ;<br>&nbsp;&nbsp; 添加一个日期类型的HTTP头信息，覆盖同名的HTTP头信息。</font></p>
<p><font face="Courier New">3. void addHeader( String name, String value ) ;<br>&nbsp;&nbsp; 添加一个HTTP头，覆盖同名的旧HTTP头。</font></p>
<p><font face="Courier New">4. void addIntHeader( String name, int value ) ;<br>&nbsp;&nbsp; 添加一个整型的HTTP头，覆盖同名的旧HTTP头。</font></p>
<p><font face="Courier New">5. boolean containsHeader( String name ) ;<br>&nbsp;&nbsp; 判断指定的HTTP头是否存在。</font></p>
<p><font face="Courier New">6. String encodeRedirectURL( String url ) ;<br>&nbsp;&nbsp; 对sendRedirect()方法使用的URL进行编码。</font></p>
<p><font face="Courier New">7. String encodeURL( String url ) ;<br>&nbsp;&nbsp; 将URL予以编码，回传包含session ID的URL。<br>&nbsp;&nbsp; <br>8. void flushBuffer() ;<br>&nbsp;&nbsp; 强制把当前缓冲区的内容发送到客户端。</font></p>
<p><font face="Courier New">9. int getBufferSize() ;<br>&nbsp;&nbsp; 取得以kb为单位的缓冲区大小。</font></p>
<p><font face="Courier New">10. String getCharacterEncoding() ;<br>&nbsp;&nbsp;&nbsp; 获取响应的字符编码格式。</font></p>
<p><font face="Courier New">11. String getContentType() ;<br>&nbsp;&nbsp;&nbsp; 获取响应的类型。</font></p>
<p><font face="Courier New">12. Locale getLocale() ;<br>&nbsp;&nbsp;&nbsp; 获取响应的Locale对象。</font></p>
<p><font face="Courier New">13. ServletOutputStream getOutputStream() ;<br>&nbsp;&nbsp;&nbsp; 返回客户端的输出流对象。</font></p>
<p><font face="Courier New">14. PrintWriter getWriter() ;<br>&nbsp;&nbsp;&nbsp; 获取输出流对应的writer对象。</font></p>
<p><font face="Courier New">15. boolean isCommitted() ;<br>&nbsp;&nbsp;&nbsp; 判断服务器端是否已经将数据输出到客户端。</font></p>
<p><font face="Courier New">16. void reset() ;<br>&nbsp;&nbsp;&nbsp; 清空buffer中的所有内容。</font></p>
<p><font face="Courier New">17. void resetBuffer() ;<br>&nbsp;&nbsp;&nbsp; 情况buffer中所有的内容，但是保留HTTP头和状态信息。</font></p>
<p><font face="Courier New">18. void sendError( int xc, String msg ) ;<br>&nbsp;&nbsp;&nbsp; void sendError( int xc ) ;<br>&nbsp;&nbsp;&nbsp; 发送错误，包括状态码和错误信息。</font></p>
<p><font face="Courier New">19. void sendRedirect( String locationg ) ;<br>&nbsp;&nbsp;&nbsp; 把响应发送到另外一个位置进行处理。</font></p>
<p><font face="Courier New">20. void setBufferSize( int size ) ;<br>&nbsp;&nbsp;&nbsp; 设置以kb为单位的缓冲区大小。</font></p>
<p><font face="Courier New">21. void setCharacterEncoding( String charset ) ;<br>&nbsp;&nbsp;&nbsp; 设置响应使用的字符编码格式。</font></p>
<p><font face="Courier New">22. void setContentLength( int length ) ;<br>&nbsp;&nbsp;&nbsp; 设置响应的BODY长度。</font></p>
<p><font face="Courier New">23. void setContentType( String type ) ;<br>&nbsp;&nbsp;&nbsp; 设置响应的类型。</font></p>
<p><font face="Courier New">24. void setDateHeader( String name, long value ) ;<br>&nbsp;&nbsp;&nbsp; 设置指定名称的Data类型的HTTP头的值。</font></p>
<p><font face="Courier New">25. void setHeader( String name, String value ) ;<br>&nbsp;&nbsp;&nbsp; 设置指定名称的HTTP头的值。</font></p>
<p><font face="Courier New">26. void setIntHeader( String name, int value ) ;<br>&nbsp;&nbsp;&nbsp; 设置指定名称的int类型的HTTP头的值。</font></p>
<p><font face="Courier New">27. void setStatus( int xc ) ;<br>&nbsp;&nbsp;&nbsp; 设置响应状态码，新值会覆盖当前值。</font></p>
<p><font face="Courier New">成员(HTTP状态码)：<br>int SC_CONTINUE = 100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_SWITCHING_PROTOCOLS = 101<br>int SC_OK = 200&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; int SC_NON_AUTHORITATIVE_INFORMATION = 203<br>int SC_ACCEPTED = 202&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_CREATED = 201<br>int SC_NO_CONTENT = 204&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_RESET_CONTENT = 205<br>int SC_PARTIAL_CONTENT = 206&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_MULTIPLE_CHOICES = 300<br>int SC_MOVED_PERMANENTLY = 301&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_MOVED_TEMPORARILY = 302<br>int SC_FOUND = 302&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_SEE_OTHER = 303<br>int SC_NOT_MODIFIED = 304&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_USE_PROXY = 305<br>int SC_TEMPORARY_REDIRECT = 307&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_BAD_REQUEST = 400<br>int SC_UNAUTHORIZED = 401&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_PAYMENT_REQUIRED = 402<br>int SC_FORBIDDEN = 403&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_NOT_FOUND = 404<br>int SC_METHOD_NOT_ALLOWED = 405&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_NOT_ACCEPTABLE = 406<br>int SC_PROXY_AUTHENTICATION_REQUIRED = 407 int SC_REQUEST_TIMEOUT = 408<br>int SC_CONFLICT = 409&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_GONE = 410<br>int SC_LENGTH_REQUIRED = 411&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_PRECONDITION_FAILED = 412<br>int SC_REQUEST_ENTITY_TOO_LARGE = 413&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_REQUEST_URI_TOO_LONG = 414<br>int SC_UNSUPPORTED_MEDIA_TYPE = 415&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_REQUESTED_RANGE_NOT_SATISFIABLE = 416<br>int SC_EXPECTATION_FAILED = 417&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_INTERNAL_SERVER_ERROR = 500<br>int SC_NOT_IMPLEMENTED = 501&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_BAD_GATEWAY = 502<br>int SC_SERVICE_UNAVAILABLE = 503&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int SC_GATEWAY_TIMEOUT = 504<br>int SC_HTTP_VERSION_NOT_SUPPORTED = 505</font></p>
<p><br><font face="Courier New"><strong>④ session - javax.servlet.http.HttpSession</strong><br>&nbsp;&nbsp; session对象表示目前个别用户的会话状态，用来识别每个用户。</font></p>
<p><font face="Courier New">方法：<br>1. Object getAttribute( String name ) ;<br>&nbsp;&nbsp; 获取与指定名字相关联的session属性值。</font></p>
<p><font face="Courier New">2. Enumeration getAttributeNames() ;<br>&nbsp;&nbsp; 取得session内所有属性的集合。</font></p>
<p><font face="Courier New">3. long getCreationTime() ;<br>&nbsp;&nbsp; 返回session的创建时间，最小单位千分之一秒。</font></p>
<p><font face="Courier New">4. String getId() ;<br>&nbsp;&nbsp; 取得session标识。</font></p>
<p><font face="Courier New">5. long getLastAccessedTime() ;<br>&nbsp;&nbsp; 返回与当前session相关的客户端最后一次访问的时间，由1970-01-01算起，单位毫秒。</font></p>
<p><font face="Courier New">6. int getMaxInactiveInterval( int interval ) ;<br>&nbsp;&nbsp; 返回总时间，以秒为单位，表示session的有效时间(session不活动时间)。-1为永不过期。</font></p>
<p><font face="Courier New">7. ServletContext getServletContext() ;<br>&nbsp;&nbsp; 返回一个该JSP页面对应的ServletContext对象实例。</font></p>
<p><font face="Courier New">8. HttpSessionContext getSessionContext() ;<br>&nbsp;&nbsp; </font></p>
<p><font face="Courier New">9. Object getValue( String name ) ;<br>&nbsp;&nbsp; 取得指定名称的session变量值，不推荐使用。</font></p>
<p><font face="Courier New">10. String[] getValueNames() ;<br>&nbsp;&nbsp;&nbsp; 取得所有session变量的名称的集合，不推荐使用。</font></p>
<p><font face="Courier New">11. void invalidate() ;<br>&nbsp;&nbsp;&nbsp; 销毁这个session对象。</font></p>
<p><font face="Courier New">12. boolean isNew() ;<br>&nbsp;&nbsp;&nbsp; 判断一个session是否由服务器产生，但是客户端并没有使用。</font></p>
<p><font face="Courier New">13. void pubValue( String name, Object value ) ;<br>&nbsp;&nbsp;&nbsp; 添加一个session变量，不推荐使用。</font></p>
<p><font face="Courier New">14. void removeValue( String name ) ;<br>&nbsp;&nbsp;&nbsp; 移除一个session变量的值，不推荐使用。</font></p>
<p><font face="Courier New">15. void setAttribute( String name, String value ) ;<br>&nbsp;&nbsp;&nbsp; 设置指定名称的session属性值。</font></p>
<p><font face="Courier New">16. void setMaxInactiveInterval( int interval ) ;<br>&nbsp;&nbsp;&nbsp; 设置session的有效期。</font></p>
<p><font face="Courier New">17. void removeAttribute( String name ) ;<br>&nbsp;&nbsp;&nbsp; 移除指定名称的session属性。</font></p>
<p><br><font face="Courier New"><strong>⑤ pageContext - javax.servlet.jsp.PageContext</strong><br>&nbsp;&nbsp; pageContext对象存储本JSP页面相关信息，如属性、内建对象等。</font></p>
<p><font face="Courier New">方法：<br>1. void setAttribute( String name, Object value, int scope ) ;<br>&nbsp;&nbsp; void setAttribute( String name, Object value ) ;<br>&nbsp;&nbsp; 在指定的共享范围内设置属性。</font></p>
<p><font face="Courier New">2. Object getAttribute( String name, int scope ) ;<br>&nbsp;&nbsp; Object getAttribute( String name ) ;<br>&nbsp;&nbsp; 取得指定共享范围内以name为名字的属性值。</font></p>
<p><font face="Courier New">3. Object findAttribute( String name ) ;<br>&nbsp;&nbsp; 按页面、请求、会话和应用程序共享范围搜索已命名的属性。</font></p>
<p><font face="Courier New">4. void removeAttribute( String name, int scope ) ;<br>&nbsp;&nbsp; void removeAttribute( String name ) ;<br>&nbsp;&nbsp; 移除指定名称和共享范围的属性。</font></p>
<p><font face="Courier New">5. void forward( String url ) ;<br>&nbsp;&nbsp; 将页面导航到指定的URL。</font></p>
<p><font face="Courier New">6. Enumeration getAttributeNamesScope( int scope ) ;<br>&nbsp;&nbsp; 取得指定共享范围内的所有属性名称的集合。</font></p>
<p><font face="Courier New">7. int getAttributeScope( String name ) ;<br>&nbsp;&nbsp; 取得指定属性的共享范围。</font></p>
<p><font face="Courier New">8. ErrorData getErrorDate() ;<br>&nbsp;&nbsp; 取得页面的errorData对象。</font></p>
<p><font face="Courier New">9. Exception getException() ;<br>&nbsp;&nbsp; 取得页面的exception对象。</font></p>
<p><font face="Courier New">10. ExpressionEvaluator getExpressionEvaluator() ;<br>&nbsp;&nbsp;&nbsp; 取得页面的expressionEvaluator对象。</font></p>
<p><font face="Courier New">11. JspWriter getOut() ;<br>&nbsp;&nbsp;&nbsp; 取得页面的out对象。</font></p>
<p><font face="Courier New">12. Object getPage() ;<br>&nbsp;&nbsp;&nbsp; 取得页面的page对象。</font></p>
<p><font face="Courier New">13. ServletRequest getRequest() ;<br>&nbsp;&nbsp;&nbsp; 取得页面的request对象。</font></p>
<p><font face="Courier New">14. ServletResponse getResponse() ;<br>&nbsp;&nbsp;&nbsp; 取得页面的response对象。</font></p>
<p><font face="Courier New">15. ServletConfig getConfig() ;<br>&nbsp;&nbsp;&nbsp; 取得页面的config对象。</font></p>
<p><font face="Courier New">16. ServletContext getServletContext() ;<br>&nbsp;&nbsp;&nbsp; 取得页面的servletContext对象。</font></p>
<p><font face="Courier New">17. HttpSession getSession() ;<br>&nbsp;&nbsp;&nbsp; 取得页面的session对象。</font></p>
<p><font face="Courier New">18. VariableResolver getVariableResolver() ;<br>&nbsp;&nbsp;&nbsp; 取得页面的variableResolver对象。</font></p>
<p><font face="Courier New">19. void include( String url, boolean flush ) ;<br>&nbsp;&nbsp;&nbsp; void include( String url ) ;<br>&nbsp;&nbsp;&nbsp; 包含其他的资源，并指定是否自动刷新。</font></p>
<p><font face="Courier New">20. void release() ;<br>&nbsp;&nbsp;&nbsp; 重置pageContext内部状态，释放所有内部引用。</font></p>
<p><font face="Courier New">21. void initialize( Servlet servlet, ServletRequest request, ServletResponse response,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String errorPageURL, boolean needSession, int bufferSize, boolean autoFlush ) ;<br>&nbsp;&nbsp;&nbsp; 初始化未经初始化的pageContext对象。</font></p>
<p><font face="Courier New">22. BodyContext pushBody() ;<br>&nbsp;&nbsp;&nbsp; BodyContext pushBody( Writer writer ) ;<br>&nbsp;&nbsp;&nbsp; 保存当前的out对象，并更新pageContext中page范围内的out对象。</font></p>
<p><font face="Courier New">23. JspWrite popBody() ;<br>&nbsp;&nbsp;&nbsp; 取出由pushBody()方法保存的out对象。</font></p>
<p><font face="Courier New">24. void handlePageException( Exception e ) ;<br>&nbsp;&nbsp;&nbsp; void handlePageException( Thrwoable t ) ;<br>&nbsp;&nbsp;&nbsp; </font></p>
<p><font face="Courier New">成员：<br>int PAGE_SCOPE = 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - 页面共享范围<br>int REQUEST_SCOPE = 2&nbsp;&nbsp;&nbsp;&nbsp; - 请求共享范围<br>int SESSION_SCOPE = 3&nbsp;&nbsp;&nbsp;&nbsp; - 会话共享范围<br>int APPLICATION_SCOPE = 4 - 应用程序共享范围<br>String PAGE = "javax.servlet.jsp.jspPage"<br>String PAGECONTEXT = "javax.servlet.jsp.jspPageContext"<br>String REQUEST = "javax.servlet.jsp.jspRequest"<br>String RESPONSE = "javax.servlet.jsp.jspResponse"<br>String CONFIG = "javax.servlet.jsp.jspConfig"<br>String SESSION = "javax.servlet.jsp.jspSession"<br>String OUT = "javax.servlet.jsp.jspOut"<br>String APPLICATION = "javax.servlet.jsp.jspApplication"<br>String EXCEPTION = "javax.servlet.jsp.jspException"</font></p>
<p><br><font face="Courier New"><strong>⑥ application - javax.servlet.ServletContext</strong><br>&nbsp;&nbsp; application主要功用在于取得或更改Servlet的设定。</font></p>
<p><font face="Courier New">方法：<br>1. Object getAttribute( String name ) ;<br>&nbsp;&nbsp; 返回由name指定的application属性。</font></p>
<p><font face="Courier New">2. Enumeration getAttributes() ;<br>&nbsp;&nbsp; 返回所有的application属性。</font></p>
<p><font face="Courier New">3. ServletContext getContext( String uripath ) ;<br>&nbsp;&nbsp; 取得当前应用的ServletContext对象。</font></p>
<p><font face="Courier New">4. String getInitParameter( String name ) ;<br>&nbsp;&nbsp; 返回由name指定的application属性的初始值。</font></p>
<p><font face="Courier New">5. Enumeration getInitParameters() ;<br>&nbsp;&nbsp; 返回所有的application属性的初始值的集合。</font></p>
<p><font face="Courier New">6. int getMajorVersion() ;<br>&nbsp;&nbsp; 返回servlet容器支持的Servlet API的版本号。</font></p>
<p><font face="Courier New">7. String getMimeType( String file ) ;<br>&nbsp;&nbsp; 返回指定文件的类型，未知类型返回null。一般为"text/html"和"image/gif"。</font></p>
<p><font face="Courier New">8. int getMinorVersion() ;<br>&nbsp;&nbsp; 返回servlet容器支持的Servlet API的副版本号。</font></p>
<p><font face="Courier New">9. String getRealPath( String path ) ;<br>&nbsp;&nbsp; 返回给定虚拟路径所对应物理路径。</font></p>
<p><font face="Courier New">10. RequestDispatcher getNamedDispatcher( String name ) ;<br>&nbsp;&nbsp;&nbsp; 为指定名字的Servlet对象返回一个RequestDispatcher对象的实例。</font></p>
<p><font face="Courier New">11. RequestDispatcher getRequestDispatcher( String path ) ;<br>&nbsp;&nbsp;&nbsp; 返回一个RequestDispatcher对象的实例。</font></p>
<p><font face="Courier New">12. URL getResource( String path ) ;<br>&nbsp;&nbsp;&nbsp; 返回指定的资源路径对应的一个URL对象实例，参数要以"/"开头。</font></p>
<p><font face="Courier New">13. InputStream getResourceAsStream( String path ) ;<br>&nbsp;&nbsp;&nbsp; 返回一个由path指定位置的资源的InputStream对象实例。</font></p>
<p><font face="Courier New">14. Set getResourcePaths( String path ) ;<br>&nbsp;&nbsp;&nbsp; 返回存储在web-app中所有资源路径的集合。</font></p>
<p><font face="Courier New">15. String getServerInfo() ;<br>&nbsp;&nbsp;&nbsp; 取得应用服务器版本信息。</font></p>
<p><font face="Courier New">16. Servlet getServlet( String name ) ;<br>&nbsp;&nbsp;&nbsp; 在ServletContext中检索指定名称的servlet。</font></p>
<p><font face="Courier New">17. Enumeration getServlets() ;<br>&nbsp;&nbsp;&nbsp; 返回ServletContext中所有servlet的集合。</font></p>
<p><font face="Courier New">18. String getServletContextName() ;<br>&nbsp;&nbsp;&nbsp; 返回本web应用的名称。</font></p>
<p><font face="Courier New">19. Enumeration getServletContextNames() ;<br>&nbsp;&nbsp;&nbsp; 返回ServletContext中所有servlet的名称集合。</font></p>
<p><font face="Courier New">20. void log( Exception ex, String msg ) ;<br>&nbsp;&nbsp;&nbsp; void log( String msg, Throwable t ) ;<br>&nbsp;&nbsp;&nbsp; void log( String msg ) ;<br>&nbsp;&nbsp;&nbsp; 把指定的信息写入servlet log文件。</font></p>
<p><font face="Courier New">21. void removeAttribute( String name ) ;<br>&nbsp;&nbsp;&nbsp; 移除指定名称的application属性。</font></p>
<p><font face="Courier New">22. void setAttribute( String name, Object value ) ;<br>&nbsp;&nbsp;&nbsp; 设定指定的application属性的值。</font></p>
<p><br><font face="Courier New"><strong>⑦ config - javax.servlet.ServletConfig<br></strong>&nbsp;&nbsp; config对象用来存放Servlet初始的数据结构。</font></p>
<p><font face="Courier New">方法：<br>1. String getInitParameter( String name ) ;<br>&nbsp;&nbsp; 返回名称为name的促使参数的值。</font></p>
<p><font face="Courier New">2. Enumeration getInitParameters() ;<br>&nbsp;&nbsp; 返回这个JSP所有的促使参数的名称集合。</font></p>
<p><font face="Courier New">3. ServletContext getContext() ;<br>&nbsp;&nbsp; 返回执行者的servlet上下文。</font></p>
<p><font face="Courier New">4. String getServletName() ;<br>&nbsp;&nbsp; 返回servlet的名称。</font></p>
<p><br><font face="Courier New"><strong>⑧ exception - java.lang.Throwable</strong><br>&nbsp;&nbsp; 错误对象，只有在JSP页面的page指令中指定isErrorPage="true"后，才可以在本页面使用exception对象。</font></p>
<p><font face="Courier New">方法：<br>1. Throwable fillInStackTrace() ;<br>&nbsp;&nbsp; 将当前stack信息记录到exception对象中。</font></p>
<p><font face="Courier New">2. String getLocalizedMessage() ;<br>&nbsp;&nbsp; 取得本地语系的错误提示信息。</font></p>
<p><font face="Courier New">3. String getMessage()<br>&nbsp;&nbsp; 取得错误提示信息。</font></p>
<p><font face="Courier New">4. StackTrackElement[] getStackTrace() ;<br>&nbsp;&nbsp; 返回对象中记录的call stack track信息。</font></p>
<p><font face="Courier New">5. Throwable initCause( Throwable cause ) ;<br>&nbsp;&nbsp; 将另外一个异常对象嵌套进当前异常对象中。<br>&nbsp;&nbsp; <br>6. Throwable getCause() ;<br>&nbsp;&nbsp; 取出嵌套在当前异常对象中的异常。</font></p>
<p><font face="Courier New">7. void printStackTrace() ;<br>&nbsp;&nbsp; void printStackTrace( printStream s ) ;<br>&nbsp;&nbsp; void printStackTrace( printWriter s ) ;<br>&nbsp;&nbsp; 打印出Throwable及其call stack trace信息。</font></p>
<p><font face="Courier New">8. void setStackTrace( StackTraceElement[] stackTrace )<br>&nbsp;&nbsp; 设置对象的call stack trace信息。</font></p>
<p><br><font face="Courier New"><strong>⑨ page - javax.servlet.jsp.HttpJspPage</strong><br>&nbsp;&nbsp; page对象代表JSP对象本身，或者说代表编译后的servlet对象，<br>&nbsp;&nbsp; 可以用( (javax.servlet.jsp.HttpJspPage)page )来取用它的方法和属性。</font></p>
</div>
<img src ="http://www.blogjava.net/topquan/aggbug/45016.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/topquan/" target="_blank">topquan</a> 2006-05-08 15:25 <a href="http://www.blogjava.net/topquan/articles/45016.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>