繁体中文
设为首页
加入收藏
当前位置:JSP技术首页 >> 开发工具 >> 网站登录记忆跳转实现的一种方法

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

2004-11-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:   记忆登录跳转可以打打方便用户使用 getHeader("Referer");方式简单不过不能处理post的参数 本来都是用在struts,webwork里的,为了容易看明白改写成jsp方式的 --------------------------------------------...
关键字:记忆 登录 方法 网站

  

记忆登录跳转可以打打方便用户使用

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("");//转向到首次请求的url,.geturl(url)是把转化过的地址转化回来变成真实url.

}else{

out.println("");

}

}else{//如果不是登录提交显示现面登录界面

%>

您还没有登录,请先登录

这里要有个hidden来保存一下,不然提交就没了

帐 号:
密 码:

没有注册

找回密码

<%

}

%>

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

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;

}

}

这样登录浏览器就会自动转到用户刚刚请求的地址

责任编辑:admin
相关文章