JSP簡單練習-一個簡單的計數器,jsp練習計數器

來源:互聯網
上載者:User

JSP簡單練習-一個簡單的計數器,jsp練習計數器

在JSP中,在"<%"和"%>"之間書寫的程式碼成為java程式片。

一個JSP頁面中可以有多個java程式片。要注意的是,在Java程式片中聲明的變數在它們所在JSP頁面的所用程式片及運算式中都有效。基於此,可以把一個較大的程式片分成幾個小的程式片,還可在其中插入HTML語句,以便編寫的程式碼更具有可讀性。

在程式片中聲明的變數只在頁面有效,是局部變數,它在不同的客戶訪問同一個頁面時,此變數是不能共用的。但如果是在"<%!"和"%>"之間聲明的變數就可以在不同的客戶之間共用,其有效範圍是整個Web應用,在伺服器關閉後變數才會被釋放。

用"<%="和"%>"可以直接輸出變數或運算式的值,變數或運算式的值將作為一個字串在瀏覽器中輸出。這種方法在JSP編程中是比較常用的,特別在與HTML標記混合編寫時較為常用。如下代碼:

<%@ page contentType="text/html; charset=gb2312" %><html><body>     <%!          int counter=0;          synchronized void counterFunction()          {               counter++;          }      %>      <%counterFunction();%>        網站計數器<br>        你是第<%=counter %>位訪問者</body></html>
該程式首先在"<%!“和”%>"之間聲明了一個計數器變數和計數的方法,計數器變數將在客戶之間共用,直至伺服器關閉。計數方法實際上就是對計數變數做增1處理,在方法的前面加了sychronized關鍵字,這個關鍵字可防止客戶在同時調用此方法更改計數變數的值時發生衝突,因此對方法作了序列化處理。



【jsp】用session打了一個簡單的計數器,但是還存在問題……

request.getSession(true);這句話沒有用,你最好這樣:

Object rValue=session.getValue("usercount");
if (rValue==null)
{
count=1;
usercount = String.valueOf(count);
session.putValue("usercount",usercount);
}
out.print("您是本站第 "+rValue.toString());
 
JSP看 用getparameter()方法編寫一個簡單的計數器,實現計算1到n的連續與,平方,立方3種運算

這個存成一個jsp檔案.我在tomcat下測試通過了.

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%
int count = 0;
int num = 0;
if (request.getParameter("count") != null) {
count = Integer.parseInt(request.getParameter("count"));
count++;
}
if (request.getParameter("num") != null) {
num = Integer.parseInt(request.getParameter("num"));
}
num = num * num * num; //這裡替換其他演算法即可
%>
</head>

<body>
<center>
<form name="form1" method="post">
<table>
<tr>
輸入一個數:
</tr>
<tr>

<input name="num" type="text" value="<%=num%>" />
</tr>
<tr>

<input type="submit" value="求立方" />
</tr>
<tr>
<td>
計數:
</td>
<td>

<input name="count" type="text" value="<%=count%>" />
</td>
</tr>
</table>

</form>
</body>
</html>...餘下全文>>
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.