??
字號:
第二章JSP語法
(2)例子1(效果如圖2.1所示)
Example2_1.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.util.*" %>
<HTML>
<BODY BGCOLOR=cyan><FONT Size=1>
<P> 請輸入三角形的三個邊的長度,輸入的數字用逗號分割:
<BR>
<FORM action="Example2_1.jsp" method=post name=form>
<INPUT type="text" name="boy">
<INPUT TYPE="submit" value="送出" name=submit>
</FORM>
<%! double a[]=new double[3];
String answer=null;
%>
<% int i=0;
boolean b=true;
String s=null;
double result=0;
double a[]=new double[3];
String answer=null;
s=request.getParameter("boy");
if(s!=null)
{ StringTokenizer fenxi=new StringTokenizer(s,",,");
while(fenxi.hasMoreTokens())
{ String temp=fenxi.nextToken();
try{ a[i]=Double.valueOf(temp).doubleValue();
i++;
}
catch(NumberFormatException e)
{out.print("<BR>"+"請輸入數字字符");
}
}
if(a[0]+a[1]>a[2]&&a[0]+a[2]>a[1]&&a[1]+a[2]>a[0]&&b==true)
{ double p=(a[0]+a[1]+a[2])/2;
result=Math.sqrt(p*(p-a[0])*(p-a[1])*(p-a[2]));
out.print("面積:"+result);
}
else
{answer="您輸入的三邊不能構成一個三角形";
out.print("<BR>"+answer);
}
}
%>
<P> 您輸入的三邊是:
<BR>
<%=a[0]%>
<BR>
<%=a[1]%>
<BR>
<%=a[2]%>
</BODY>
</HTML>
(2)例子2(效果如圖2.2所示)
Example2_2.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY BGCOLOR=cyan><FONT size=1>
<%!int i=0;
%>
<%i++;
%>
<P>您是第
<%=i%>
個訪問本站的客戶。
</BODY>
</HTML>
(2)例子3
Example2_3.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY>
<%! Integer number=new Integer(0);
%>
<%
synchronized(number)
{ int i=number.intValue();
i++;
number=new Integer(i);
}
%>
<P>您是第
<%=number.intValue()%>
個訪問本站的客戶。
</BODY>
</HTML>
(2)例子4
Example2_4.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY>
<%! int number=0;
synchronized void countPeople()
{ number++;
}
%>
<% countPeople(); //在程序片中調用方法。
%>
<P><P>您是第
<%=number%>
個訪問本站的客戶。
</BODY>
</HTML>
(2)例子5(效果如圖2.3所示)
Example2_5.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.io.*" %>
<HTML>
<BODY BGCOLOR=cyan><FONT Size=1>
<%! int number=0;
synchronized void countPeople()//計算訪問次數的同步方法
{
if(number==0)
{
try{
FileInputStream in=new FileInputStream("count.txt");
DataInputStream dataIn=new DataInputStream(in);
number=dataIn.readInt();
number++;
in.close();
dataIn.close();
}
catch(FileNotFoundException e)
{ number++;
try {FileOutputStream out=new FileOutputStream("count.txt");
DataOutputStream dataOut=new DataOutputStream(out);
dataOut.writeInt(number);
out.close();dataOut.close();
}
catch(IOException ee){}
}
catch(IOException ee)
{
}
}
else
{number++;
try{
FileOutputStream out=new FileOutputStream("count.txt");
DataOutputStream dataOut=new DataOutputStream(out);
dataOut.writeInt(number);
out.close();dataOut.close();
}
catch(FileNotFoundException e){}
catch(IOException e){}
}
}
%>
<%
countPeople();
%>
<P><P>您是第
<%=number%>
個訪問本站的客戶。
<BODY>
<HTML>
(2)例子6(效果如圖2.4所示)
Example2_6.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY bgcolor=cyan><FONT Size=1>
<%! double sum=0,i=1,j=1;
long number=0;
synchronized void 幫助計算PI()
{ number++;
sum=sum+i/j;
j=j+2;
i=-i;
}
%>
<%
幫助計算PI();
%>
<P>您是第<%=number%>個訪問者
<BR>
<P>目前PI的計算結果是:
<%=sum*4%>
</BODY>
</HTML>
(2)例子7(效果如圖2.5所示)
Example2_7.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY>
<P> 請輸入圓的半徑:
<BR>
<FORM action="Example2_7.jsp" method=get name=form>
<INPUT type="text" name="cat" value="1">
<INPUT TYPE="submit" value="送出" name=submit>
</FORM>
<%! public class Circle
{double r;
Circle(double r)
{this.r=r;
}
double 求面積()
{return Math.PI*r*r;
}
double 求周長()
{return Math.PI*2*r;
}
}
%>
<% String str=request.getParameter("cat");
double r;
if(str!=null)
{r=Double.valueOf(str).doubleValue();
}
else
{r=1;
}
Circle circle=new Circle(r); //創建對象。
%>
<P> 圓的面積是:
<BR>
<%=circle.求面積()%>
<P> 圓的周長是:
<BR>
<%=circle.求周長()%>
<HTML>
<BODY>
(2)例子8(效果如圖2.6所示)
Example2_8.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY bgcolor=cyan><FONT size=1>
<%!
long continueSum(int n)
{ int sum=0;
for(int i=1;i<=n;i++)
{ sum=sum+i;
}
return sum;
}
%>
<P>1到100的連續和:<BR>
<% long sum;
sum=continueSum(100);
out.print(""+sum);
%>
</BODY>
</HTML>
(2)例子9(效果如圖2.7所示)
Example2_9.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY bgcolor=cyan><Font size=1>
<%!
long continueSum(int n)
{ int sum=0;
for(int i=1;i<=n;i++)
{ sum=sum+i;
}
return sum;
}
%>
<P> 聲明了一個long型變量sum:
<% long sum;
%>
<P> 然后調用方法continueSum,
<% sum=continueSum(101);
%>
<P> 將調用方法continueSum得到的值顯示到客戶:
<BR>
<P>1到101的連續和是:
<%= sum %>
<% if(sum>=5050)
{%>
<P>您計算的項數超過100項了。
<%}
else
{%>
<P>您計算的項數沒有超過100項。
<%
}
%>
</Font>
</BODY>
</HTML>
(2)例子10(效果如圖2.8所示)
Example2_10.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.io.*" %>
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.io.*" %>
<HTML>
<BODY bgcolor=cyan><FONT size=1>
<% try{
File f=new File("D:/test","A.txt");
FileReader in=new FileReader(f);
BufferedReader buffer=new BufferedReader(in);
String s=null;
while((s=buffer.readLine())!=null)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -