今天带来的是在写web项目时候,如何判断用户是否进行了登录操作。
public
void
doGet(HttpServletRequest
request
, HttpServletResponse
response
)
throws
ServletException, IOException {
String
name
=
request
.getParameter(
“name”
);
String
pwd
=
request
.getParameter(
“pwd”
);
Userinfo
u
=
new
Userinfo(
name
,
pwd
);
Userinfo
userinfo
=
new
Userservice().get(
u
);
//通过jsp页面获取出用户输入的账号和密码到数据库进行查询,有没有这个用户数据判断是否执行保存登录状态
if
(
userinfo
!=
null
) {
request
.getSession().setAttribute(
“user”
,
userinfo
);
//
登录成功可以设置时间更长一些
//setMaxInactiveInterval(60) 60S内不做任何事情,Session就失效。比如,你刚登录了系统,接着跑去财务部收钱, 70S后回来,再继续操作系统,这时应该会提示重新登录。
request
.getSession().setMaxInactiveInterval(60 * 60 * 24 * 7);
//
保存登录状态
Cookie
ck
=
new
Cookie(
“JSESSIONID”
,
request
.getSession().getId());
ck
.setPath(
“/”
);
ck
.setMaxAge(30);
response
.addCookie(
ck
);
}
}
//然后再其它的servlet中判断user是否为空判断是否有登录
public void delete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Object user = request.getSession().getAttribute(“user”);
if (user == null) {
request.setAttribute(“info”, “你没有登录”);
request.getRequestDispatcher(“/info.jsp”).forward(request, response);
return;
}
}
博主不是很专业,欢迎大家指证(0_0),谢谢欣赏。