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

博客主要介绍了Struts项目中相关文件的编写与修改。包括编写LogonForm.java文件中的验证方法,修改Action类中的执行逻辑,处理用户登录验证及异常情况,还提到logon.jsp与struts - config.xml配置修改可在下载文件中查看。

下面我们编写生成的文件<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

首先LogonForm.java文件

public ActionErrors validate(

ActionMapping mapping,

HttpServletRequest request) {

ActionErrors errors=super.validate(mapping,request);

if(errors==null){

errors=new ActionErrors();

}

if((password==null)||(password.trim().length()==0)){

errors.add("password",new ActionError("password"));

}

if((userName==null)||(userName.trim().length()==0)){

errors.add("userName",new ActionError("userName"));

}

return errors;

}

修改Action类

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

LogonForm logonForm = (LogonForm) form;

Session s = null;

try {

s = YJBaseHBM.currentSession();

} catch (HibernateException e) {

e.printStackTrace();

ActionErrors errors = new ActionErrors();

errors.add("hbm.session.error",

new ActionError("hbm.session.error"));

saveErrors(request, errors);

return mapping.findForward("failure");

}

try {

Query q=s.createQuery("from UserInfo ui where ui.userName=:user and password=:password");

q.setString("user", logonForm.getUserName());

q.setString("password", logonForm.getPassword());

System.out.println(q.toString());

Iterator it = q.iterate();

if(it.hasNext()==false){

ActionErrors errors = new ActionErrors();

errors.add("no.user",

new ActionError("no.user"));

saveErrors(request, errors);

return mapping.findForward("failure");

}

YJBaseHBM.closeSession();

} catch (HibernateException e) {

e.printStackTrace();

ActionErrors errors = new ActionErrors();

errors.add("hbm.session.query",

new ActionError("hbm.session.query"));

saveErrors(request, errors);

return mapping.findForward("failure");

} catch (Exception e1){

e1.printStackTrace();

ActionErrors errors = new ActionErrors();

errors.add("hbm.session.query",

new ActionError("hbm.session.query"));

saveErrors(request, errors);

return mapping.findForward("failure");

}

return mapping.findForward("success");

}

logon.jsp与struts-config.xml配置修改见下载文件

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值