jsp实验四 session对象及cookie

jsp实验四 session对象及cookie


一、实验题目及要求

实验1 session对象

实验要求

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


inputGuess.jsp

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


result.jsp

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


small.jsp和large.jsp

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


success.jsp

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


效果示例

inputGuess.jsp

在这里插入图片描述

small.jsp和large.jsp

在这里插入图片描述

在这里插入图片描述

success.jsp

在这里插入图片描述

实验2 用户登录简单实现

实验要求

编写登录页面login.jsp和登录成功页面welcome.jsp。用户在登录页面通过表单提交账号和密码;在进入登录成功页面时,对用户提交的用户名和密码进行验证,如果验证成功则提示欢迎词,否则重定向至登录页面。

效果示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、实验代码和效果

1.session对象

inputguess.jsp

<%--
  Created by IntelliJ IDEA.
  User: ruochen
  Date: 2020/11/2
  Time: 10:23
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>inputguess</title>
</head>
<body>
<p>随机分给你一个1100的数,猜猜看</p>
<form action="resultg.jsp" method="post">
    输入你的猜测:
    <input type="text" name="sideA" />
    <input type="submit" value="提交"/></form>
<% int num=(int)(Math.random()*100)+1;
session.setAttribute("guessTime",0);
session.setAttribute("number",num);
%>
</body>
</html>

result.jsp

<%--
  Created by IntelliJ IDEA.
  User: ruochen
  Date: 2020/11/2
  Time: 10:25
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>result</title>
</head>
<body>
<%   int c=(int)session.getAttribute("number");
    int b = (int)session.getAttribute("guessTime");
    int guess = Integer.parseInt( request.getParameter("sideA"));
    if(guess<c)
    {  b++;
        session.setAttribute("guessTime",b);
        response.sendRedirect("small.jsp");}
    else if (guess>c)
    {  b++;
        session.setAttribute("guessTime",b);
        response.sendRedirect("large.jsp");}
    else if(guess==c)
    {  b++;
        session.setAttribute("guessTime",b);
        response.sendRedirect("success.jsp");}
        %>
</body>
</html>

large.jsp

<%--
  Created by IntelliJ IDEA.
  User: ruochen
  Date: 2020/11/2
  Time: 10:23
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    int a=(int)   session.getAttribute("number");
    int b = (int)  session.getAttribute("guessTime");%>

<form action="resultg.jsp" method="post">
    猜大了,请再猜:
    <input type="text" name="sideA" />
    <input type="submit" value="提交"/></form>
</body>
</html>

small.jsp

<%--
  Created by IntelliJ IDEA.
  User: ruochen
  Date: 2020/11/2
  Time: 10:24
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    int a=(int)   session.getAttribute("number");
    int b = (int)  session.getAttribute("guessTime");%>

<form action="resultg.jsp" method="post">
   猜小了,请再猜:
    <input type="text" name="sideA" />
    <input type="submit" value="提交"/></form>

</body>
</html>

success.jsp

<%--
  Created by IntelliJ IDEA.
  User: ruochen
  Date: 2020/11/2
  Time: 10:24
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%int b = (int)  session.getAttribute("guessTime");
    int a=(int)   session.getAttribute("number");%>
    <p>恭喜你猜对了</p>
<p>您共猜了<%=b%>次,这个数字是<%=a%></p>
<p>单击超链接返回</p>
    <a href="inputguess.jsp">inputguess</a>
</body>
</html>

效果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.简易用户登录

login.jsp

<%--
  Created by IntelliJ IDEA.
  User: ruochen
  Date: 2020/11/2
  Time: 10:59
  To change this template use File | Settings | File Templates.
--%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>login</title>
    </head>
    <body>
<pre>
    <form>
                                会员登录

                 用户名:<input type="text" name="user" placeholder="邮箱号"/>
                 密  码:<input type="password" name="password"/>

                 <input type="submit" value="登录" />
</form>

<%
    Cookie []cks = request.getCookies();

    for(int i = 0;i<cks.length;++i){
        if(cks[i].getName().equals("user")){
            response.sendRedirect("welcomo.jsp");
            return ;
        }
    }

    String user = request.getParameter("user");
    String passwd = request.getParameter("password");

    if(user == null || passwd == null){

    }
    else if(user == "" || passwd == "" ){
        out.print("请输入用户名和密码");
    }
    else if(user.equals("626487036@qq.com") && passwd.equals("123456")){
        Cookie ck = new Cookie("user",user);
        ck.setMaxAge(180);
        response.addCookie(ck);
        response.sendRedirect("welcomo.jsp");
    }
    else{
        out.print("请输入正确的用户名或密码");
    }

%>

</pre>

    </body>
    <html>

welcome.jsp

<%--
  Created by IntelliJ IDEA.
  User: ruochen
  Date: 2020/11/2
  Time: 10:59
  To change this template use File | Settings | File Templates.
--%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>welcome</title>
    </head>
    <body>
  <P>登录成功</P>
        <%
            Cookie []cks = request.getCookies();
            String  user = null;
            for(int i = 0;i<cks.length;++i){
                if(cks[i].getName().equals("user")){
                    user = cks[i].getValue();
                    break;
                }
            }

        %>
        <p><%=user %>欢迎你</p>

    </body>
    <html>


效果展示

在这里插入图片描述
在这里插入图片描述
在180秒内,再次打开login页面会自动跳转到welcome页面

总结

  1. cookie很难用,到现在也没用搞清楚
  2. session.setAttribute(“guessTime”,0);session.getAttribute(“guessTime”,0);来实现数据的传递
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值