jsp实验11 JavaBean

二、实验项目内容(实验题目)

编写代码,掌握javabean的用法。【参考课本 上机实验 5.5.2 】

三、源代码以及执行结果截图:

源代码:

Memory.java

package sea.water;

import java.util.ArrayList;

import java.util.Random;

public class Memory {

                   static ArrayList<String> list = new ArrayList<String>();

                   static {

                     list.add("★");

                     list.add("●");

                     list.add("▲");

                     list.add("■");

                     list.add("◆");

                   }

                   int grade = 5;

                   String testString;

                   boolean isGivenTestString = false;

                   public void setGrade(int n) {

                     grade = n;

                   }

                   public int getGrade() {

                     return grade;

                   }

                   public void giveTestString() {

                     StringBuffer buffer = new StringBuffer();

                     Random random = new Random();

                     for(int i=0;i<grade;i++) {

                            int index = random.nextInt(list.size());

                            String str = list.get(index);

                            buffer.append(str);

                     }

                     testString = new String(buffer);

                   }

                   public void setIsGivenTestString(boolean b) {

                     isGivenTestString = b;

                   }

                   public boolean getIsGivenTestString() {

                     return isGivenTestString;

                   }

                   public String getTestString() {

                     return testString;

                   }

}

choiceGrade.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<style type="text/css">

   #textStyle{

      font-family: 宋体;

      font-size: 26;

      color: blue;

   }

</style>

</head>

<body bgcolor="#ffccff">

   <form action="giveTest.jsp" id="textStyle" method="post">

      <input type="radio" name="grade" value="5" />初级

      <input type="radio" name="grade" value="7" checked="ok" />中级

      <input type="radio" name="grade" value="10" />高级

      <br><input type="submit" id="textStyle" value="提交" />

      <input type="reset" id="textStyle" value="重置" />

   </form>

</body>

</html>

giveTest.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<style type="text/css">

   #tomStyle{

      font-family: 宋体;

      font-size: 36;

      color: blue;

   }

</style>

</head>

<jsp:useBean id="memory" class="sea.water.Memory" scope="session" />

<body bgcolor="#ffccff">

   <%

      String grade = request.getParameter("grade");

      String testString = "";

      if(grade == null){

        memory.setGrade(memory.getGrade());

      }else{

        memory.setGrade(Integer.parseInt(grade));

      }

      if(memory.getIsGivenTestString() == false){

        memory.giveTestString();

        testString = memory.getTestString();

        memory.setIsGivenTestString(true);

      }

      else if(memory.getIsGivenTestString() == true){

        response.sendRedirect("answerTest.jsp");

      }

   %>

   <p id="tomStyle">5秒记住您看到的字符序列:<br>

      <%= testString %>

      <br>5秒后,将转到答题页.

      <% response.setHeader("refresh", "5"); %>

   </p>

</body>

</html>

answerTest.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<style type="text/css">

   #tomStyle{

      font-family: 宋体;

      font-size: 26;

      color: blue;

   }

</style>

</head>

<jsp:useBean id="memory" class="sea.water.Memory" scope="session" />

<body bgcolor="#ffccff">

   <form action="judgeAnswer.jsp" id="tomStyle" method="post">

      您记住的字符序列是怎样的,请选择:

      <%

        int n = memory.getGrade();

        memory.setIsGivenTestString(false);

        for(int i = 1;i<=n;i++){

           out.print("<br>"+i+"个字符:");

           out.print(

              "<input type=radio id=tomStyle name=R"+ i +" value=''/>"+  

              "<input type=radio id=tomStyle name=R"+ i +" value='●'/>●"+

              "<input type=radio id=tomStyle name=R"+ i +" value='▲'/>▲"+

              "<input type=radio id=tomStyle name=R"+ i +" value='■'/>■"+

              "<input type=radio id=tomStyle name=R"+ i +" value=''/>"

           );

        }

      %>

      <br><input type="submit" id="tomStyle" value="提交" />

      <input type="reset" id="tomStyle" value="重置" />

   </form>

</body>

</html>

judgeAnswer.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<jsp:useBean id="memory" class="sea.water.Memory" scope="session" />

<body bgcolor="white">

   <p style="font-family: 宋体;font-size: 26;color: blue;">

      <%

        memory.setIsGivenTestString(false);

        request.setCharacterEncoding("UTF-8");

        int n = memory.getGrade();

        StringBuffer buffer = new StringBuffer();

        for(int i = 1;i <= n;i++){

           buffer.append(request.getParameter("R" + i));

           out.print("" + request.getParameter("R" + i));

        }

        String userAnswer = new String(buffer);

        String testString = memory.getTestString();

        if(testString.equals(userAnswer)){

           out.print("您记忆不错");

        }else{

           out.print("您没记忆住!答案是:<br>"+testString);

        }

      %>

      <br><a href="giveTest.jsp">返回,继续练习记忆</a>

      <br><a href="choiceGrade.jsp">重新选择级别</a>

   </p>

