学习札记——JSP实现登陆后返回历史浏览页面

参考资料 :1、  http://www.myexception.cn/java-web/21981.html

     2、http://www.myexception.cn/web/605128.html


实现思路:

1、获取历史浏览页面路径

2、存储路径

3、登陆成功后跳转到路径


代码如下:

package com.tool;

import javax.servlet.http.HttpServletRequest;

public class RequestUrl {
	/**
	 * 获取完整路径
	 * @param request
	 * @return
	 */
	public static String getRequestUrl(HttpServletRequest request){
		if (request == null) { 
			return ""; 
			} 

			String url = ""; 
			url = request.getContextPath(); 
			url = url + request.getServletPath(); 

			java.util.Enumeration names = request.getParameterNames(); 
			int i = 0; 
			// String requestPageUrl = " "; 
			if (names != null) { 
			while (names.hasMoreElements()) { 
				String name = (String) names.nextElement(); 
				if (name.equals( "requestPageUrl") || name.indexOf( "log") != -1) { 
				// requestPageUrl = request.getParameter(name); 
					continue; 
				} 
	
				if (i == 0) { 
					url = url + "?"; 
				} 
				else { 
					url = url + "&"; 
				} 
				i++; 
	
				String value = request.getParameter(name); 
				if (value == null) { 
					value = ""; 
				} 
	
					url = url + name + "=" + value; 
				} 
			} 

			try { 
				java.net.URLEncoder.encode(url, "ISO-8859"); 
			} 
			catch (Exception e) { 

			} 
			return url; 
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}
在前台jsp里面隐含一个 <input type= "hidden " name= "requestUrl " > 
在提交的后台action 或则 servlet中,调用我刚写的这个方法,就可以把当前的url放到 requestUrl里了啊,登陆后在跳到这个url就可以了


request.getParameterNames()方法 

request.getParameterNames()方法是将发送请求页面中form表单里所有具有name属性的表单对象获取(包括button).返回一个Enumeration类型的枚举.
通过Enumeration的hasMoreElements()方法遍历.再由nextElement()方法获得枚举的值.此时的值是form表单中所有控件的name属性的值.

request.getParameter()方法

获取表单控件的value值.



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值