网站登录记忆跳转实现的一种方法

手游礼包中心2

手游礼包中心2

2016-02-19 18:08

今天图老师小编要跟大家分享网站登录记忆跳转实现的一种方法,精心挑选的过程简单易学,喜欢的朋友一起来学习吧!

  记忆登录跳转可以打打方便用户使用
  getHeader("Referer");方式简单不过不能处理post的参数
  本来都是用在struts,webwork里的,为了容易看明白改写成jsp方式的

  -------------------------------------------------------------------------------------------------------------
  member.jsp   //session限制访问页

  %
  String url = ""
  if(session.getAttribute("username")==null)
  {
           url = myRedirect.dealurl(request);//记录当前地址和请求参数,dealurl将实际url处理了避免和要请求url有干扰,因为会有& 字符
           response.sendRedirect("weblogin.jsp?url="+url) ;//重定向到登录页面
  }
  %
  -------------------------------------------------------------------------------------------
  weblogin.jsp

  %
  String url = request.getParameter("url");
  String userid =request.getParameter("userid");
  String password =request.getParameter("password");
  if(userid!=null) //如果是登录提交执行下面代码
  {

   if(登录成功)
    {
     session.setAttribute("userid",userid);
     out.println("scriptalert('登录成功,谢谢光临');self.location.href='"+myRedirect.geturl(url)+"';/script");//转向到首次请求的url,.geturl(url)是把转化过的地址转化回来变成真实url.
    }else{
     out.println("scriptalert('用户名或密码错误');history.back();/script");
    }
  }else{//如果不是登录提交显示现面登录界面
  %
  table width="311" height="162" border="0" align="center" cellpadding="0" cellspacing="0"
    tr
       
      td width="311" height="162" align="center" 您还没有登录,请先登录br
          table width="155" border="0" cellpadding="0" cellspacing="5" class="font12"
    form  name="loginfrm" action="weblogin.jsp" method="post"  id="loginfrm" onSubmit="return checkfrm();"
            tr
              td width="41" height="33" valign="bottom"帐 号:/td
              td width="99" valign="bottom"input name="userid" type="text" class="textstyle" id="userid" size="12" style="height:20"/td
            /tr
            tr
              td密 码:/td
              tdinput name="password" type="password" class="textstyle" id="password" size="12" style="height:20;width:94"/td
            /tr
            tr align="center" valign="bottom"
              td height="21" colspan="2" input type="submit" name="Submit" value="登录"
                  a href="reg.jsp" target="_blank"没有注册/a  /td
            /tr
            tr align="center"
              td colspan="2" class="font14"stronga href="#" onclick="MM_openBrWindow('requestpwd.jsp','pwd','width=300,height=200');return false;"找回密码/a/strong/td
            /tr
      input name="url" type="hidden" value="%=url%"这里要有个hidden来保存一下,不然提交就没了
     
      /form
          /table

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

   
       
      /td
    /tr
  /table
  %
  }
  %

  -------------------------------------------------------------------------------------------------------

  
  myRedirect.java

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  package com.util;

  import javax.servlet.http.HttpServletRequest;
  import java.util.Enumeration;

  public class myRedirect    //对url的转换类
  {
   public static String dealurl(HttpServletRequest request)
   {
    String url = "";
    url = request.getRequestURL()+"?";
    url +=param(request);
    if(url.indexOf("&")-1)
     url=url.replaceAll("&","@#@");//实际上就是把有&的字符转化成了@#@
    return url;
   }
   public static String geturl(String url)//这个是还原方法
   {
    if(url.indexOf("@#@")-1)
     url=url.replaceAll("@#@","&");
    return url;    
   }
   public static String param(HttpServletRequest request)
   {
    String url = "";
    Enumeration param = request.getParameterNames();//得到所有参数名
    while(param.hasMoreElements())
    {
     String pname = param.nextElement().toString();
     url += pname+"="+request.getParameter(pname)+"&";
    }
    if(url.endsWith("&"))
    {
     url = url.substring(0,url.lastIndexOf("&"));
    }
    return url;
   }
  }
  这样登录浏览器就会自动转到用户刚刚请求的地址

展开更多 50%)
分享

猜你喜欢

网站登录记忆跳转实现的一种方法

Web开发
网站登录记忆跳转实现的一种方法

vb实现图像缩放的一种方法

编程语言 网络编程
vb实现图像缩放的一种方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

VB调用IMAGE控件实现图像缩放的一种方法

编程语言 网络编程
VB调用IMAGE控件实现图像缩放的一种方法

正弦函数的绘制的一种方法

电脑网络
正弦函数的绘制的一种方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

判断Checkbox和Radio的一种方法

Web开发
判断Checkbox和Radio的一种方法

解决Oracle处理中文乱码的一种方法

电脑网络
解决Oracle处理中文乱码的一种方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

全面解析JSPservlet的配置

全面解析JSPservlet的配置

下面的源码中搬掉僵尸

下面的源码中搬掉僵尸
下拉加载更多内容 ↓