</body>

</html>

效果图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/643888.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何解决升级IntelliJ IDEA 2024后 打开项目就自动闪退关闭问题的终极指南

title: “&#x1f42f; 解决升级IntelliJ IDEA 2024后项目自动关闭的终极指南” date: 2024-04-23 author: 猫头虎 profile: CSDN 文章目录 title: "&#x1f42f; 解决升级IntelliJ IDEA 2024后项目自动关闭的终极指南" date: 2024-04-23 author: 猫头虎 profile: …

安全AI未来 | C3安全大会 · 2024,数据驱动 AI原生

数字为时代变革注入动力&#xff0c;AI为重塑社会文明带来原力。数智浪潮中&#xff0c;我们见证着时代跃迁的巨变&#xff0c;面临着适变、应变、驭变的挑战。 数字驱动、AI原生。数字的流动不仅承载着信息&#xff0c;更将激活未来的无限价值&#xff1b;AI&#xff0c;不…

python爬虫 - 爬取html中的script数据(36kr.com新闻信息)

文章目录 1. 分析页面内容数据格式2. 使用re.findall方法&#xff0c;爬取新闻3. 使用re.search 方法&#xff0c;爬取新闻 1. 分析页面内容数据格式 打开 https://36kr.com/ 按F12&#xff08;或 在网页上右键 --> 检查&#xff08;Inspect&#xff09;&#xff09; 找…

Fork for Mac v2.42 激活版 Git客户端

Fork for Mac是一款运行在Mac平台上的Git客户端&#xff0c;Fork Mac版具备基本的取、推、提交、修改、创建和删除分支和标签、创建和删除远程备份等功能&#xff0c;还有实用的差异查看器&#xff0c;你可以通过清晰的视图快速发现源代码中的更改。 Fork for Mac v2.42 激活版…

HTML5+CSS3小实例:炫彩荧光线条登录框

实例:炫彩荧光线条登录框 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-sca…

【网络安全】在网络中如何对报文和发送实体进行鉴别?

目录 1、报文鉴别 &#xff08;1&#xff09;使用数字签名进行鉴别 &#xff08;2&#xff09;密码散列函数 &#xff08;3&#xff09;报文鉴别码 2、实体鉴别 鉴别(authentication) 是网络安全中一个很重要的问题。 一是要鉴别发信者&#xff0c;即验证通信的对方的确是…

分布式与一致性协议之拜占庭将军问题(三)

拜占庭将军问题 叛将先发送消息 如果是叛将楚先发送作战消息&#xff0c;干扰作战计划&#xff0c;结果会有所不同吗&#xff1f; 在第一轮作战信息协商中&#xff0c;楚向苏秦发送作战指令"进攻",向齐、燕发送作战指令"撤退"&#xff0c;如图所示(当然还…

自动化软件测试策略

作为一名软件开发人员&#xff0c;我在不同的公司工作过&#xff0c;具有不同的软件测试流程。在大多数情况下&#xff0c;没有特定/记录的测试方法......因此该过程的内容/方式取决于各个开发人员。与大多数情况一样&#xff0c;当没有强制执行或至少记录在案的政策时&#xf…

MySQL的root用户无法远程连接

默认root用户只允许本地连接&#xff0c;所以需要修改mysql库中user表中名为root的用户的host为“%” select Host,User from user;UPDATE mysql.user SET host % WHERE user root; FLUSH PRIVILEGES;

Dropout Feature Ranking for Deep Learning Models

摘要 深度神经网络( deep neural networks&#xff0c;DNNs )在多个领域取得了最新的研究成果。不幸的是&#xff0c;DNNs因其不可解释性而臭名昭著&#xff0c;从而限制了其在生物和医疗保健等假说驱动领域的适用性。此外&#xff0c;在资源受限的环境下&#xff0c;设计依赖…

网盘——查看文件

本文主要讲解文件操作过程中&#xff0c;查看文件如何实现&#xff0c;实现步骤如下&#xff1a; 1、实现步骤&#xff1a; A、首先客户端发送查看请求&#xff08;包含目录信息&#xff09; B、服务器将文件名字还有文件的类型发送给客户端&#xff08;只发送文件的名字&am…

vue3去掉el-table底部白色边框

加入下面这一行代码就行了&#xff0c;我用的是less :deep(.el-table__inner-wrapper:before) {background: none;}效果图