wufang5

          認識自己,降伏自己,改變自己,才能改變別人。

           

          用戶的登陸與注冊程序

          action的登陸方法中使用動態表單(屬于ajax)

          在配置文件中(struts-config.xml)

          <form-beans>

                <form-bean name="loginForm"

          type="org.apache.struts.action.DynaActionForm">

                <form-property name="userName" type="java.lang.String" />

                <form-property name="password" type="java.lang.String" />

          </form-bean>

          <action-mappings>

          <action path="/login" type="org.springframework.web.struts.DelegatingActionProxy" parameter="method" name="loginForm" validate="false" scope="request" input="/login.jsp">

                <forward name="index" path="/index.jsp"></forward>

          </action>

          ……………………

          </action-mappings>

           

          LoginAction.java

          public class LoginAction extends DispatchAction {

                

                 private UserManager userManager;

                

                 public UserManager getUserManager() {

                        return userManager;

                 }

                 public void setUserManager(UserManager userManager) {

                        this.userManager = userManager;

                 }

                

                 /**

                  * 登陸驗證后跳轉到用戶概況頁面 (index.jsp)

                  */ 

                 public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

                        /** 獲得動態表單**/

           

                        DynaActionForm loginForm = (DynaActionForm)form;

                        /** 從表單中獲得用戶名**/

                        String userName = (String)loginForm.get("userName");

           

                        /** 從表單中獲得密碼**/

           

                        String password = (String)loginForm.get("password");

                        /** 通過用戶名得到用戶實體**/

                        User user = userManager.getUserByName(userName);

                        /** 設置錯誤信息**/

                        ActionMessages actionMessages = super.getErrors(request);

                        /** 判斷用戶是否存在**/

                        if(user == null){

                               /** 把錯誤信息添加到loginError**/

                               actionMessages.add("loginError",new ActionMessage("MSG002"));

                               /** 保存錯誤信息并傳遞到登錄頁面中**/

                               super.saveErrors(request, actionMessages);

                               /** 跳轉到登陸頁面**/

                               return mapping.getInputForward();

                        }else{         

                               /**判斷密碼是否錯誤 **/

                               if(!password.equals(user.getPassword())){

                                      actionMessages.add("loginError",new ActionMessage("MSG002"));

                                      super.saveErrors(request, actionMessages);

                                      return mapping.getInputForward();

                               }

                        }           

                                      /** 把用戶user存到session**/

                        request.getSession().setAttribute("user",user);

          //不能把user這個對象放在session里,應該放userId,不然外鍵太多容易是tomcat死了

                        /** 驗證成功 跳轉到用戶概況頁面**/

                        return mapping.findForward("index");

                 }

                

          }

           

          JSP頁面上:動態表單的屬性要和頁面的屬性名字相同!

          <input name="userName" id="userName" type="text" />

          <input name="password" id="password" type="password" />

           

          posted on 2008-10-27 17:39 懶蟲 閱讀(130) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          公告

          這是偶的關于JAVA學習總結的知識,有個別的文章是轉載的已經作出標記了,希望大家一起學習啊~不斷交流,謝謝樓~O(∩_∩)O哈哈~

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案(1)

          文章分類(24)

          文章檔案(25)

          搜索

          最新評論

          主站蜘蛛池模板: 获嘉县| 英超| 芦山县| 奎屯市| 平凉市| 宝兴县| 宁国市| 宽甸| 抚顺市| 专栏| 大洼县| 常宁市| 北碚区| 石屏县| 阜城县| 平湖市| 乌兰浩特市| 镇坪县| 平乡县| 娄烦县| 天峻县| 奎屯市| 左贡县| 得荣县| 广饶县| 新巴尔虎左旗| 顺昌县| 安新县| 威远县| 通许县| 孙吴县| 油尖旺区| 吉木乃县| 平罗县| 射阳县| 甘肃省| 永年县| 辉南县| 宽甸| 深泽县| 晴隆县|