体会真正的Struts开发(2期)8

博客主要介绍了Struts相关文件的编写与修改。首先展示了LogonForm.java文件的代码,包含验证用户名和密码的逻辑。接着介绍了Action类的修改,涉及数据库查询等操作,若查询失败会返回错误信息,成功则返回成功信息。logon.jsp与struts - config.xml配置修改可查看下载文件。
 

下面我们编写生成的文件<o:p></o:p>

<o:p> </o:p>

首先LogonForm.java文件<o:p></o:p>

public ActionErrors validate(<o:p></o:p>

        ActionMapping mapping,<o:p></o:p>

        HttpServletRequest request) {<o:p></o:p>

        ActionErrors errors=super.validate(mapping,request);<o:p></o:p>

        if(errors==null){<o:p></o:p>

            errors=new ActionErrors();<o:p></o:p>

        }<o:p></o:p>

        if((password==null)||(password.trim().length()==0)){<o:p></o:p>

            errors.add("password",new ActionError("password"));<o:p></o:p>

        }<o:p></o:p>

        if((userName==null)||(userName.trim().length()==0)){<o:p></o:p>

            errors.add("userName",new ActionError("userName"));<o:p></o:p>

        }<o:p></o:p>

        return errors;<o:p></o:p>

    }<o:p></o:p>

修改Action类<o:p></o:p>

public ActionForward execute(ActionMapping mapping, ActionForm form,<o:p></o:p>

            HttpServletRequest request, HttpServletResponse response) {<o:p></o:p>

        LogonForm logonForm = (LogonForm) form;<o:p></o:p>

        Session s = null;<o:p></o:p>

        try {<o:p></o:p>

            s = YJBaseHBM.currentSession();<o:p></o:p>

        } catch (HibernateException e) {<o:p></o:p>

            e.printStackTrace();<o:p></o:p>

            ActionErrors errors = new ActionErrors();<o:p></o:p>

            errors.add("hbm.session.error",<o:p></o:p>

                    new ActionError("hbm.session.error"));<o:p></o:p>

            saveErrors(request, errors);<o:p></o:p>

            return mapping.findForward("failure");<o:p></o:p>

        }<o:p></o:p>

        try {<o:p></o:p>

            Query q=s.createQuery("from UserInfo  ui where ui.userName=:user and password=:password");<o:p></o:p>

            q.setString("user", logonForm.getUserName());<o:p></o:p>

            q.setString("password", logonForm.getPassword());<o:p></o:p>

            System.out.println(q.toString());<o:p></o:p>

            Iterator it = q.iterate();<o:p></o:p>

            if(it.hasNext()==false){<o:p></o:p>

                ActionErrors errors = new ActionErrors();<o:p></o:p>

                errors.add("no.user",<o:p></o:p>

                        new ActionError("no.user"));<o:p></o:p>

                saveErrors(request, errors);<o:p></o:p>

                return mapping.findForward("failure");<o:p></o:p>

            }<o:p></o:p>

            YJBaseHBM.closeSession();<o:p></o:p>

        } catch (HibernateException e) {<o:p></o:p>

            e.printStackTrace();<o:p></o:p>

            ActionErrors errors = new ActionErrors();<o:p></o:p>

            errors.add("hbm.session.query",<o:p></o:p>

                    new ActionError("hbm.session.query"));<o:p></o:p>

            saveErrors(request, errors);<o:p></o:p>

            return mapping.findForward("failure");<o:p></o:p>

        } catch (Exception e1){<o:p></o:p>

            e1.printStackTrace();<o:p></o:p>

            ActionErrors errors = new ActionErrors();<o:p></o:p>

            errors.add("hbm.session.query",<o:p></o:p>

                    new ActionError("hbm.session.query"));<o:p></o:p>

            saveErrors(request, errors);<o:p></o:p>

            return mapping.findForward("failure");<o:p></o:p>

        }<o:p></o:p>

        <o:p></o:p>

        return mapping.findForward("success");<o:p></o:p>

    }<o:p></o:p>

logon.jsp与struts-config.xml配置修改见下载文件<o:p></o:p>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值