トップページ >  Struts >  ログイン画面の作成
初版2006/08/11: 最終更新日2006/08/11
  ログイン画面の作成
目次
ログイン画面の作成
struts-configの設定
ログイン画面の作成
給与明細表示システムに誰でも入れると困るので、ログイン画面の作成を行います。
ログイン出来るのはtbl_userテーブルに登録されているユーザだけです。但し、現時点では誰でも入れるようにして、データベースは見に行きません。
ログイン画面は、C:\STRUTS\html配下にlogin.htmlファイルとして作成します。
ファイルの内容は以下の通りです。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta name="robots" content="noindex,nofollow">
<title>kyuyou</title>
</head>

<body>
        <form action="../login_suru.do" name="aaa" method="post">
        <table>
                <tr><td>User ID </td><td><input type="text" name="username"></td></tr>
                <tr><td>Password</td><td><input type="text" name="password"></td></tr>
        </table>
        <input type="submit" name="ログイン" value="login">
        <input type="reset" name="キャンセル" value="cancel">
</form>
</body>

</html>
formのaction属性で../login_suru.doと指定しています。これはアプリのルートから相対指定します。
これはsubmit押下時のロジックを記述しているクラス名ではなく、struts-configで指定している単なるパス属性になります。
また、name属性は特に何も意味がありません。(と思う)
ログイン画面は下図のようなイメージになります。

ログイン画面の作成
ログイン画面の作成
struts-configの設定
ではstruts-config.xmlの設定をします。

<form-beans>
    <form-bean name="login" type="com.confrage.Login.Login">
        <form-property name="username" type="java.lang.String"/>
        <form-property name="password" type="java.lang.String"/>
   </form-bean>
</form-beans>

<action-mappings>
    <action name="login" type="com.confrage.loginAction.loginAction" path="/login_suru" >
    <forward name="success" path="/pages/main.jsp"/>
    </action>
</action-mappings>
フォームビーンもアクションクラスもname属性はloginとします。これは連動させるため、合わす必要があります。
login.htmlファイルのformのname属性がaaaですが、ここが合っていなくても何の影響もありません。
要するにform-beanとactionのマッピングはstruts-config.xmlでするのです。
ここで、フォーム(この場合、ユーザIDとパスワードのフォーム)とアクションクラス(submit押下時のロジック)とのマッピング(連動)を行います。

これでフォームのsubmitボタン押下時に、form-bean(com.confrage.Login.Loginクラス)のusernameとpasswordに画面から入力されたユーザ名とパスワードが格納されます。
またアクションタグのtype属性で指定したクラスが実行されるようになります。この場合、com.confrage.loginAction.loginActionになります。
実行後のパスはアクションタグのpath属性で指定した/login_suruに.doを付加したパスになります。
要するに、http://localhost:8080/STRUTS/login_suru.doとなります。(Strutsではprefixとして.doが付きます。)

現在ログイン制御していないので、submit押下すれば誰でもログインできる状態です。
が、submit押下時のloginActionクラスを作成していないため、エラーとなります。
次回、フォームの入力データを格納するLoginクラスを作成します。
Information

運営サイト
飲み会するならLINKS!!

美人メッセージ!
美人メッセージ!

サイト内検索
当サイト内を検索できます↓


PV

Contact
Skype Me?!

Other
Validate XHTML 1.1       Validate CSS