機能を実装します:
1.ユーザーログインとログアウト
2。セッションを使用して、ユーザーログイン情報を記録します
3. JSPにログインしたユーザー情報を表示します
実装の原則:
ログインした後、ユーザー名とパスワードがストレージと一致しているかどうかを判断します。一貫している場合は、セッションにユーザー情報を配置して保存します。一貫性がない場合は、情報をプロンプトしてログインページに戻ります。
表示情報ページでは、ユーザーログイン情報がセッションから修正されます。見つかった場合、ユーザー情報が表示されます。見つからない場合は、ログインボックスが表示されます。
ログアウトは非常に簡単で、セッション情報をクリアすることです。
主なドキュメント:
1。LoginAction:Struts2のアクションクラスは、Java側のメインログインとログアウトロジックを処理するために使用されます。
2。Login.jsp:ユーザーログインページ、ユーザーはユーザー名とパスワードを入力し、ログインが失敗した場合、失敗した情報が表示されます。
3。Page.jsp:ログインした後にユーザー情報を表示します。
4。Struts.xml:Struts構成ファイル。
Loginaction:Java側のメインログインとログアウトロジックを処理するために使用されるStruts2のアクションクラス
パッケージluju.me.teach.struts2.login; javax.servlet.http.cookieをインポートします。 javax.servlet.http.httpservletrequestをインポートします。 javax.servlet.http.httpservletResponseをインポートします。 javax.servlet.http.httpservletResponseをインポートします。 javax.servlet.http.httpsessionをインポートします。 org.apache.commons.lang.stringutilsをインポートします。 Import org.apache.struts2.servletactionContext; com.opensymphony.xwork2.actionをインポートします。 /** * @author lu ju http://luju.me * */public class loginaction {private string loginname;プライベート文字列パスワード。プライベート文字列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(){パスワードを返します。 } public void setPassword(string password){this.password = password; } / ** user login* / public string login(){if(stringutils.isblank(this.loginname)){return action.input; } /*ここでは、ユーザー情報をユーザー情報を見つけるためのビジネスロジックを書き込みます。たとえば、市民ユーザー= prmservice.queryegovcitizenbymobile(this.loginname); .... */if(user == null || user.getpwd()== null ||!user.getpwd()。getValue()。 action.inputを返します。 } else {// login rogin custely // sess 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())); action.successを返します。 }} /*** logout* /public string loginout(){// clear session this.getSession()。invalidate(); action.successを返します。 } public httpsesssion getSession(){return servletactioncontext.getRequest()。getSession(); } public httpservletrequest getRequest(){return servletactionContext.getRequest(); } public httpservletResponse getResponse(){return servletactionContext.getResponse(); }}struts.xml:構成ファイルをstrutsします
<?xml version = "1.0" encoding = "utf-8"?> <!doctype struts public " - // apacheソフトウェア財団// dtd struts構成name = "login" method = "login"> <result name = "input"> login.jsp </result> <result name = "success" type = "redirect">/page.jsp </result> </action> <action name = "loginout" method = "loginout"> <result name = "success" type = "redirect"
login.jsp:ユーザーログインページ、ユーザー入力ユーザー名とパスワード、そしてログインが失敗した場合、失敗した情報が表示されます。
<%@ page Language = "Java" pageEncoding = "utf-8"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%> <html> <head> <meta http-iv = "content-type"/htmlログイン</title> </head> <body> <div id = "login"> <span> $ {msg} </span> <form name = "form1" method = "post" action = "<c:url value ="/common/login.action "/>" </span> <span> <label>パスワード:</label> <入力タイプ= "パスワード" name = "password" id "id =" password "value =" 123 "/> </span> <span> <入力タイプ=" submit "value =" login "/> </span> </form> </div> </body> </html>Page.jsp:ログインした後、ユーザー情報を表示します。
<%@ page Language = "Java" pageEncoding = "utf-8"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%> <%boolean islogin = fals; 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); %> <c:if test = "$ {islogin}"> hello:$ {loginname} <a href = "<c:url value ="/common/loginout.action "/>"> login </c:if> <c:if test = "$ {!islogin}" value = "/common/login.action"/> "> <span> <label>携帯電話番号:</label> <input name =" loginname "id =" loginname "type =" text ""/> </span> <span> <aburd>パスワード</span> </form> </c:if>上記は、編集者が紹介したJava Webユーザーログイン例コードです。私はそれが誰にでも役立つことを願っています!