Java—jsp編程

1. 編寫 login.jsp,登錄時只輸入一個昵稱。但要檢查昵稱是否已經被其他用戶使用。

源代碼

Login.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %><%request.setCharacterEncoding("UTF-8"); //設置編碼String username = request.getParameter("username"); //獲取用戶名if(application.getAttribute("login")==null){Map<String,Integer> map=new HashMap<>();map.put(username,0);application.setAttribute("login",map);session.setAttribute("logging",username);response.sendRedirect("game.jsp");}else{Map cur=(Map)application.getAttribute("login");if(cur.containsKey(username))out.print("<script>alert('此昵稱已有人使用過!請重新輸入');location.href='login.jsp';</script>");else {cur.put(username,0);application.setAttribute("login",cur);session.setAttribute("logging",username);response.sendRedirect("game.jsp");}}%>

2. 編寫 game.jsp, 每次游戲程序隨機產生一個 0-9 之間的整數,要求玩家輸入自己猜的 數字,并對用戶輸入數字進行檢查,進行如下提示:
(1)如果用戶猜對了,則提示:恭喜你,猜對了。結束本次游戲。
(2)如果用戶猜錯了,則提示:你猜的數字太(大或小)了。要求用戶繼續猜。 如果連續 3 次沒有猜對,則提示:游戲失敗。
一次游戲結束時,將用戶本次猜數字情況記入“排行榜”。
然后詢問用戶是否繼續新的游戲,果用戶選擇繼續,則開始新一次游戲,
3. 必須登錄后才能進入游戲頁面,而進入登錄頁面和排行榜頁面,無須登錄

源代碼

Game.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<%String user=(String) session.getAttribute("logging");if(user==null)response.sendRedirect("login.jsp");int number=(int)(Math.random()*10)+1;session.setAttribute("num",number);session.setAttribute("count",0);
%>
<%=user%>登錄成功
輸入你猜的數
<form action="Result.jsp" method="post" name=form><input type="text" name="boy"><input type="submit" value="提交" name="submit">
</form>
</body>
</html>Result.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
<%String str=request.getParameter("boy");int guessNumber=Integer.parseInt(str);int n= (Integer) session.getAttribute("count");int realnumber= (Integer)session.getAttribute("num");if(n==3||guessNumber==realnumber) response.sendRedirect("successjsp.jsp");if(guessNumber>realnumber){n=n+1;session.setAttribute("count", n);out.println("你猜的數字太大了<br>");}else {n=n+1;session.setAttribute("count", n);out.println("你猜的數字太小了<br>");}
%>
輸入你猜的數
<form action="Result.jsp" method="post" name=form><input type="text" name="boy"><input type="submit" value="提交" name="submit">
</form>
</body>
</html>successjsp.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head><body><%Map cur=(Map)application.getAttribute("login");int c= (Integer) cur.get((String)session.getAttribute("logging"));cur.put((String)session.getAttribute("logging"),c+1);application.setAttribute("login",cur);int count= (Integer) session.getAttribute("count");int num= (Integer) session.getAttribute("num");String res=new String();long startTime=session.getCreationTime();long endTime=session.getLastAccessedTime();if(count==4)res="游戲失敗";elseres="游戲成功";%>
游戲結果:<%=res%>
您共猜錯了<%=count-1%>次
用時<%=(endTime-startTime)/1000 %>秒
這個數字就是<%=num %>
<form action="game.jsp" method="post" name=form><input type="submit" value="重新開始" name="submit">
</form>
</body>
</html>Rank.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<h1>排行榜</h1>
<body>
<%Map cur=(Map)application.getAttribute("login");out.println("用戶名"+"    "+"成功次數<br/>");for(Object c:cur.keySet()){if(c==null) continue;out.println((String)c+"    "+cur.get((String)c)+"<br/>");}%>
</body>
</html>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/392026.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/392026.shtml
英文地址,請注明出處:http://en.pswp.cn/news/392026.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java 8 Optional類深度解析

