想不登陆就上,没门

一个web总会在不同的页面跳转,必不可少的总会要有一些msg从这里要传到那里,那么这些msg要怎么才能成功传达到呢?

没错,我想到的是JSP9个内置对象中的那个很重要的request

request.setAttribute("msg","成功到达!");

if(request.getAttribute("msg") != null)

{

    out.printf(request.getAttibute("msg"));

}

不过我试过了,request只能在jsp和与之对应的servlet中用,无法跳到别的页面中用,其实想想也是,每个页面都有自己的内置request,凭什么人家就会拿到你的msg?人家只会拿到自己的request发的信息。那么不同页面就老死不往来了吗?NO!session告诉你,你可以用它来传递msg。

login.java:

 if(该用户存在)
 {
        String page="main.jsp";//跳转的页面赋为main.jsp
        HttpSession   session=request.getSession(true);

        session.setAttribute("success", "成功登录");//在这里种下session的msg

        RequestDispatcher rd = request.getRequestDispatcher(page);//跳转走
        rd.forward(request, response);

  }


main.jsp:

<% 
  if(session.getAttribute("success")==null)
  {
      session.setAttribute("failed","您尚未登录!");//如果登陆失败,告诉一下人家失败的原因
      RequestDispatcher rd = request.getRequestDispatcher("login.jsp");
      rd.forward(request, response);
  }
 %>

这样就能防止一些混人想不登陆直接上main.jsp了!

不过在login.jsp页面总得告诉一下,为什么不让他成功操作吧,不然人家以为系统坏了呢。。

login.jsp:

<%

if(session.getAttribute("failed")!=null)
{
out.println(session.getAttribute("failed"));//得到失败的原因
}
%>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值