📄
字号:
第二章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 + -