まず、一致する環境を投稿しましょう。
構成:
Eclipse4.3.2
JDK1.7_45
mysql 5.0+
次に、ポイントに到達します。
1。Login.jsp
主に、OGNLタグを使用するか、HTMLフォームを使用してloginAction.actionを呼び出して、ポストに送信できます。
LoginaCactionの判断の後、<S:Fielderror/>を使用して表示する必要がある迅速なメッセージがあります。
<%@ taglib uri = "/struts-tags" prefix = "s"%> < http-equiv = "content-type" content = "text/html; charset = utf-8"> <title> login </title> </head> <body> <center>ログイン<! - this.addActionError( "username or password is forecrect!");アクションHTMLで設定されたディスプレイ情報は、OGNL式式 - > <S:ActionError /> <% - <s:fielderror /> - %> <s:form action = "login.action" method = "post"> <s:label value = "username:" /> <s:textfield name = "username" /> <br /> <s " name = "userpwd" /> <br /> <s:submit value = "loginaction" /> < /s:form> < /center> < /body>
2。Struts.xml
構成<br />名前空間は " /"、「struts-default」を継承します
正常にログインするには、index.jspにジャンプします
ログインに失敗し、login.jspが返されます
<pre name = "code"> <?xml version = "1.0" encoding = "utf-8"?> <!doctype struts public " - // apacheソフトウェア財団// デフォルト。 Struts2が処理され、よりフォーマットされます。参照しない場合、このプロパティを追加できます - > <constant name = "struts.ui.theme" value = "simple"/> <package name = "default" namespace = "/" extends = "struts-default"> <action name = "loginaction"> <result name = "success">/index.jsp </result name "enput"> login.jsp </struts>
3。LoginAction.java
loginaction
ActionSupportメソッドを継承し、execute()およびvalidate()メソッドをオーバーライドします。
メソッドを実行すると、バックグラウンドから呼び出されるデータベースの値を呼び出す
検証メソッドは、ユーザー名とパスワード入力が空であるかどうかを判断するために使用され、メソッドがlogin.jspで呼び出されていることを思い出させます。 strtus.xmlで設定しない限り、設定情報を設定せずにデフォルトで直接呼び出すことができます。
パッケージcom.tikitoo.action; com.opensymphony.xwork2.actionsupportをインポートします。 com.tikitoo.service.userinfoserviceをインポートします。 com.tikitoo.service.userinfoserviceimplをインポートします。 / ** * @author tikitoo1 * @see com.opensymphony.xwork2.actionsupport * @see com.opensymphony.xwork2.actionsupport * */ public class loginacts extends ActionSupport {private static final long serialversionuid = -47605616021544545411L; / *** struts2デフォルトのコールメソッド* @return struts2 resurt return value*/ @override public string execute()throws exception {userinfoservice userinfoservice = new userinfoserviceimpl(); boolean flag = userinfoservice.loginbyusernameanduserpwd(username、userpwd);文字列msg = ""; if(flag == true){this.addfielderror( "true"、 "login rogin"); msg = "success"; } else {this.addfieldnerror( "ユーザー名またはパスワードが正しくない!"); msg = "input"; } msgを返します。 } // execute()end/ ***ログイン確認* ActionSupport Method*/ @Override public void validate(){//ユーザー名が空であるかどうかを判断} //パスワードが空であるかどうかを決定する場合(getuserpwd()== null || "" .equals(getuserpwd()。trim())){this.addfielderror( "userpwd"、 "パスワードは空になりません"); }} // validate()end private string tip; public string getTip(){return tip; }プライベート文字列ユーザー名; private string userpwd; public string getUsername(){return username; } public void setUsername(string username){this.username = username; } public string getUserpwd(){return userpwd; } public void setuserpwd(string userpwd){this.userpwd = userpwd; }}ユーザー名とパスワードは誤って入力されます。
ユーザー名が正しく入力された場合、ログインは成功します。
上記はこの記事に関するものです。すべての人の学習に役立つことを願っています。