黑马程序员技术交流社区

标题: 关于重定向问题 [打印本页]

作者: ReNeXt    时间: 2015-5-8 12:46
标题: 关于重定向问题
本帖最后由 ReNeXt 于 2015-5-8 12:55 编辑

Question:这是网页登陆时的一段代码,在“ 第4步开始判断“中   return "f:/jsps/user/login.jsp";  和   return "r:/index.jsp"; 是什么意思?
login.jsp 和  index.jsp的路径分别
/goodsExample/WebRoot/jsps/user/login.jsp  和  /goodsExample/WebRoot/index.jsp,
为什么变成  f:// 和  r://  开头了?
/**
         * 登录功能
         * @param req
         * @param resp
         * @return
         * @throws ServletException
         * @throws IOException
         */
public String  login(HttpServletRequest req, HttpServletResponse resp)
                        throws ServletException, IOException {
                /*
                 * 1. 封装表单数据到user
                 */
                User formUser = CommonUtils.toBean(req.getParameterMap(), User.class);
                /*
                 * 2. 校验
                 */
                Map<String,String> errors = validateLogin(formUser, req.getSession());
                if(errors.size() > 0) {
                        req.setAttribute("form", formUser);
                        req.setAttribute("errors", errors);
                        return "f:/jsps/user/login.jsp";
                }
               
                /*
                 * 3. 调用userService#login()方法
                 */
                User user = userService.login(formUser);
                /*
                 * 4. 开始判断
                 */
                if(user == null) {
                        req.setAttribute("msg", "用户名或密码错误!");
                        req.setAttribute("user", formUser);
                        return "f:/jsps/user/login.jsp";
                } else {
                        if(!user.isStatus()) {
                                req.setAttribute("msg", "您还没有激活!");
                                req.setAttribute("user", formUser);
                                return "f:/jsps/user/login.jsp";                                
                        } else {
                                // 保存用户到session
                                req.getSession().setAttribute("sessionUser", user);
                                // 获取用户名保存到cookie中
                                String loginname = user.getLoginname();
                                loginname = URLEncoder.encode(loginname, "utf-8");
                                Cookie cookie = new Cookie("loginname", loginname);
                                cookie.setMaxAge(60 * 60 * 24 * 10);//保存10天
                                resp.addCookie(cookie);
                                return "r:/index.jsp";//重定向到主页
                        }
                }

        }


作者: 老罗    时间: 2015-5-8 13:02
代码来源?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2