yznu课程:JSP实验报告4

实验目的及要求:

  1. 理解session的有效期。
  2. 理解并掌握sessionID和URL重写。
  3. 掌握session内置对象的getAttribute()等方法的使用。
  4. 掌握session对象存取数据的方法。

实验内容:

编写四个JSP 页面inputGuess.jsp、result.jsp、small.jsp、large.jsp和success.jsp,实现猜数字游戏。具体要求如下

1.inputGuess.jsp

用户请求inputGuess.jsp时,用随机函数产生一个1到100之间的数。该页面同时负责将这个数字存在用户的session对象中。该页面提供表单,用户可以使用该表单输入自己的猜测,并提交给result.jsp页面。

2.result.jsp

result.jsp页面负责判断inputGuess.jsp提交的猜测是否和用户的session对象中存放的那个数字相同,如果相同就将用户重定向到success.jsp;如果不相同就将用户重定向到large.jsp或small.jsp。

3.small.jsp和large.jsp

small.jsp和large.jsp页面提供表单,用户可以使用该表单继续输入自己的猜测,并提交给result.jsp页面。

4.success.jsp

success.jsp页面负责显示用户成功的消息,并负责输出用户session对象中的数据。

实验关键代码:10号字,宋体,单倍行距)

inputGuess.jsp:

<body>

    <%session.setAttribute("game","猜字游戏"); %>

    <br>

    随机分配了一个1100之间的数,请猜!

<%

    int number=(int)(Math.random()*100)+1;

    session.setAttribute("count", new Integer(0));

    session.setAttribute("save", new Integer(number));   

%><br>

请输入你猜的数字:

<form action="result.jsp" method="post" name=form>

    <input type="text" name="boy">

    <input type="submit" value="提交" name="submit">

</form>

</body>

result.jsp:

<body>

    <%

    String str=request.getParameter("boy");

    if(str==null){

        str="0";

    }

    int guessNumber=Integer.parseInt(str);

    Integer integer=(Integer)session.getAttribute("save");

    int realnumber=integer.intValue();

    if(guessNumber==realnumber)

    {

        int n=((Integer)session.getAttribute("count")).intValue();

        n=n+1;

        session.setAttribute("count", new Integer(n));

        response.sendRedirect("success.jsp");

    }

    else if(guessNumber>realnumber){

        int n=((Integer)session.getAttribute("count")).intValue();

        n=n+1;

        session.setAttribute("count", new Integer(n));

        response.sendRedirect("large.jsp");

    }

    else if(guessNumber<realnumber)

    {

        int n=((Integer)session.getAttribute("count")).intValue();

        n=n+1;

        session.setAttribute("count", new Integer(n));

        response.sendRedirect("small.jsp");

    }

%>

</body>

small.jsp:

<body>

    所猜的数比实际的小,请继续:

<form action="result.jsp" method="post" name=form>

    <input type="text" name="boy">

    <input type="submit" value="提交" name="submit">

</form>

<%

    Integer integer=(Integer)session.getAttribute("save");

    int realnumber=integer.intValue();

    out.println(realnumber);  

%>

</body>

large.jsp:

<body>

    所猜的数比实际的大,请继续:

<form action="result.jsp" method="get" name=form>

    <input type="text" name="boy">

    <input type="submit" value="提交" name="submit">

</form>

<%

    Integer integer=(Integer)session.getAttribute("save");

    int realnumber=integer.intValue();

    out.println(realnumber);  

%>

success.jsp:

<%

    int count=((Integer)session.getAttribute("count")).intValue();

    int num=((Integer)session.getAttribute("save")).intValue();

    long startTime=session.getCreationTime();

    long endTime=session.getLastAccessedTime();

%>

<%=session.getAttribute("game") %><br>

恭喜你,猜对了<br>

您共猜了<%=count%><br>

用时<%=(endTime-startTime)/600000 %><br>

这个数字就是<%=num %>

</body>

实验结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值