题目
要求显示班级和用户名用 session
解题代码
页面1: login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录</title>
</head>
<body>
<form method="POST" action="test.jsp">
<p>选择班级:
<select size="1" name="cls">
<option value="1班" selected>1班</option>
<option value="2班">2班</option>
<option value="3班">3班</option>
</select>
</p>
<p>输入用户名:</p>
<input type="text" name="username">
<input type="submit" value="登录">
</form>
</body>
</html>
页面2: test.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>开始考试</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String cls = request.getParameter("cls");
session.setAttribute("cls", cls);
String username = request.getParameter("username");
session.setAttribute("username", username);
if(username.equals("")){
response.sendRedirect("login.jsp");
}
else{
out.println("欢迎登录 "+username+"<br>"+"下面开始考试!");
}
%>
<form method="POST" action="result.jsp">
<p>1.填空题:</p>
2+2=?
<input type="text" name="question1">
<p>2.单选题:</p>
<p>十进制数 12 转换成二进制是多少?</p>
<input type="radio" name="question2" value="A">A.1100
<input type="radio" name="question2" value="B">B.1010
<input type="radio" name="question2" value="C">C.1101
<p>3.多选题:</p>
<p>下面哪些选项是正确?</p>
<input type="checkbox" name="question3" value="A">A.1+1=2
<input type="checkbox" name="question3" value="B">B.1*0=1
<input type="checkbox" name="question3" value="C">C.2/2=1
<p></p>
<input type="submit" value="提交">
</form>
</body>
</html>
页面3: result.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>成绩</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String question1 = request.getParameter("question1");
String question2 = request.getParameter("question2");
String question3[] = request.getParameterValues("question3");
String 班级=(String)session.getAttribute("cls");
String 用户名=(String)session.getAttribute("username");
%>
<p>班级:<%=班级 %></p>
<p>用户名:<%=用户名 %></p>
<p>提交的答案:1.<%=question1 %> 2.<%=question2 %> 3.
<%
if (question3 != null){
for(int i=0;i<question3.length;i++){ // 输出复选框数组的值
%>
<%=question3[i] %>
<%
}
}
%>
<p>
<p>标准答案:1.4 2.A 3.A C</p>
<%
int score=0;
if(question1.equals("4")){
score += 2;
}
if(question2.equals("A")){
score += 2;
}
if(question3 != null){
if(question3[0].equals("A") && question3[1].equals("C")){ // 全答对
score += 2;
}
else if(question3[0].equals("A") && question3[1].equals("C")){ // 答对一个
score += 2;
}
}
%>
<p>得分:<%=score %>分</p>
</body>
</html>
运行结果