感谢@SumeetSharma。工作代码为
登录()&注销()
public String login() {
int count = 0;
try {
Connection con = getConnection();
PreparedStatement ps = con
.prepareStatement("select COUNT(*) AS rowcount from users where username=? and password=? and its='1'");
ps.setString(1, username);
ps.setString(2, userpass);
ResultSet rs = ps.executeQuery();
rs.next();
count = rs.getInt("rowcount");
rs.close();
} catch (Exception e) {
System.out.println("Unable to login - " + e.getMessage());
}
if (count == 1) {
Map session = ActionContext.getContext().getSession();
session.put("login", "true");
session.put("user", username);
// Save to cookie
Cookie user = new Cookie("user", username);
user.setPath("/");
servletResponse.addCookie(user);
return "success";
} else {
setError("Invalid login. Try again.");
return "error";
}
}
@SuppressWarnings("rawtypes")
public String logout() {
Map session = ActionContext.getContext().getSession();
session.remove("login");
session.remove("user");
Cookie user = new Cookie("user", "");
user.setPath("/");
user.setMaxAge(0);
servletResponse.addCookie(user);
return "success";
}
登录检查.jsp
<%@ taglib uri="/struts-tags" prefix="s"%>
<%@ page language="java"%>
<%
for(Cookie c : request.getCookies()) {
if(c==null){
session.setAttribute("login", "false");
}
else if (c.getName().equals("user")){
session.setAttribute("login", "true");
session.setAttribute("user", c.getValue());
}
}
%>
<s:if test="#session.login != 'true'">
<jsp:forward page="login.jsp" />
</s:if>