网站登录记忆跳转实现的一种方法
作者:互联网
2009-07-03
记忆登录跳转可以打打方便用户使用
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{//如果不是登录提交显示现面登录界面
%>
| 您还没有登录,请先登录 |
<%
}
%>
-------------------------------------------------------------------------------------------------------
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;
}
}
这样登录浏览器就会自动转到用户刚刚请求的地址
相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
Jsp+Servlet实现文件上传下载 删除上传文件(三)
Jsp+Servlet实现文件上传下载 文件列表展示(二)
Jsp+Servlet实现文件上传下载 文件上传(一)
jsp中sitemesh修改tagRule技术分享
JSP servlet实现文件上传下载和删除
jsp+servlet实现文件上传与下载功能
jsp 使用request为页面添加静态数据的实例
JSP页面跳转方法大全
EJB3.0部署消息驱动Bean抛javax.naming.NameNotFoundException异常
在JSP中使用formatNumber控制要显示的小数位数方法
AI精选