2019獨角獸企業重金招聘Python工程師標準>>> 身為一名Java程序員&#xff0c;大家可能都有這樣的經歷&#xff1a;調用一個方法得到了返回值卻不能直接將返回值作為參數去調用別的方法。我們首先要判斷這個返回值是否為null&#xff0c;只有在非空的前提下才能將其作…

鴿子 迷信_人工智能如何幫助我戰勝鴿子

鴿子 迷信鴿子回避系統 (Pigeon Avoidance System) Disclaimer: You are reading Part 1 that gives an overview of the project. Part 2 describes the technical setup and data collection. Part 3 is about how to train the Pigeon Recognition Model and run it on Rasp…

華為鴻蒙會議安排,2020華為HDC日程確定,鴻蒙、HMS以及EMUI 11成最關注點

原標題&#xff1a;2020華為HDC日程確定&#xff0c;鴻蒙、HMS以及EMUI 11成最關注點HDC&#xff1a;華為開發者大會&#xff0c;目前已經確定將在9月10日正式開幕。日前華為已經在其官網公布了HDC的日程&#xff0c;從現在的消息看華為開發者大會有三大點最受業內關注。鴻蒙操…

反射、元類

一、反射 1、什么是反射&#xff1a;就是反省&#xff0c;自省的意思 反射指的是一個對象應該具備&#xff0c;可以增、刪、改、查屬性的能力&#xff0c;通過字符串來操作屬性 涉及的四個函數&#xff0c;這四個函數就是普通的內置函數&#xff0c;只是沒有下劃線而已&#xf…

Java—簡單的圖書管理系統

簡單的圖書管理系統 通過數據源和DAO對象訪問數據庫。其中JavaBeans實現模型&#xff0c;訪問數據庫&#xff0c;Servlet實現控制器&#xff0c;JSP頁面實現視圖。 ? 模型包括2個JavaBean&#xff1a;BookBean用于存放圖書信息&#xff0c;BookDAO用于訪問數據庫。 ? 控制器包…

成功的秘訣是什么_學習編碼的10個成功秘訣

成功的秘訣是什么This post was originally published on Coder-Coder.com.該帖子最初發布在Coder-Coder.com上 。 If you’re teaching yourself how to code, you may have more questions than answers when you’re starting out.如果您正在教自己如何編碼&#xff0c;那么…

ZJUT 地下迷宮 (高斯求期望)

http://cpp.zjut.edu.cn/ShowProblem.aspx?ShowID1423 設dp[i]表示在i點時到達終點要走的期望步數&#xff0c;那么dp[i] ∑1/m*dp[j] 1&#xff0c;j是與i相連的點&#xff0c;m是與i相鄰的點數。建立方程組求解。重要的一點是先推斷DK到達不了的點。須要bfs預處理一下進行…

html收款頁面模板,訂單收款.html

&#xfeff;訂單收款$axure.utils.getTransparentGifPath function() { return resources/images/transparent.gif; };$axure.utils.getOtherPath function() { return resources/Other.html; };$axure.utils.getReloadPath function() { return resources/reload.html; };…

pandas之時間數據

1.時間戳Timestamp() 參數可以為各種形式的時間&#xff0c;Timestamp()會將其轉換為時間。 time1 pd.Timestamp(2019/7/13) time2 pd.Timestamp(13/7/2019 13:05) time3 - pd.Timestamp(2019-7-13) time4 pd.Timestamp(2019 7 13 13:05) time5 pd.Timestamp(2019 July 13 …

scikit keras_Scikit學習,TensorFlow,PyTorch,Keras…但是天秤座呢?

scikit kerasWelcome all! In the first episode of this series, I investigated the four most known machine learning frameworks and discussed which of these you should learn depending on your needs and goals.w ^迎閱讀所有&#xff01; 在本系列的第一集中 &#…

