##解决页面跳转空指针异常
从添加页面返回到用户管理页面报错空指针:这是因为用户管理页面中从数据库查询的数据是放在request作用域中,只作用一次页面跳转请求后失效(第一次请求:用户管理到添加用户;之后再从添加用户返回用户管理就属于第二次跳转),这样数据就没了,所以会报空指针异常,因为用户管理页面中的用户数据为空;
关于四个作用域的范围:https://www.cnblogs.com/ellisonDon/archive/2012/10/29/2744872.html
解决办法:
a. 将数据改为session作用域,并在用户管理的servlet文件中改为session.getAt…
HttpSession session = request.getSession();
session.setAttribute(“users”, users);
response.setR……(“admin_user.jsp”);
//这里注意如果是request作用域时只能用请求转发的方式跳转将request作用域的数据传给jsp,session用请求转发或重定向均可;这是因为请求转发中的forword(…)是用来转发request,response对象的,而数据就是存放在request对象中
但是会发现,这时在添加页面中添加的用户,跳转到用户管理页面时并未出现,这是因为此时是直接进行的页面跳转,并未再次查询数据库数据,所以此时的数据依旧是之前存放在session中的,即第一次跳转时查询的数据库数据;
b.上述方法不可行,则直接从添加用户的servlet跳转到查询所有用户的servlet中,这样就会在跳转过程中再次查询
数据库并跳转到用户管理界面