Cookie与session的应用

本文介绍了一个使用Java Web实现的默认登录流程,包括login.jsp页面的用户输入,loginCheck.jsp页面的登录验证及Cookie设置,以及main.jsp页面的自动登录检查。通过这个示例,读者可以了解如何使用Cookie在Web应用中保持用户状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

默认登录

login.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>

    <form action="loginCheck.jsp" method="post">

         用户名:<input type="text" name="username"><br>

        <input type="submit" value="登陆">

    </form>

  </body>

</html>

loginCheck.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>

    <%

        String un=request.getParameter("username"); //获取用户名

        if(un!=null){

            Cookie c=new Cookie("username",un);

            c.setMaxAge(5);//设置Cookie有效期为30天

            response.addCookie(c);//将Cookie对象保存在客户端

            response.sendRedirect("main.jsp");//重定向到主页面

        }

     %>

  </body>

</html>

main.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>

    <%

            Cookie[] cs=request.getCookies();

            String v=null;

            if(cs!=null){

                for(int i=0;i<cs.length;i++){

                    if(cs[i].getName().equals("username")){  //获取名称为username的Cookie对象值

                        v=cs[i].getValue();

                    }

                }

            }

            if(v!=null){//Cookie值不空,自动登陆成功

                out.print(v+",您好!");

            }else{  //自动登陆失败,转到登陆界面

                out.print("您还没有登录,2秒后转到登录界面!");

                response.setHeader("refresh","2;url=login.jsp");

            }

     %>

  </body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值