⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 626318.xml

📁 论坛精华帖子
💻 XML
字号:
<?xml version='1.0' encoding='GB2312'?>
<?xml-stylesheet type='text/xsl' href='../csdn.xsl'?>
<Topic>
<Issue>
<PostUserNickName></PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>110</credit>
<TopicId>626318</TopicId>
<TopicName>使用jsp做一个网站计数器,都有什么方法?</TopicName>
<PostUserId>157597</PostUserId>
<PostUserName>JackJia</PostUserName>
<RoomName>JSP</RoomName>
<ReplyNum>5</ReplyNum>
<PostDateTime>2002-4-5 22:37:43</PostDateTime>
<Point>50</Point>
<ReadNum>0</ReadNum>
<RoomId>28</RoomId>
<EndState>2</EndState>
<Content>使用jsp做一个网站计数器,都有什么方法?
不用数据库怎么实现</Content>
</Issue>
<Replys>
<Reply>
<PostUserNickName></PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>110</credit>
<ReplyID>4132184</ReplyID>
<TopicID>626318</TopicID>
<PostUserId>157597</PostUserId>
<PostUserName>JackJia</PostUserName>
<Point>0</Point>
<Content>急!!</Content>
<PostDateTime>2002-4-5 22:38:28</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>失去你是我今生最大的痛</PostUserNickName>
<rank>一星(中级)</rank>
<ranknum>star1</ranknum>
<credit>151</credit>
<ReplyID>4134329</ReplyID>
<TopicID>626318</TopicID>
<PostUserId>203548</PostUserId>
<PostUserName>realyfly</PostUserName>
<Point>0</Point>
<Content>可以用读写文件!</Content>
<PostDateTime>2002-4-6 9:52:04</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>烤鸡翅膀,我最爱吃</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>100</credit>
<ReplyID>4137556</ReplyID>
<TopicID>626318</TopicID>
<PostUserId>101985</PostUserId>
<PostUserName>offsider</PostUserName>
<Point>0</Point>
<Content>不用数据库只有读写文件了</Content>
<PostDateTime>2002-4-6 14:36:40</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>西风漂流</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>100</credit>
<ReplyID>4138440</ReplyID>
<TopicID>626318</TopicID>
<PostUserId>186363</PostUserId>
<PostUserName>xexplorer</PostUserName>
<Point>50</Point>
<Content>counter.java
package&#32;UsefulClasses;
import&#32;java.sql.*;
public&#32;class&#32;Counter
{
&#9;private&#32;int&#32;count;
&#9;private&#32;Database&#32;Mechanism=new&#32;Database();
&#9;public&#32;Counter()
&#9;{
&#9;&#9;ResultSet&#32;rs=Mechanism.executeQuery("select&#32;Counter&#32;from&#32;Counter");
&#9;&#9;
&#9;&#9;try
&#9;&#9;{
&#9;&#9;&#9;while&#32;(rs.next())
&#9;&#9;&#9;{
&#9;&#9;&#9;&#9;count=rs.getInt("Counter");
&#9;&#9;&#9;}
&#9;&#9;}
&#9;&#9;catch(SQLException&#32;ex)
&#9;&#9;{
&#9;&#9;&#9;System.err.println("SQL&#32;select&#32;error:"&#32;+&#32;ex.getMessage());&#9;
&#9;&#9;}
&#9;&#9;finally
&#9;&#9;{
&#9;&#9;&#9;Mechanism.closeStmt();
&#9;&#9;&#9;Mechanism.closeConn();
&#9;&#9;}
&#9;}
&#9;synchronized&#32;public&#32;void&#32;Increase()
&#9;{
&#9;&#9;count++;
&#9;}
&#9;synchronized&#32;public&#32;String[]&#32;getCountImage()
&#9;{
&#9;&#9;char[]&#32;chars=String.valueOf(count).toCharArray();
&#9;&#9;int&#32;numChars=chars.length;
&#9;&#9;String[]&#32;images=new&#32;String[numChars];
&#9;&#9;for&#32;(int&#32;LoopNum=numChars-1;LoopNum&gt;-1;LoopNum--)
&#9;&#9;{
&#9;&#9;&#9;images[LoopNum]=String.valueOf(chars[LoopNum])+".gif";
&#9;&#9;}
&#9;&#9;return&#32;images;
&#9;}
&#9;synchronized&#32;public&#32;void&#32;UpdateCounter()
&#9;{
&#9;&#9;Mechanism.executeUpdate("update&#32;Counter&#32;set&#32;Counter="+count);
&#9;}
}
counter.jsp
&lt;table&#32;width="110"&#32;border="0"&#32;cellspacing="0"&#32;cellpadding="0"&gt;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;tr&gt;&#32;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;td&#32;align="center"&gt;&#32;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;%
&#9;&#9;&#9;&#9;&#9;&#9;if&#32;(session.getValue("LogStatus")=="TRUE")
&#9;&#9;&#9;&#9;&#9;&#9;&#9;out.println("&lt;font&#32;size=\"2\"&gt;"+session.getValue("Username").toString()+Welcome.getWelcomeMessage()+"&lt;/font&gt;");
&#9;&#9;&#9;&#9;&#9;&#9;else
&#9;&#9;&#9;&#9;&#9;&#9;&#9;out.println("&lt;font&#32;size=\"2\"&gt;"+Welcome.getWelcomeMessage()+"&lt;/font&gt;");
&#9;&#9;&#9;&#9;&#9;&#32;&#32;%&gt;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;/td&gt;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;/tr&gt;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;tr&gt;&#32;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;td&gt;&lt;font&#32;size="2"&gt;您是第&lt;/font&gt;&lt;/td&gt;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;/tr&gt;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;tr&gt;&#32;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;td&#32;align="center"&gt;&#32;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;%
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;String[]&#32;imgs=Counter.getCountImage();&#32;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;for&#32;(int&#32;LoopNum=0&#32;;&#32;LoopNum&lt;imgs.length&#32;;&#32;LoopNum++){&#32;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;out.print("&lt;img&#32;src=\"/Images/"&#32;+&#32;imgs[LoopNum]&#32;+&#32;"\"height=\"15\"&#32;width=\"8\"&gt;");
&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;}
&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;%&gt;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;/td&gt;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;/tr&gt;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;tr&gt;&#32;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;td&#32;align="right"&gt;&lt;font&#32;size="2"&gt;位访客&lt;/font&gt;&lt;/td&gt;
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&lt;/tr&gt;
&lt;/table&gt;
</Content>
<PostDateTime>2002-4-6 15:43:45</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>西风漂流</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>100</credit>
<ReplyID>4138498</ReplyID>
<TopicID>626318</TopicID>
<PostUserId>186363</PostUserId>
<PostUserName>xexplorer</PostUserName>
<Point>0</Point>
<Content>上面的代码中counter.java是计数器的代码,counter.jsp是引用计数器的jsp代码。还有其中用的Database的代码在下面。
Database.java
package&#32;UsefulClasses;
import&#32;java.sql.*;
import&#32;java.util.*;
import&#32;javax.naming.*;
public&#32;class&#32;Database
{
&#9;//String&#32;sDBDriver&#32;=&#32;"sun.jdbc.odbc.JdbcOdbcDriver";
&#9;//String&#32;sConnStr&#32;=&#32;"jdbc:odbc:Mechanism";
&#9;//String&#32;sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
&#9;//String&#32;sConnStr="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Mechanism";
&#9;Context&#32;ctx&#32;=&#32;null;
&#9;Hashtable&#32;ht=null;
&#9;javax.sql.DataSource&#32;ds&#32;=&#32;null;
&#9;Connection&#32;conn&#32;=&#32;null;
&#9;Statement&#32;stmt&#32;=&#32;null;
&#9;ResultSet&#32;rs&#32;=&#32;null;

&#9;public&#32;Database()
&#9;{
&#9;&#9;ht=new&#32;Hashtable();
&#9;&#9;ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
&#9;&#9;ht.put(Context.PROVIDER_URL,"t3://127.0.0.1:80");
&#9;&#9;try
&#9;&#9;{
&#9;&#9;&#9;ctx&#32;=&#32;new&#32;InitialContext(ht);
&#9;&#9;&#9;ds&#32;=&#32;(javax.sql.DataSource)ctx.lookup("Mechanism");
&#9;&#9;&#9;//Class.forName(sDBDriver);
&#9;&#9;}
&#9;&#9;catch(javax.naming.NamingException&#32;e)
&#9;&#9;{
&#9;&#9;&#9;System.err.println("SQL&#32;Driver&#32;not&#32;found:"&#32;+&#32;e.getMessage());
&#9;&#9;}
&#9;}

&#9;public&#32;void&#32;executeInsert(String&#32;sql)
&#9;{
&#9;&#9;try
&#9;&#9;{
&#9;&#9;&#9;//conn&#32;=&#32;DriverManager.getConnection(sConnStr,"","");
&#9;&#9;&#9;conn&#32;=&#32;ds.getConnection();
&#9;&#9;&#9;stmt&#32;=&#32;conn.createStatement();
&#9;&#9;&#9;stmt.executeUpdate(sql);
&#9;&#9;&#9;stmt.close();
&#9;&#9;&#9;conn.close();
&#9;&#9;}
&#9;&#9;catch(SQLException&#32;ex)
&#9;&#9;{
&#9;&#9;&#9;System.err.println("SQL&#32;insert&#32;error:"+ex.getMessage());
&#9;&#9;}
&#9;}

&#9;public&#32;ResultSet&#32;executeQuery(String&#32;sql)
&#9;{
&#9;&#9;try
&#9;&#9;{
&#9;&#9;&#9;//conn&#32;=&#32;DriverManager.getConnection(sConnStr,"user","111111");
&#9;&#9;&#9;conn&#32;=&#32;ds.getConnection();
&#9;&#9;&#9;stmt&#32;=&#32;conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
&#9;&#9;&#9;rs&#32;=&#32;stmt.executeQuery(sql);
&#9;&#9;}
&#9;&#9;catch(SQLException&#32;ex)
&#9;&#9;{
&#9;&#9;&#9;System.err.println("SQL&#32;query&#32;error:"+ex.getMessage());
&#9;&#9;}
&#9;&#9;return&#32;rs;
&#9;}

&#9;public&#32;ResultSet&#32;executePreparedQuery(String&#32;sql)
&#9;{
&#9;&#9;try
&#9;&#9;{
&#9;&#9;&#9;//conn&#32;=&#32;DriverManager.getConnection(sConnStr,"","");
&#9;&#9;&#9;//stmt&#32;=&#32;conn.createPreparedStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
&#9;&#9;&#9;//rs&#32;=&#32;stmt.executePreparedQuery(sql);
&#9;&#9;&#9;conn&#32;=&#32;ds.getConnection();
&#9;&#9;&#9;stmt&#32;=&#32;conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

&#9;&#9;}
&#9;&#9;catch(SQLException&#32;ex)
&#9;&#9;{
&#9;&#9;&#9;System.err.println("SQL&#32;prepared&#32;query&#32;error:"+ex.getMessage());
&#9;&#9;}
&#9;&#9;return&#32;rs;
&#9;}

&#9;public&#32;void&#32;executeUpdate(String&#32;sql)
&#9;{
&#9;&#9;try
&#9;&#9;{
&#9;&#9;&#9;//conn&#32;=&#32;DriverManager.getConnection(sConnStr,"user","111111");
&#9;&#9;&#9;conn&#32;=&#32;ds.getConnection();
&#9;&#9;&#9;stmt&#32;=&#32;conn.createStatement();
&#9;&#9;&#9;stmt.executeUpdate(sql);
&#9;&#9;&#9;stmt.close();
&#9;&#9;&#9;conn.close();
&#9;&#9;}
&#9;&#9;catch(SQLException&#32;ex)
&#9;&#9;{
&#9;&#9;&#9;System.err.println("SQL&#32;update&#32;error:&#32;"&#32;+&#32;ex.getMessage());
&#9;&#9;}
&#9;}

&#9;public&#32;void&#32;executeDelete(String&#32;sql)
&#9;{
&#9;&#9;try
&#9;&#9;{
&#9;&#9;&#9;//conn&#32;=&#32;DriverManager.getConnection(sConnStr,"","");
&#9;&#9;&#9;conn&#32;=&#32;ds.getConnection();
&#9;&#9;&#9;stmt&#32;=&#32;conn.createStatement();
&#9;&#9;&#9;stmt.executeUpdate(sql);
&#9;&#9;&#9;stmt.close();
&#9;&#9;&#9;conn.close();
&#9;&#9;}
&#9;&#9;catch(SQLException&#32;ex)
&#9;&#9;{
&#9;&#9;&#9;System.err.println("SQL&#32;delete&#32;error:"+ex.getMessage());
&#9;&#9;}
&#9;}

&#9;public&#32;void&#32;closeStmt()
&#9;{
&#9;&#9;try
&#9;&#9;{
&#9;&#9;&#9;stmt.close();
&#9;&#9;}
&#9;&#9;catch(SQLException&#32;e)
&#9;&#9;{
&#9;&#9;&#9;e.printStackTrace();
&#9;&#9;}
&#9;}

&#9;public&#32;void&#32;closeConn()
&#9;{
&#9;&#9;try
&#9;&#9;{
&#9;&#9;&#9;conn.close();
&#9;&#9;}
&#9;&#9;catch(SQLException&#32;e)
&#9;&#9;{
&#9;&#9;&#9;e.printStackTrace();
&#9;&#9;}
&#9;}

}
</Content>
<PostDateTime>2002-4-6 15:47:42</PostDateTime>
</Reply>
</Replys>
</Topic>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -