基于Struts+Spring+JDBC架构的课程设计实训教学示例项目——《网上银行账户管理系统》——分离Servlet类中的数据验证逻辑与业务调度逻辑.doc
《基于Struts+Spring+JDBC架构的课程设计实训教学示例项目——《网上银行账户管理系统》——分离Servlet类中的数据验证逻辑与业务调度逻辑.doc》由会员分享,可在线阅读,更多相关《基于Struts+Spring+JDBC架构的课程设计实训教学示例项目——《网上银行账户管理系统》——分离Servlet类中的数据验证逻辑与业务调度逻辑.doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于Struts+Spring+JDBC架构的课程设计实训教学示例项目网上银行账户管理系统分离Servlet类中的数据验证逻辑与业务调度逻辑1.1.1 分离前台用户信息/帐户信息管理的Servlet类中的数据验证逻辑与业务调度逻辑1、添加一个针对所有的Servlet类中的方法验证的过滤器组件基类(1)类名称为CheckAllWebFormBaseFilter、包名称为、实现接口(2)编程该CheckAllWebFormBaseFilter类以提供共性的功能实现package com.px1987.webbank.filter;import java.io.IOException;import
2、javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.RequestDispatcher;letException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet. . ServletRequest;import javax.servlet. . Session;import com.px198
3、7.webbank.config.TargetPageNameConfig;/该Filter组件是为J2EE Web 提供的基类Filterpublic class CheckAllWebFormBaseFilter implements Filter protected String checkAllWebFormBaseFilter_errorInfoTargetPage=null;RequestDispatcher oneRequestDispatcher=null; Session session=null;String verifyCodeInSession=null;public
4、CheckAllWebFormBaseFilter() public void destroy() public void doFilter(ServletRequest request, ServletResponse response,FilterChain filterChain) throws IOException, ServletException request.setCharacterEncoding(GBK);session=( ServletRequest)request).getSession();verifyCodeInSession=(String)session.g
5、etAttribute(verifyCode);return;public void init(FilterConfig arg0) throws ServletException checkAllWebFormBaseFilter_errorInfoTargetPage=rty(allWebFormBaseFilter_errorInfoTargetPage);(3)在文件中定义一个属性项目2、添加一个针对UserInfoManageServlet类中的各个方法验证的过滤器(/ userInfoManageAction.action)(1)类名称为FormRequestTransferCod
6、ing、包名称为、继承前面的CheckAllWebFormBaseFilter类(2)编程该FormRequestTransferCoding类 package com.px1987.webbank.filter;import java.io.IOException;import java.util.Date;lterChain;import javax.servlet.FilterConfig;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.Se
7、rvletRequest;import javax.servlet.ServletResponse;import org.apache mons.validator.GenericValidator;import com.px1987.webbank.config.TargetPageNameConfig;import com.px1987.webbank.exception.WebBankException;import com.px1987.webbank.model.vo.AccountInfoVO;import com.px1987.webbank.util.MD5JavaBean;p
8、ublic class FormRequestTransferCoding extends CheckAllWebFormBaseFilter public FormRequestTransferCoding() super();public void destroy() public void doFilter(ServletRequest request, ServletResponse response,FilterChain filterChain) throws IOException, ServletException super.doFilter(request, respons
9、e, filterChain);boolean checkResult=true;String action=request.getParameter(action);/*下面是获得请求的类型并相应地跳转到目标处理方法中*if(action.equals(doUserLogin)checkResult=checkDoUserLoginForm(request);else if(action.equals(doGetPassWord)checkResult=checkDoGetPassWordForm(request);else if(action.equals(doGetUserPassWor
10、dAndUpdate)checkResult=checkDoGetUserPassWordAndUpdateForm(request);else if(action.equals(doUpdateUserPassWord)checkResult=checkDoUpdateUserPassWordForm(request);else if(action.equals(doAddNewAccountInfo)checkResult=checkDoAddNewAccountInfoForm(request);if(action.equals(doGetOutMoney)checkResult=che
11、ckDoGetOutMoneyForm(request);if(action.equals(doTransmitAccount)checkResult=checkDoTransmitAccountForm(request);if(!checkResult)oneRequestDispatcher=request.getRequestDispatcher(checkAllWebFormBaseFilter_errorInfoTargetPage);oneRequestDispatcher.forward(request, response);return;filterChain.doFilter
12、(request, response);public void init(FilterConfig arg0) throws ServletException super.init(arg0);public boolean checkDoAddNewAccountInfoForm(ServletRequest request)/*下面为检查验证码是否正确 *String verifyCodeDigitInputed=request.getParameter(verifyCodeDigit);if(GenericValidator.isBlankOrNull(verifyCodeDigitInp
13、uted)request.setAttribute(errorText, 验证码不能为空!请输入本网站所提供的6位验证码!);return false;if(!verifyCodeDigitInputed.equals(verifyCodeInSession)request.setAttribute(errorText,您的验证码不正确,请输入本网站所提供的6位验证码!);return false;String balance=request.getParameter(balance);if(!GenericValidator.isFloat(balance)request.setAttrib
14、ute(errorText, 存款金额必须为数字!请重新输入您的存款金额!);return false;String accountInfo_ActionType=request.getParameter(accountInfo_ActionType);switch(Integer.parseInt(accountInfo_ActionType)case 1:/开设帐户String idCard=request.getParameter(idCard);if(Float.parseFloat(balance)1.0f)request.setAttribute(errorText, 开户存款金额
15、必须大于1元人民币!请重新输入您的开户存款金额!);return false;if(GenericValidator.isBlankOrNull(idCard)request.setAttribute(errorText, 您的身份证号输入不能为空!请输入您的有效身份证号!);return false;if(idCard.length()!=18)request.setAttribute(errorText, 有效身份证号应该是18位数字!请输入您的有效身份证号!);return false;break;case 2:/追加存款String accountID=request.getParam
16、eter(accountID);if(GenericValidator.isBlankOrNull(accountID) /对于选择框,有缺少的选择项目request.setAttribute(errorText, 请选择您的存款帐号!);return false;break;return true;public boolean checkDoGetOutMoneyForm(ServletRequest request)/*下面为检查验证码是否正确 *String verifyCodeDigitInputed=request.getParameter(verifyCodeDigit);if(G
17、enericValidator.isBlankOrNull(verifyCodeDigitInputed)request.setAttribute(errorText, 验证码不能为空!请输入本网站所提供的6位验证码!);return false;if(!verifyCodeDigitInputed.equals(verifyCodeInSession)request.setAttribute(errorText,您的验证码不正确,请输入本网站所提供的6位验证码!);return false;String idCard=request.getParameter(idCard);if(Gener
18、icValidator.isBlankOrNull(idCard)request.setAttribute(errorText, 您的身份证号输入不能为空!请输入您的有效身份证号!);return false;if(idCard.length()!=18)request.setAttribute(errorText, 有效身份证号应该是18位数字!请输入您的有效身份证号!);return false;String accountInfo_ActionType=rameter(accountInfo_ActionType);switch(Integer.parseInt(accountInfo_
19、ActionType)case 1:/取出款额String balance=request.getParameter(balance);if(!GenericValidator.isFloat(balance)request.setAttribute(errorText, 取款金额必须为数字!请重新输入您的取款金额!);return false;break;case 2:/销毁帐户String userPassWord=request.getParameter(userPassWord);if(GenericValidator.isBlankOrNull(userPassWord)reques
20、t.setAttribute(errorText, 您的帐户密码不能为空!请输入您的有效帐户密码!);return false;break;return true;public boolean checkDoTransmitAccountForm(ServletRequest request)/*下面为检查验证码是否正确 *String verifyCodeDigitInputed=request.getParameter(verifyCodeDigit);if(GenericValidator.isBlankOrNull(verifyCodeDigitInputed)request.setA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上银行账户管理系统 基于 Struts Spring JDBC 架构 课程设计 教学 示例 项目 网上银行 账户 管理 系统 分离 Servlet 中的 数据 验证 逻辑 业务 调度
链接地址:https://www.taowenge.com/p-61748764.html
限制150内