本帖最后由 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";//重定向到主页
}
}
}
|
|