登录超时跳转页面失败和ajax传递到后台数据乱码
2016-05-19 21:22
615 查看
登录超时跳转页面失败和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")
相关文章推荐
- Codeforces Round #353 (Div. 2)E
- SSM小技巧(一)、Controller中互相调用session中存储的内容
- JavaScript中typeof()函数的定义和用处 getAttribute 4000 () 获取title
- JavaScript中typeof()函数的定义和用处 getAttribute 4000 () 获取title
- JavaScript中typeof()函数的定义和用处 getAttribute 4000 () 获取title
- JavaScript中typeof()函数的定义和用处 getAttribute 4000 () 获取title
- JavaScript中typeof()函数的定义和用处 getAttribute 4000 () 获取title
- JavaScript中typeof()函数的定义和用处 getAttribute 4000 () 获取title
- JavaScript中typeof()函数的定义和用处 getAttribute 4000 () 获取title
- JavaScript中typeof()函数的定义和用处 getAttribute 4000 () 获取title
- JavaScript中typeof()函数的定义和用处 getAttribute 4000 () 获取title
- JavaScript中typeof()函数的定义和用处 getAttribute 4000 () 获取title
- JavaScript中typeof()函数的定义和用处 getAttribute 4000 () 获取title
- JavaScript中typeof()函数的定义和用处 getAttribute 4000 () 获取title
- JavaScript中typeof()函数的定义和用处 getAttribute 4000 () 获取title
- JavaScript中typeof()函数的定义和用处 getAttribute 4000 () 获取title
- css可继承属性和不可继承属性
- Android的Application对象讲解
- Sentinel和laravel结合使用
- CentOS6.5下的yum本地源配置