servlet和jsp交互的第一个典型例子

来源:互联网 发布:手机写作软件排行 编辑:程序博客网 时间:2024/06/08 04:34

05.guess.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>     <title>百万富翁数字竞猜游戏</title>    </head>    <body>  <%  //从request域中取出信息  String msg = (String)request.getAttribute("msg");  if(msg!=null){  out.write("<font color='red'>"+msg+"</font>");  }   %>   <%   //获取竞猜次数   Integer times = (Integer)request.getAttribute("times");   if(times!=null){   out.write(",你还有"+(5-times)+"次机会!");   }    %>        <form action="/day13/GuessServlet" method="post">    请输入30以下的整数:<input type="text" name="lucyNo"/><br/>    <%    if(times!=null){     %>    <input type="hidden" name="times" value="<%=times %>"/>    <%    }     %>    <input type="submit" value="开始竞猜"/>    </form>  </body></html>
GuessServlet.java

public class GuessServlet extends HttpServlet {//产生一个幸运数字int answer;/** * 新游戏方法。产生一个新的幸运数字 */public void newGame(){Random random = new Random();answer = random.nextInt(30);}public GuessServlet(){//第一次访问newGame();}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");//1.接收输入的数字String lucyNoStr = request.getParameter("lucyNo");System.out.println("答案:"+answer);Integer lucyNo = null;//2.判断幸运数字和用户的数字//2.1 把用户输入的数字转成整数if(lucyNoStr!=null || !lucyNoStr.equals("")){lucyNo = Integer.parseInt(lucyNoStr);}//标记记录当前竞猜的次数Integer times = 1;//初始值//接收客户当前竞猜次数String timesStr = request.getParameter("times");if(timesStr!=null && !timesStr.equals("")){times = Integer.parseInt(timesStr)+1;}if(times<5){String msg = "";//比较if(lucyNo>answer){//大了msg = "可惜,大了点";}else if(lucyNo<answer){//小了msg = "可惜,小了点";}else if(lucyNo==answer){//等于,中奖msg = "恭喜你,中得1000000元现金大奖,请带身份证到xxx地方领奖!";times = null;}//把当前竞猜的次数放入域对象request.setAttribute("times", times);//把信息放入域对象中request.setAttribute("msg", msg);}else{//产生新的幸运数字newGame();//游戏结束response.getWriter().write("游戏结束。<a href='"+request.getContextPath()+"/05.guess.jsp'>再来一盘</a>");return;}//转发request.getRequestDispatcher("/05.guess.jsp").forward(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}




0 0
原创粉丝点击