实训Netctoss.docx
- 文档编号:8022391
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:21
- 大小:1.86MB
实训Netctoss.docx
《实训Netctoss.docx》由会员分享,可在线阅读,更多相关《实训Netctoss.docx(21页珍藏版)》请在冰豆网上搜索。
实训Netctoss
Tarena
[键入文档标题]
[键入文档副标题]
实训成绩
批阅教师
日期
实训报告
课程名称SSH三大框架项目实训
专业班级
学号
学生姓名
指导教师
实训地点
2013年12月27日
实训成绩
批阅教师
日期
实训报告
课程名称Java设计模式实训
专业班级
学号
学生姓名
指导教师
实训地点
2013年10月25日
实训成绩
批阅教师
日期
实训报告
课程名称认证实训
专业班级
学号
学生姓名
指导教师
实训地点
2014年1月10日
实训成绩
批阅教师
日期
实训报告
课程名称JavaEE项目实训
专业班级
学号
学生姓名
指导教师
实训地点
2013年11月24日
《NetCTOSS电信计费系统》需求说明书
1.引言
1.1.编写目的
本文档的目的是分析NetCTOSS项目的系统需求,确定业务范围和核心功能,定义项目的专业名词,为后续的系统设计人员、开发人员和测试人员提供功能需求和非功能需求的详细定义,为测试人员提供测试用例设计的功能参考。
2.“资费管理“模块
2.1.用例图
NetCTOSS系统中”资费管理”模块的用例图如图-7所示。
2.2资费浏览
2.3资费排序
2.4启用资费
2.5删除资费
2.6资费详细
2.7增加资费
3“帐务账号管理“模块
3.1用例图
NetCTOSS系统中”帐务账号管理”模块的用例图如图所示。
3.2帐务账号浏览
3.3查询帐务账号
3.4暂停帐务账号
4“业务账号管理“模块
4.1用例图
NetCTOSS系统中”业务账号管理”模块的用例图如图所示。
4.2业务账号浏览
4.3查询业务账号
4.4暂停业务账号
4.5开通业务账号
4.6删除业务账号
5主要功能代码
/**
*可以继承ActionSupport,这个类是Struts2默认调用
*的Action类,它里面提供了一些常用的常量等。
*/
publicclassCreateValidateCodeAction
extendsBaseAction{
//output
privateInputStreamimageStream;
publicStringexecute(){
//1.调用工具类,生成验证码及图片
Map
ImageUtil.createImage();
//2.从imageMap中取到验证码,并放入session
StringimageCode=
imageMap.keySet().iterator().next();
session.put("imageCimageCode);//3.从imageMap中取到图片,转为输入流BufferedImageimageMap.get(imageCode);
try{
imageStream=
ImageUtil.getInputStream(image);
}catch(IOExceptione){
e.printStackTrace();
return"error";
}
return"success";
}
publicInputStreamgetImageStream(){
returnimageStream;
}
publicvoidsetImageStream(InputStreamimageStream){
this.imageStream=imageStream;
packagecom.tarena.dao.account;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.util.ArrayList;
importjava.util.List;
importcom.tarena.dao.DAOException;
importcom.tarena.entity.Account;
importcom.tarena.util.DBUtil;
publicclassAccountDAOImplimplementsIAccountDAO{
publicstaticvoidmain(String[]args)
throwsException{
IAccountDAOdao=newAccountDAOImpl();
Accountacc=
dao.findByIdcardNo("610121198906041115");
System.out.println(
acc.getId()+""+
acc.getRealName()
);
}
publicList
StringidcardNo,
StringrealName,
StringloginName,
Stringstatus,
intpage,intpageSize)
throwsDAOException{
//封装查询条件的值List
newArrayList
//动态拼SQL,主要是处理其条件
StringBuffersb=buildFindSQL(
idcardNo,realName,
loginName,status,
page,pageSize,params);List
newArrayList
Connectioncon=DBUtil.getConnection();
try{
PreparedStatementps=con.prepareStatement(sb.toString());
for(inti=0;i ps.setObject(i+1,params.get(i)); } ResultSetrs=ps.executeQuery(); while(rs.next()){ Accountacc=createAccount(rs);accs.add(acc); } }catch(SQLExceptione){ e.printStackTrace();thrownewDAOException( "查询账务账号失败! ",e); }finally{ DBUtil.closeConnection(); } returnaccs; } privateStringBufferbuildFindSQL( StringidcardNo, StringrealName, StringloginName, Stringstatus, intpage,intpageSize,List StringBuffersb=nStringBuffer(); sb.append("select*from("); sb.append("selecta.*,rownumrfromaccountawhere1=1"); if(idcardNo! =null&&idcardNo.length()>0){ sb.append("andidcard_no=? "); params.add(idcardNo); } if(realName! =null &&realName.length()>0){ sb.append("andreal_name=? "); params.add(realName); }if(loginName! =null &&loginName.length()>0){sb.append("andlogin_name=? ");params.add(loginName); } if(status! =null&&! status.equals("-1")){ //下拉选当不为空或者不是全部选项时,我们才拼条件 sb.append("andstatus=? "); params.add(status); } sb.append("andrownum "); intnextMin=page*pageSize+1;params.add(nextMin);sb.append(")wherer>? "); intlastMax=(page-1)*pageSize; params.add(lastMax); System.out.println(sb.toString());returnsb;} privateAccountcreateAccount(ResultSetrs) throwsSQLException{ Accounta=newAccount(); a.setId(rs.getInt("ID")); /* *查询时,有默认为0的情况。 *若将0带到修改页面再保存,*会传递给修改方法一个推荐人ID为0的值,*由于该字段存在外键约束,找不到为0的那个*外键值,导致报错,因此这里做这样的判断。 **/ a.setRecommenderId(rs.getObject("RECOMMENDER_ID")==null? null: rs.getInt("RECOMMENDER_ID")); a.setLoginName(rs.getString("LOGIN_NAME")); a.setLoginPassword(rs.getString("LOGIN_PASSWD"));a.setStatus(rs.getString("STATUS"));a.setCreateDate(rs.getDate("CREATE_DATE"));a.setPauseDate(rs.getDate("PAUSE_DATE")); a.setCloseDate(rs.getDate("CLOSE_DATE")); DER"));("LAST_LOGIN_IP")); returna; } publicintfindTotalPage( StringidcardNo, StringrealName, StringloginName, Stringstatus, intpageSize) throwsDAOException{ List newArrayList //拼查询总行数的SQLStringBuffersb=newStringBuffer();sb.append("selectcount(*)fromaccountwhere1=1"); if(idcardNo! =null&&idcardNo.length()>0){ sb.append("andidcard_no=? ");params.add(idcardNo); }if(realName! =null &&realName.length()>0){ sb.append("andreal_nam? "); params.add(realName);}if(loginName! =null&&loginName.length()>0){ sb.append("andlogin_name=? ")params.add(loginName); }if(status! =null &&! status.equals("-1")){ sb.append("andstatus=? ");params.add(status);} ConnectionDBUtil.getConnection(); try{ PreparedStatementps= con.prepareStatement(sb.toString());for(inti=0;i ResultSetrs=ps.executeQuery(); if(rs.next()){ introws=rs.getInt (1); if(rows%pageSize==0){returnrows/pageSize;}else{ returnrows/pageSize+1;}} }catch(SQLExceptione){ e.printStackTrace(); thrownewDAOException( "查询总页数失败! ",e); }finally{ DBUtil.closeConnection(); }return0; } publicvoidstartAccount(intid)throwsDAOException{Stringsql="updateaccountsetstatus='0',"+ "pause_date=nullwhereid=? ";ConnectionconDBUtil.getConnection(); try{con.setAutoCommit(false); PreparedStatementps= con.prepareStatement(sql); ps.executeUpdate(); mit(); }catch(SQLExceptione){ e.printStackTrace(); try{ con.rollback(); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实训 Netctoss