為什么我的不能用session存,提示request為空,換成request存立刻就行了
public String login(){
UsersDAO udo = new UsersDAOImpl();
if (udo.usersLogin(user))?
{
//在session中保存登錄成功的用戶名
// session.setAttribute("loginUserName", user.getUsername());
request.setAttribute("loginUserName", user.getUsername());
return "login_success";
} else {
return "login_failure";
}
}
2016-10-12
你的 SuperAction 類是否沒有初始化 session 啊,看下面,在?setServletRequest() 有給session 輔助哦:
package action;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.util.ServletContextAware;
import com.opensymphony.xwork2.ActionSupport;
//所有Action動(dòng)作的父類
public class SuperAction extends ActionSupport implements ServletRequestAware,ServletResponseAware,ServletContextAware {
/**
*?
*/
private static final long serialVersionUID = 7727505312022359301L;
protected HttpServletRequest request; ?//請求對象
protected HttpServletResponse response; ?//響應(yīng)對象
protected HttpSession session; ?//會(huì)話對象
protected ServletContext application; ?// 全局對象
@Override
public void setServletContext(ServletContext application) {
this.application = application;
}
@Override
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
this.session = this.request.getSession();
}
}
2017-05-25
真給力,非常感謝!