2 qq 39706986 qq_39706986 于 2017.08.28 13:18 提问

第一个控制器将登陆后将账户密码存入session,但是第二个控制器无法找到参数

第一个控制器
@Resource(name = "userServiceImpl")
private UserServiceImpl users;
@RequestMapping(value = "/entity")
public String entity(HttpServletRequest request, HttpServletResponse response) {
// 获取session
HttpSession session = request.getSession();
// 获取账户和密码
String account = request.getParameter("account");
String codes = request.getParameter("codes");
// 新建一个哈希map集合接受账户和密码的集合
HashMap entity = new HashMap();
entity = users.selectEntityUser();
session.setAttribute("account", account);
session.setAttribute("codes", codes);
/*session.setAttribute("account", request.getParameter("account"));
session.setAttribute("codes", request.getParameter("codes"));
*/// 判断账户是否匹配,并且根据用户名获取密码,并判断是否匹配
if (entity.containsKey(account) && entity.get(account).equals(codes)) {
// 登陆成功

        return "success";
    } else {
        // 登陆失败返回首页
        String msg = "用户名或密码错误";
        session.setAttribute("msgs", msg);
        return "index";
    }

}
第二个控制器
@RequestMapping(value = "/information")
public <Account> void information(HttpServletRequest request, HttpServletResponse response) {
    request.getSession().getAttribute("account");
    //调用工具包
    JosnUntils josn=new JosnUntils();
    //获取sesion
    HttpSession session= request.getSession();
    //获取存取的session值账户和密码并且强制装换

    String account=String.valueOf(session.getAttribute("account"));
     //强制转换
    String codes=String.valueOf(session.getAttribute("codes"));
     //获取一个对象将对象打包成josn传到jsp上面
    User user= users.information(account, codes);
    //转化为josn
    String use=josn.toJosn(user);
    //存入         
    session.setAttribute("information", use);
    //返回页面
}
报错为:HTTP Status 500 - Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'account' not found. Available parameters are [1, 0, param1, param2]
具体:type Exception report

message Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'account' not found. Available parameters are [1, 0, param1, param2]

3个回答

danee1
danee1   2017.08.28 13:41

看下日志 是不是 第二个controller 没有取到session中的信息,如果是的话,证明第二次发的请求中,session会话与第一次不一致,也就是说会话没有保持住。

这个要看客户端是怎么处理的,是新发的请求,还是没保存住上次响应的头信息,没传sessionId,还是有别的情况。

qq594913801
qq594913801   2017.08.28 13:47

HttpSession session = request.getSession();
session.getAttribute("account");

qq_39706986
qq_39706986   2017.08.28 14:01

没有获取到值, 报错是找不到值。

Csdn user default icon
上传中...
上传图片
插入图片