今天做项目遇到这两个问题,钻研了一下。首先是ajax中跳转页面的问题
比如今天我的项目中,用ajax技术实现了登陆注册的验证功能,但是接下来,我希望登陆成功的用户能够直接跳转到系统的主界面,那么单纯地在Servlet中请求重定向是不行的。这里我们必须要在客户端的js脚本中来跳转。
在网上查了半天,发现这个方法是可以的。
window.location
既可以跳转去Servlet也可以跳转到jsp页面。
比如我现在要跳转到showAllAlbum这个jsp去,直接写:
window.location = "/ShowAllAlbum.jsp" //给出路径即可
如果是跳转到Servlet去,也就给Servlet的路径形式:
window.location = "showAllAlbum?";
用这种方法,在登陆验证成功后,就会自动跳转到我想去的页面了!
session对象
之前java web的基础比较薄弱,session对象一直用得很少,一般都是用request和response对象。今天由于项目比较大了,request只能保留一次请求里面的数据,显然是不够用的。我们要的是保留用户“一次回话”的数据,这时就需要用到session对象。
在Servlet中,session对象的创建方式:通过request来获取的
HttpSession session = request.getSession();
然后像request一样我们可以给session设置属性,setAttribute
这样,设置的属性就可以在一次回话中都用到了,如果用request设置,后面第二次请求之后,你就会发现设置的属性变成了null。