jsp大学课程hi实验:分页在线测评(session的使用)

时间:2023-03-09 23:03:09
jsp大学课程hi实验:分页在线测评(session的使用)
project_1_updata_1_1.jsp
 <%@ page contentType="text/html;charset=utf-8" language="java" %>
<html>
<head>
<title>project_1</title>
</head>
<body>
<form action="project_1_updata_1_2.jsp" method="post" name="form1">
单选题<br>
1.application对象所依赖的类或接口是(15`)<br>
<input type="radio" name="t1" value="A">A、JspWrite<br>
<input type="radio" name="t1" value="B">B、ServletContext<br>
<input type="radio" name="t1" value="C">C、PageContext<br>
<input type="radio" name="t1" value="D">D、HttpServletContext<br>
2.下面说法错误的是(15`)<br>
<input type="radio" name="t2" value="A">A、要在JSP网页内直接嵌入一段Java代码,这段代码可以写在script标记对内<br>
<input type="radio" name="t2" value="B">B、要在JSP网页内直接嵌入一段Java代码,可以写在标记内<br>
<input type="radio" name="t2" value="C">C、JSP代码中变量和方法的声明是写在标记内<br>
<input type="radio" name="t2" value="D">D、以上说法都正确<br>
<input type="submit" value="下一页" name="submit">
<input type="reset" value="重置"><br> </form>
</body>
</html>
project_1_updata_1_2.jsp
 <%@ page contentType="text/html;charset=utf-8" language="java" %>
<html>
<head>
<title>project_1</title>
</head>
<body>
<%!
String t1 = "";
String t2 = "";
%>
<%
t1 = request.getParameter("t1");
session.putValue("t1", t1);
t2 = request.getParameter("t2");
session.putValue("t2", t2);
%>
<form action="project_1_updata_1_3.jsp" method="post" name="form1">
多选题<br>
3.下面关于session的用法哪个不是正确的?(20`)<br>
<input type="checkbox" name="t3" value="A">A、HttpSession session = new HttpSession()<br>
<input type="checkbox" name="t3" value="B">B、String haha =session.getParameter(“haha”)<br>
<input type="checkbox" name="t3" value="C">C、session.removeAttribute(“haha”)<br>
<input type="checkbox" name="t3" value="D">D、session. setAttribute(“haha”)<br>
4.以下关于HTML表单的叙述正确的是(20`)<br>
<input type="checkbox" name="t4" value="A">A、表单按钮和表单文本框的标记都是用input标记定义<br>
<input type="checkbox" name="t4" value="B">B、GET表单提交方式较POST方式快速//速度:显然Get比Post要快。<br>
<input type="checkbox" name="t4" value="C">C、POST表单提交方式把数据链接在目标资源的URL中,而GET方式把表 单数据存储在HTTP请求报头的尾部<br>
<input type="checkbox" name="t4" value="D">D、同名复选框可向服务器传递0个或多个数据值,而同名单选按钮只能向 服务器传递1个数据值。<br>
<input type="submit" value="下一页" name="submit">
<input type="reset" value="重置">
</form>
</body>
</html>
project_1_updata_1_3.jsp
 <%@ page contentType="text/html;charset=utf-8" language="java" %>
<html>
<head>
<title>project_1</title>
</head>
<body>
<%!
String []t3;
String []t4;
%>
<%
String t1 = (String) session.getValue("t1");
session.putValue("t1",t1);
String t2 = (String) session.getValue("t2");
session.putValue("t2",t2);
t3 = request.getParameterValues("t3");
session.setAttribute("t3",t3);
t4 = request.getParameterValues("t4");
session.setAttribute("t4",t4);
%>
<form action="project_1_updata_2.jsp" method="post" name="form1">
5.(1)jsp:forward动作用来把当前的JSP页面重导到另一个页面上,用户看到的地址是当前页面的地址,而内容是另一个页面的。(15`)<br>
<input type="radio" name="t5" value="true">对<br>
<input type="radio" name="t5" value="false">错<br>
(2)jsp:param动作可单独使用,用于页面间传递参数。(15`)<br>
<input type="radio" name="t6" value="true">对<br>
<input type="radio" name="t6" value="false">错<br>
<input type="submit" value="提交" name="submit">
<input type="reset" value="重置">
</form>
</body>
</html>
project_1_updata_2.jsp
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>得分情况</title>
</head>
<body>
<%!
int sum = 0;//总分
String t5 = "";
String t6 = "";
%>
<%
String t1 = (String) session.getValue("t1");
String t2 = (String) session.getValue("t2");
String [] t3 = (String[]) session.getAttribute("t3");
String [] t4 = (String[]) session.getAttribute("t4");
t5 = request.getParameter("t5");
t6 = request.getParameter("t6"); // String t1 = request.getParameter("t1");
// String t2 = request.getParameter("t2");
// String t3[] = request.getParameterValues("t3");
// String t4[] = request.getParameterValues("t4");
// String t5 = request.getParameter("t5");
// String t6 = request.getParameter("t6"); //说明答案
out.print("第一题答案为B,你选择的答案为" + t1);
if (t1 == null) {
out.print("\t回答错误不得分");
} else if (t1.equals("B")) {
sum = sum + 15;
out.print("\t得分:15分");
} else {
out.print("\t回答错误不得分");
}
%><br><%
out.print("第二题答案为A,你选择的答案为" + t2);
if (t2 == null) {
out.print("\t回答错误不得分");
} else if (t2.equals("A")) {
sum = sum + 15;
out.print("\t得分:15分");
} else {
out.print("\t回答错误不得分");
}
%><br><%
out.print("第三题答案为ABD,你选择的答案为");
if (t3 == null) {
out.print("null\t回答错误不得分");
}else {
for (String s : t3) {
out.print(s);
}
if (t3.length == 1 || t3.length == 2 || t3.length == 4) {
out.print("\t回答错误不得分");
} else if (t3.length == 3) {
if (t3[0].equals("A") && t3[1].equals("B") && t3[2].equals("D")) {
sum = sum + 20;
out.print("\t得分:20分");
} else {
out.print("\t回答错误不得分");
}
} else {
out.print("\t回答错误不得分");
}
}
%><br><%
out.print("第四题答案为ACD,你选择的答案为");
if (t4 == null) {
out.print("null\t回答错误不得分");
}else {
for (String s : t4) {
out.print(s);
}
if (t3.length == 1 || t3.length == 2 || t3.length == 4) {
out.print("\t回答错误不得分");
} else if (t3.length == 3) {
if (t4[0].equals("A") && t4[1].equals("C") && t4[2].equals("D")) {
sum = sum + 20;
out.print("\t得分:20分");
} else {
out.print("\t回答错误不得分");
}
}
}
%><br><%
out.print("第五题答案为false,你选择的答案为" + t5);
if (t1 == null) {
out.print("\t回答错误不得分");
} else if (t5.equals("false")) {
sum = sum + 15;
out.print("\t得分:15分");
} else {
out.print("\t回答错误不得分");
}
%><br><%
out.print("第六题答案为false,你选择的答案为" + t5);
if (t1 == null) {
out.print("\t回答错误不得分");
} else if (t6.equals("true")) {
sum = sum + 15;
out.print("\t得分:15分");
} else {
out.print("\t回答错误不得分");
}
%><br><%
out.print("总分为" + sum);
%>
</body>
</html>