111111
精灵王
精灵王
  • 注册日期2010-12-08
  • 发帖数640
  • QQ
  • 火币1103枚
  • 粉丝120
  • 关注75
  • 社区明星
阅读:3445回复:0

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

楼主#
更多 发布于:2010-12-15 12:22
记忆登录跳转能打打方便用户使用
getHeader("Referer");方式简单不过不能处理post的参数
本来都是用在struts,webwork里的,为了容易看明白改写成jsp方式的

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


-------------------------------------------------------------------------------------------
weblogin.jsp

alert(登录成功,谢谢光临);self.location.href="+myRedirect.geturl(url)+";");//转向到首次请求的url,.geturl(url)是把转化过的地址转化回来变成真实url.
  }else{
   out.println("alert(用户名或密码错误);history.back();");
  }
}else{//如果不是登录提交显示现面登录界面
%>
 

     
    
[td=1,1,311 height=162]你还没有登录,请先登录

        
 
          
                                 " name=url>这里要有个hidden来保存一下,不然提交就没了
    
    
        

           [td=1,1,41 height=33]帐 号:[/td]            [td=1,1,99][/td]          

           [td]密 码:[/td]            [td][/td]          

           [td]
               没有注册  [/td]          

           [td]找回密码[/td]          

 
      
    

[/td]  


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

myRedirect.java
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;
 }
}
这样登录浏览器就会自动转到用户刚刚请求的地址


喜欢0 评分0
游客

返回顶部