zoukankan      html  css  js  c++  java
  • 使用jsp和servlet写的一猜数字游戏

    该猜数字游戏主要用到了servlet方面的session,HttpServletResponse类中的sendRedirect()方法。

    step1,客户访问或刷新getNumber.jsp页面时,随机给用户分配一个1-100之间的数字,将该数字存放到客户的session中。

    <%@ page language="java" import="java.util.*" 
    contentType="text/html;charset=utf-8"%>
    <html>
      <head> 
      </head>  
      <body>
        <%
           String message=(String)session.getAttribute("message");
         %>
         <form  action="HandleGuess" methods="post">
             <input type="text" name="guessnumber" size=8>
             <%=message %>
             <input type="submit" value="提交">
              </form>
              <form action="getNumber.jsp" method="post">
                 <input type="submit" value="重新得到新的随机数">
              </form>
      </body>
    </html>


    step2,然后用户超廉价到inputNumber.jsp页面上,用户输入自己的猜测,并提交给HandleGuess类负责创建。

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8" 
    contentType="text/html;Charset=utf-8"%>
    <html>
      <head>
      </head>  
      <body>
        <% session.setAttribute("message", "请您猜数");
       // HttpSession session =request.getSession(true);
       int randomNumber=(int)(Math.random()*100)+1;//获取一个随机数
       session.setAttribute("saveNumber",new Integer(randomNumber));
         %>
         <p>访问或刷新该页面可以随机跌倒一个1,到100之间的数字
         <br>单击下面链接可以访问去猜数字
         <a href="inputNumber.jsp">去猜数字</a>
      </body>
    </html>


    step3,该servlet类为:

    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    public class HandleGuess extends HttpServlet {  
       public void doPost(HttpServletRequest request,HttpServletResponse response)
    		   throws ServletException,IOException{
    	   request.setCharacterEncoding("utf-8");
    	   response.setContentType("text/html;charset=utf-8");
    	   PrintWriter out=response.getWriter();	  
    	 //获取客户猜测提交的数
    	   int guessNumber=Integer.parseInt(request.getParameter("guessnumber"));
    	   //获取客户的会话对象
    	   HttpSession session=request.getSession();
    	   Integer integer=(Integer)session.getAttribute("saveNumber");
    	   int realNumber=integer.intValue();
    	   System.out.println(realNumber);
    	   System.out.println(guessNumber);
    	   if(guessNumber>realNumber){
    		   session.setAttribute("message", "您猜大了");
    		   System.out.println("您猜大了---no");
    		   response.sendRedirect("inputNumber.jsp");
    	   }
    	   else if(guessNumber<realNumber){
    		   session.setAttribute("message", "您猜小了");
    		   System.out.println("您猜小了---no");
    		   response.sendRedirect("inputNumber.jsp");
    	   }
    	   else{
    		   session.setAttribute("message", "您猜对了");
    		   System.out.println("您猜对了");
    		   response.sendRedirect("inputNumber.jsp");
    	   }
       }
       public void doGet(HttpServletRequest request,HttpServletResponse response)
              throws ServletException,IOException{
    	   doPost(request,response);
       }
       
    }
    


    step4,web.xml配置,省略。

  • 相关阅读:
    Openmp编程练习
    PAT-1107 Social Clusters (30 分) 并查集模板
    [无需建树]已知前序或后序和中序遍历结果,输出前序或后序或层次遍历的方法汇总
    微机原理与接口技术笔记(二)
    微机原理与接口技术笔记(一)
    win32API多线程编程
    PAT-1021 Deepest Root (25 分) 并查集判断成环和联通+求树的深度
    PAT-1015 Reversible Primes (20 分) 进制转换+质数
    PAT-1022 Digital Library (30 分) 字符串处理
    PAT-1013 Battle Over Cities (25 分) DFS求连通块
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3111270.html
Copyright © 2011-2022 走看看