精灵王
- 注册日期2010-12-08
- 发帖数640
- QQ
- 火币1103枚
- 粉丝120
- 关注75
|
阅读:3546回复:0
网站登录记忆跳转实现的一种方法_jsp技巧
楼主#
更多
发布于:2010-12-15 12:22
| | | | 记忆登录跳转能打打方便用户使用 getHeader("Referer");方式简单不过不能处理post的参数 本来都是用在struts,webwork里的,为了容易看明白改写成jsp方式的------------------------------------------------------------------------------------------------------------- member.jsp //session限制访问页------------------------------------------------------------------------------------------- weblogin.jspalert(登录成功,谢谢光临);self.location.href="+myRedirect.geturl(url)+";");//转向到首次请求的url,.geturl(url)是把转化过的地址转化回来变成真实url. }else{ out.println("alert(用户名或密码错误);history.back();"); } }else{//如果不是登录提交显示现面登录界面 %> -------------------------------------------------------------------------------------------------------myRedirect.javapackage 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; } } 这样登录浏览器就会自动转到用户刚刚请求的地址
| | | | |
|