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

📄 cookietest.jsp

📁 《JSP时尚编程百例》一例源代码21-40
💻 JSP
字号:
<%@ page contentType="text/html; charset=GB2312" %>
<%@	page import="java.util.Date" %>
<%
boolean found = false;
//宣告Cookie变量
Cookie Time = null;
//取得Cookie变量数组
Cookie[] cookies = request.getCookies();
//取得Cookie变量数组的长度
int cookielen = cookies.length;
//下面的for循环将从Cookie变量数组中一一取出变量
for (int i = 0; i < cookielen; i++)
{	
	//将Cookie变量数组中的元素设定给Time
	Time = cookies[i];
	//呼叫Cookie变量的getName方法, 取得Cookie变量的资料名称, 
	//并比对名称是否等于StartTime
	if (Time.getName().equals("StartTime"))
	{
		found = true;		
		break;
	}
}
%>
<HTML>
<HEAD>
<TITLE>Cookie的应用 - 网上考试</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 5 COLOR = blue>Cookie的应用 - 网上考试</FONT>
</CENTER>
<BR>
<HR>
<BR>
<%
//found若等于false表找不到Time变量值, 应显示题目
if(found == false)
{
Date STime = new Date();	
Time = new Cookie("StartTime", String.valueOf(STime.getTime()));
response.addCookie(Time);
%>
	<!--下面的表单将以Post方法, 将资料传递给CookieTest.jsp档 -->
	<FORM action="CookieTest.jsp" method=post name=form>
	<!--第一题-->
	<P>大熊猫是在哪里发现的?</P>
	<P>
	<INPUT type="radio" name=rdoQ1 value=1>中国
	<INPUT type="radio" name=rdoQ1 value=2>日本
	<INPUT type="radio" name=rdoQ1 value=3>美国
	<INPUT type="radio" name=rdoQ1 value=4>韩国
	</P>
		<!--第二题-->
	<P>喜马拉雅山有多高?</P>
	<P>
	<INPUT type="radio" name=rdoQ2 value=1>8900米以上
	<INPUT type="radio" name=rdoQ2 value=2>8800米-8900米
	<INPUT type="radio" name=rdoQ2 value=3>8700米-8800米
	<INPUT type="radio" name=rdoQ2 value=4>8600米-8700米
	</P>
		<!--第三题-->
	<P>2000-20001赛季湖人常规赛名列西部第几名?</P>
	<P>
	<INPUT type="radio" name=rdoQ3 value=1>1
	<INPUT type="radio" name=rdoQ3 value=2>2
	<INPUT type="radio" name=rdoQ3 value=3>3
	<INPUT type="radio" name=rdoQ3 value=4>4
	</P>
	<!--第四题-->
	<P>2000奥运会在哪里举行?</P>
	<P>
	<INPUT type="radio" name=rdoQ4 value=1>汉城
	<INPUT type="radio" name=rdoQ4 value=2>巴塞罗那
	<INPUT type="radio" name=rdoQ4 value=3>亚特兰大
	<INPUT type="radio" name=rdoQ4 value=4>悉尼
	</P>
	<!--第五题-->
	<P>2000奥运会中国获得了多少金牌</P>
	<P>
	<INPUT type="radio" name=rdoQ5 value=1>28
	<INPUT type="radio" name=rdoQ5 value=2>27
	<INPUT type="radio" name=rdoQ5 value=3>26
	<INPUT type="radio" name=rdoQ5 value=4>25
	</P>
	<INPUT type="submit" value="交卷" name=submit>
	</FORM>
<%
}
//若找到Time变量, 表示应进行答案的计算
else
{
	int RightAns = 0; //计算答对的题数
	int aryAns[] = {1,2,2,4,1}; //建立储存正确答案的数组

	//下面的for循环中, 将利用if判断式进行答案的比对
	for(int i = 0;  i < 5 ; ++i)
	{
		//建立控制项名称的字串
		String conname = "rdoQ" + (i+1);	
		
		//判断是否可取得控制项传出的资料, 无法取得将传出null
		if(request.getParameter(conname) == null)
		{
			%>
			第<%= i + 1%>题您<FONT COLOR = GREEN>未做答</Font><BR>
			<%
		}
		else
		{
			%>
			第<%= i + 1%>题您答
			<%
			//取得使用者所做答的答案			
			int Ans = Integer.parseInt(request.getParameter(conname));

			//比对控制项回传值与数组中的正确答案, 相同表答对反之答错
			if( Ans == aryAns[i])
			{			
				RightAns = RightAns + 1; //答对题数加 1
				%>
				<FONT COLOR = GREEN>对</FONT>了<BR>
				<%
			}
			else
			{
				%>
				<FONT COLOR = RED>错</FONT>了<BR>
				<%
			}
		}
	}
	%>
	<H3>
	五题中您共答对了
	<FONT COLOR = RED>
	<!--输出答对的题数-->
	<%= RightAns %>
	</FONT>
	题, 花了
	<FONT COLOR = RED>
	<!--输出计算所得的答题所花时间-->
	<%
 	out.println(((new Date()).getTime() - Long.parseLong(Time.getValue()))/1000);
	%>	
	</FONT>
	</H3>
<%
}
%>
</BODY>
</HTML>

⌨️ 快捷键说明

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