加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

登录超时跳转页面失败和ajax传递到后台数据乱码

发布时间:2020-12-16 01:39:01 所属栏目:百科 来源:网络整理
导读:登录超时跳转页面失败和ajax传递到后台数据乱码 登录超时后,拦截任何点击的链接,跳转到登录页面发生上面错误。拦截代码如下 public void doFilter(ServletRequest servletRequest,ServletResponse servletResponse,FilterChain chain)throws IOException,S

登录超时跳转页面失败和ajax传递到后台数据乱码

登录超时后,拦截任何点击的链接,跳转到登录页面发生上面错误。拦截代码如下

public void doFilter(ServletRequest servletRequest,ServletResponse servletResponse,FilterChain chain)
			throws IOException,ServletException {
		HttpServletRequest request = (HttpServletRequest) servletRequest;
		HttpServletResponse response = (HttpServletResponse) servletResponse;
		HttpSession session = request.getSession();
		if ((session == null) || (session.getAttribute("username") == null)) {
			String PATH=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
			response.sendRedirect(PATH+"login.htm");
			
			//System.out.println(PATH);
			return; 
		}
		chain.doFilter(request,response);
		return ;
	}
解决办法是,不让它直接跳转到登录页面,而是跳转到一个errors.jsp页面上,在这个页面用js写个跳转页面的方法。errors,jsp的js方法
<script type="text/javascript">
	//登录超时
	
		window.location.href="${base}/login.htm";
	 
	
</script>

这个问题困扰了我很多时间,其中查阅了很多response.sendRedirect的使用方法和碰到的问题,但都解决不了,知道同学帮忙提出js跳转这个思路去解决。

第二个是ajax传递给后台数据乱码问题,这也是很常见的问题。解决办法如下:

function createTab(code,title,url ) { 
	        $.ajax({  
	            type : "post",contentType:"application/string",url : url+"?title="+escape(encodeURIComponent(title)),success:function(data){    
	                $("#mainContent").html(data);//要刷新的div  
	            },error: function() {  
	               alert("失败,请稍后再试!");  
	            }  
	        });  
		} 

我需要往后台传递“title”,除了前台使用escape(encodeURIComponent(title))封装title,后台还需要处理其格式,代码如下:
java.net.URLDecoder.decode(request.getParameter("title"),"UTF-8")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读