程序員如何學習更好的知識_如何保持學習并成為更好的程序員

程序員如何學習更好的知識by Kevin Gardner凱文加德納(Kevin Gardner) 如何保持學習并成為更好的程序員 (How to keep learning and become a better coder) Coding has come a long way since the days of Robert Taylor and ARPANET and Sir Tim Berners-Lee and CERN — an…

Educational Codeforces Round 25 C. Multi-judge Solving

題目鏈接&#xff1a;http://codeforces.com/contest/825/problem/C C. Multi-judge Solving time limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputMakes solves problems on Decoforces and lots of other different onli…

Java—stream以及集合框架使用

1) 編寫Student類&#xff0c;主要屬性包括學號、姓名、性別、班級 2) 編寫Score類&#xff0c;主要屬性包括&#xff1a;學號、課程名、分數 3) 模擬期末考試的成績統計應用場景&#xff0c;要求 (1) 所有學生名單及對應科目成績已經初始化在數組中 (2) 要求輸出每門課程的所有…

山東省2021年高考成績查詢平臺6,山東2021年高考成績改為6月26日前公布

6月11日&#xff0c;山東省教育廳舉行2021年第一次高考新聞發布會&#xff0c;介紹2021年高考基本情況、評卷安排、成績公布等相關工作。山東省教育招生考試院新聞發言人、普招處處長李春光介紹&#xff0c;根據近期國家有關工作要求和強基計劃招生工作需要&#xff0c;原定于6…

如何在vuejs里禁用eslint語法檢查工具

eslint好是好&#xff0c;可要求很苛刻&#xff0c;對于我這種寫代碼很糙的媛。。。。。。 搜索的時候有的說加入 /* eslint-disabled */&#xff08;有用&#xff0c;但只是部分代碼享受此待遇&#xff09; 還有說刪除.eslintrc.js里包含eslint關鍵字的塊&#xff0c;a---o---…

數據結構兩個月學完_這是我作為數據科學家兩年來所學到的

數據結構兩個月學完It has been 2 years ever since I started my data science journey. Boy, that was one heck of a roller coaster ride!自從我開始數據科學之旅以來已經有兩年了 。 男孩 &#xff0c;那可真是坐過山車&#xff01; There were many highs and lows, and…

leetcode 888. 公平的糖果棒交換(set)

愛麗絲和鮑勃有不同大小的糖果棒&#xff1a;A[i] 是愛麗絲擁有的第 i 根糖果棒的大小&#xff0c;B[j] 是鮑勃擁有的第 j 根糖果棒的大小。 因為他們是朋友&#xff0c;所以他們想交換一根糖果棒&#xff0c;這樣交換后&#xff0c;他們都有相同的糖果總量。&#xff08;一個…

如何使用JavaScript檢查輸入是否為空

by Zell Liew由Zell Liew 如何使用JavaScript檢查輸入是否為空 (How to check if an input is empty with JavaScript) Last week, I shared how to check if an input is empty with CSS. Today, let’s talk about the same thing, but with JavaScript.上周&#xff0c;我分…

數學哲學與科學哲學和計算機科學的能動作用,數學哲學與科學哲學和計算機科學的能動作用...

3 數學哲學與計算機科學的能動作用數學哲學對于計算機科學的影響主要表現于以下的事實&#xff1a;一些源于數學哲學(數學基礎研究)的概念和理論在計算機科學的歷史發展中發揮了十分重要的作用。例如&#xff0c;在此可以首先提及(一階)謂詞演算理論&#xff1a;這是由弗雷格(…

AngularDart4.0 指南- 表單

2019獨角獸企業重金招聘Python工程師標準>>> 表單是商業應用程序的主流。您可以使用表單登錄&#xff0c;提交幫助請求&#xff0c;下訂單&#xff0c;預訂航班&#xff0c;安排會議&#xff0c;并執行無數其他數據錄入任務。 在開發表單時&#xff0c;創建一個數據…