jsp实验四 session对象及cookie


文章目录

  • jsp实验四 session对象及cookie
  • 一、实验题目及要求
  • 实验1 session对象
  • 实验要求
  • inputGuess.jsp
  • result.jsp
  • small.jsp和large.jsp
  • success.jsp
  • 效果示例
  • inputGuess.jsp
  • small.jsp和large.jsp
  • success.jsp
  • 实验2 用户登录简单实现
  • 实验要求
  • 效果示例
  • 二、实验代码和效果
  • 1.session对象
  • inputguess.jsp
  • result.jsp
  • large.jsp
  • small.jsp
  • success.jsp
  • 效果展示
  • 2.简易用户登录
  • login.jsp
  • welcome.jsp
  • 效果展示
  • 总结



一、实验题目及要求

实验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

使用session 对象实现用户和管理员登录的命令 session对象的使用实验报告_java

small.jsp和large.jsp

使用session 对象实现用户和管理员登录的命令 session对象的使用实验报告_servlet_02

使用session 对象实现用户和管理员登录的命令 session对象的使用实验报告_html_03

success.jsp

使用session 对象实现用户和管理员登录的命令 session对象的使用实验报告_servlet_04

实验2 用户登录简单实现

实验要求

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

效果示例

使用session 对象实现用户和管理员登录的命令 session对象的使用实验报告_jsp_05


使用session 对象实现用户和管理员登录的命令 session对象的使用实验报告_jsp页面_06


使用session 对象实现用户和管理员登录的命令 session对象的使用实验报告_servlet_07

二、实验代码和效果

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>随机分给你一个1到100的数,猜猜看</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>

效果展示

使用session 对象实现用户和管理员登录的命令 session对象的使用实验报告_jsp_08


使用session 对象实现用户和管理员登录的命令 session对象的使用实验报告_jsp页面_09


使用session 对象实现用户和管理员登录的命令 session对象的使用实验报告_servlet_10


使用session 对象实现用户和管理员登录的命令 session对象的使用实验报告_jsp页面_11

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>

效果展示

使用session 对象实现用户和管理员登录的命令 session对象的使用实验报告_jsp页面_12


使用session 对象实现用户和管理员登录的命令 session对象的使用实验报告_jsp_13


在180秒内,再次打开login页面会自动跳转到welcome页面

总结

  1. cookie很难用,到现在也没用搞清楚
  2. session.setAttribute(“guessTime”,0);session.getAttribute(“guessTime”,0);来实现数据的传递