java wed登录面 代码_Java Web用户登录实例代码
實現功能:
1、用戶登陸、注銷
2、利用session記錄用戶登陸信息
3、在JSP中展示已登陸用戶信息
實現原理:
登陸后通過判斷用戶名和密碼是否和存儲的一致,如果一致,就把用戶信息放到session中儲存;如果不一致就提示信息,并且返回登陸頁面。
顯示信息頁面上固定從session中找用戶登陸信息,找到就顯示用戶信息,沒找到就顯示登陸框。
注銷很簡單,就是清空session信息。
主要文件:
1、LoginAction:struts2的Action類,用于處理JAVA端的主要登陸和登出邏輯。
2、login.jsp:用戶登陸頁面,用戶輸入用戶名和密碼,如果登陸失敗顯示失敗信息。
3、page.jsp:登陸成功后顯示用戶信息。
4、struts.xml:struts的配置文件。
LoginAction:struts2的Action類,用于處理JAVA端的主要登陸和登出邏輯
package luju.me.teach.struts2.login;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang.StringUtils;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.Action;
/**
* @author 魯炬 http://luju.me
*
*/
public class LoginAction {
private String loginname;
private String password;
private String msg;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getLoginname() {
return loginname;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
/** 用戶登陸 */
public String login() {
if(StringUtils.isBlank(this.loginname)) {
return Action.INPUT;
}
/*
這里寫你自己通過用戶名查找用戶信息的業務邏輯
比如:使用手機號登陸
Citizen user = prmService.queryEGovCitizenByMobile(this.loginname);
....
*/
if(user == null || user.getPwd() == null || !user.getPwd().getValue().equals(this.password)) {
//登陸失敗
this.msg = "用戶不存在或密碼錯誤!";
return Action.INPUT;
} else {
//登陸成功
//設置session
this.getSession().setAttribute("_USER_INFO_LOGIN_NAME_", this.loginname);
this.getSession().setAttribute("_USER_INFO_USER_ID_", user.getId().getValue());
this.getSession().setAttribute("_USER_INFO_USER_INFO_", user);
//設置cookie
this.getResponse().addCookie(new Cookie("_USER_INFO_LOGIN_NAME_", this.loginname));
this.getResponse().addCookie(new Cookie("_USER_INFO_USER_ID_", user.getId().getValue()));
return Action.SUCCESS;
}
}
/**
* 注銷
*/
public String loginout() {
//清空session
this.getSession().invalidate();
return Action.SUCCESS;
}
public HttpSession getSession() {
return ServletActionContext.getRequest().getSession();
}
public HttpServletRequest getRequest() {
return ServletActionContext.getRequest();
}
public HttpServletResponse getResponse() {
return ServletActionContext.getResponse();
}
}
struts.xml:struts的配置文件
method="login">
login.jsp
/page.jsp
method="loginout">
login.action
login.jsp:用戶登陸頁面,用戶輸入用戶名和密碼,如果登陸失敗顯示失敗信息。
歡迎登錄${msg}
" >用戶名:
密碼:
page.jsp:登陸成功后顯示用戶信息。
boolean isLogin = false;
String loginName = (String)request.getSession().getAttribute("_USER_INFO_LOGIN_NAME_");
if(loginName != null && !"".equals(loginName)){
isLogin = true;
}
request.setAttribute("isLogin",isLogin);
request.setAttribute("loginName",loginName);
%>
你好:${loginName}
">注銷
" >手機號:
密碼:
以上所述是小編給大家介紹的Java Web用戶登錄實例代碼,希望對大家有所幫助!
總結
以上是生活随笔為你收集整理的java wed登录面 代码_Java Web用户登录实例代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 跟alex学python_跟着Alex学
- 下一篇: java美元兑换,(Java实现) 美元