Struts 基金交易平台项目总结(一)

来源:互联网 发布:大明科技世界第一 知乎 编辑:程序博客网 时间:2024/04/29 21:06

项目过程:

07/09/13

这次项目是一个基金交易系统.使用Struts技术来实现所有功能...

首先我对各层进行了细致的分析, 将各个类归属到具体的包下.

今天发现,做页面是件挺郁闷的事情,Html的样式拿到Eclipse里面总会变化些,最后还是被我调整好了.

1.首先我做了基金操作员模块,功能包括注册,登陆,和对输入的验证.

由salesBean作为操作员实体,用于存储操作员信息。salesManager类:基金操作员业务层,实现了对基金操

做员的业务的封装,如,在注册时检测用户名是否存在,登陆检测等....具体类如下:

 基金柜台操作员实体:

package com.weiyan.SALES;

public class salesBean {
    
//基金柜台操作人员实体
    private int sales_no; // 操作人员编号

    
private String username;// 操作人员登陆名

    
private String password;// 密码

    
private String realname;// 真实姓名

    
private String sex;// 性别

    
private String create_date;// 创建时间

    
public String getCreate_date() {
        
return create_date;
    }


    
public void setCreate_date(String create_date) {
        
this.create_date = create_date;
    }


    
public String getPassword() {
        
return password;
    }


    
public void setPassword(String password) {
        
this.password = password;
    }


    
public String getRealname() {
        
return realname;
    }


    
public void setRealname(String realname) {
        
this.realname = realname;
    }


    
public int getSales_no() {
        
return sales_no;
    }


    
public void setSales_no(int sales_no) {
        
this.sales_no = sales_no;
    }


    
public String getSex() {
        
return sex;
    }


    
public void setSex(String sex) {
        
this.sex = sex;
    }


    
public String getUsername() {
        
return username;
    }


    
public void setUsername(String username) {
        
this.username = username;
    }


}

 

 操作基金柜台操作员实体的对应业务层

package com.weiyan.SALES;

import java.sql.ResultSet;
import java.sql.SQLException;

import com.weiyan.db.DBAccessManager;

public class salesManager {
    
private DBAccessManager db = null;

    
public salesManager() {
        db 
= new DBAccessManager();// 构造方法初始化数据操作层
    }


    
/**
     * 登陆检测
     * 
     * 
@param bean
     * 
@return
     
*/

    
public boolean CheckUser(salesBean bean) {
        
boolean check = true;
        String username 
= bean.getUsername();
        String password 
= bean.getPassword();
        String sql 
= "select * from SALES where USERNAME='" + username
                
+ "' and PASSWORD='" + password + "'  ";
        ResultSet rs 
= db.Select(sql);
        
try {
            
if (rs.next()) {
                check 
= true;
            }
 else {
                check 
= false;
            }

        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

        
return check;

    }


    
/**
     * 检测用户名是否存在 没有返回真可以注册
     * 
     * 
@param bean
     * 
@return
     
*/

    
public boolean CheckuserName(salesBean bean) {
        
boolean check = true;
        String username 
= bean.getUsername();// 获得UserName
        String sql = "select * from SALES where USERNAME='" + username + "'";
        ResultSet rs 
= db.Select(sql);
        
try {
            
if (rs.next()) {
                check 
= false;
                ;
            }
 else {
                check 
= true;
            }

        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

        
return check;
    }


    
/**
     * 注册基金柜台操作人员注册成功返回真..
     * 
     * 
@param bean
     * 
@return
     
*/

    
public boolean AddSales(salesBean bean) {
        
boolean check = true;// 控制流判断
        String username = bean.getUsername();
        String password 
= bean.getPassword();
        String realname 
= bean.getRealname();
        String sex 
= bean.getSex();
        String sql 
= "insert into SALES (USERNAME,PASSWORD,REALNAME,SEX) values('"
                
+ username
                
+ "','"
                
+ password
                
+ "','"
                
+ realname
                
+ "','"
                
+ sex
                
+ "')";
        
if (this.CheckuserName(bean)) // 调用本类自己的方法检测用户名是否已存在
        {
            
if (db.Insert(sql) > 0)// 注册
            {
                check 
= true// 如果更新大于0YES
            }
 else {
                check 
= false;// 不大于0失败
            }


        }
 else {
            check 
= false;// 有此用户直接失败
        }

        
return check;

    }


}

 

2:基金操作模块

     基金操作由基金实体类,和基金业务层两个类为对基金的核心封装. 基金实体类代表了一项基金,业务层提供

对基金的操作的封装。

 

package com.weiyan.FUND;

import java.sql.ResultSet;
import java.sql.SQLException;

import com.weiyan.db.DBAccessManager;

//基金操作业务层
public class fundManager {
    
private DBAccessManager db = null;

    
public fundManager() {
        db 
= new DBAccessManager();
    }


    
/**
     * 此方法检测基金名称是否存在,参数基金实体真为可以添加
     * 
     * 
@param bean
     * 
@return
     
*/

    
public boolean CheckFundName(fundBean bean) {
        
boolean check = true;
        String fundName 
= bean.getFund_name();// 获得基金名称
        String sql = "select * from FUND where FUND_NAME='" + fundName + "'";
        ResultSet rs 
= db.Select(sql);// 查询
        try {
            
if (rs.next()) {
                check 
= false;
            }
 else {
                check 
= true;
            }

        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

        
return check;

    }


    
/**
     * 添加基金,参数为基金实体,添加成功true 如果名称重复,或数据更新行为0,返回false,
     * 
     * 
@param bean
     * 
@return
     
*/

    
public boolean AddFund(fundBean bean) {
        
boolean check = true;
        String fundName 
= bean.getFund_name();// 获得基金名称
        float price = bean.getPrice();// 基金价格
        String Desc = bean.getDescrpition();// 基金描述
        String sql = "insert into FUND (FUND_NAME,PRICE,DESCRIPTION) values('"
                
+ fundName + "'," + price + ",'" + Desc + "')";
        
if (this.CheckFundName(bean)) // 调用内部方法检测基金是否重复
        {
            
if (db.Insert(sql) > 0// 如果更新数量多于1
            {
                check 
= true;
            }
 else {
                check 
= false;
            }

        }
 else {
            
// 如果基金名称重复直接返回假
            check = false;
        }

        
return check;

    }


    
/**
     * 查询基金返回一个基金实体
     * 
     * 
@param bean
     * 
@return
     
*/

    
public fundBean GetFund(fundBean bean) {

        String fund_name 
= bean.getFund_name();// 获得基金名称.
        int fund_no = bean.getFund_no();// 获得基金编号
        String sql = "select * from fund where fund_no=" + fund_no
                
+ " and fund_name='" + fund_name + ""// 查询基金语句
        ResultSet rs = db.Select(sql);
        fundBean fundbean 
= new fundBean();// 构建一个基金实体
        try {
            
if (rs.next())// 如果有此基金设置基金属性
            {    
                fundbean.setFund_no(rs.getInt(
"fund_no"));
                fundbean.setFund_name(rs.getString(
"fund_name"));
                fundbean.setPrice(rs.getFloat(
"price"));
                fundbean.setDescrpition(rs.getString(
"DESCRIPTION"));
            }
 else {// 无此基金返回Null
                fundbean = null;
            }

        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

        
return fundbean;

    }


    
/**
     * 修改基金参数,参数为基金实体
     * 
     * 
@return
     
*/

    
public int UpdateFund(fundBean bean) {
        
int fund_no=bean.getFund_no();//获得编号
        String fund_name = bean.getFund_name();// 获得名称
        float price = bean.getPrice(); // 获得价格
        String desc = bean.getDescrpition();// 获得描述
        String status = bean.getStatus();// 获得状态
        String sql = "update fund set fund_name='" + fund_name + "',price="
                
+ price + ",description='" + desc + "',status='" + status
                
+ "' where fund_no="+fund_no+"";
        
return db.Update(sql);

    }


}

寄语:今天在计算机前做这编写这个程序10几个小时,收获了很多,马上就快毕业面试了,我相信我的努力能

带给我不一样的机遇。

07/09/15

今天主要完成了客户的模块的部分功能,包括注册客户,查询客户,修改客户,及显示客户详细信息的功能.

1.首先建立客户实体类ClientBean。存储客户信息...在各层之间传递数据..

2. 创建客户业务层,实现对客户的操作。具体代码如下:

 

package com.weiyan.Child;

import java.sql.*;

import com.weiyan.db.DBAccessManager;

public class chientManager {
    
// 客户业务操作层
    private DBAccessManager db = null;

    
public chientManager() {
        db 
= new DBAccessManager();// 创建数据操作层
    }


    
/**
     * 检查身份证是否重复 返回true为可以添加
     * 
     * 
@param bean
     * 
@return
     
*/

    
private boolean Check_id(clientBean bean) {
        String id 
= bean.getId_card_no();// 获得身份证
        boolean check = true;
        String sql 
= "select * from CLIENT where ID_CARD_NO='" + id + "'";
        ResultSet rs 
= db.Select(sql);
        
try {
            
if (rs.next()) {
                check 
= false;
            }
 else {
                check 
= true;
            }

        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

        
return check;

    }


    
/**
     * 添加客户,返回boolean类型,参数是一个客户实体
     * 
     * 
@param bean
     * 
@return
     
*/

    
public boolean AddClient(clientBean bean) {
        
boolean check = true;
        String client_name 
= bean.getClient_name();
        String id_card_no 
= bean.getId_card_no();
        String sex 
= bean.getSex();
        String phone 
= bean.getPhone();
        String address 
= bean.getAddress();
        String email 
= bean.getEmail();
        String hobby 
= bean.getHobby();
        
if (this.Check_id(bean)) {
            String sql 
= "insert into CLIENT (CLIENT_NAME,ID_CARD_NO,SEX,PHONE,ADDRESS,EMAIL,HOBBY) values('"
                    
+ client_name
                    
+ "','"
                    
+ id_card_no
                    
+ "','"
                    
+ sex
                    
+ "','"
                    
+ phone
                    
+ "','"
                    
+ address
                    
+ "','"
                    
+ email
                    
+ "','"
                    
+ hobby
                    
+ "')";
            
if (db.Insert(sql) > 0{
                check 
= true;// 如果影响行>0为添加成功返回真
            }
 else {
                check 
= false;
            }


        }
 else {
            check 
= false// 如果有此身份证不添加
        }

        
return check;
    }

    
/**
     * 查询客户信息,返回一个客户实体,参数为一个客户
     * 
@param bean
     * 
@return
     
*/

    
public clientBean Getclient(clientBean bean) {
        String client_name 
= bean.getClient_name();// 客户姓名
        String id_card_no = bean.getId_card_no();// 获得身份证
        String sql = "select * from CLIENT where CLIENT_NAME='" + client_name
                
+ "' and id_card_no='" + id_card_no + "'";
        ResultSet rs 
= db.Select(sql);
        clientBean chient 
= new clientBean();// 构建客户实体
        try {
            
if (rs.next()) // 如果有此客户
            {
                chient.setClient_no(rs.getInt(
"client_no"));
                System.out.println(
"------------------------------");
                chient.setClient_name(rs.getString(
"CLIENT_NAME"));//
                chient.setSex(rs.getString("SEX"));
                
//chient.setSex(rs.getString("id_card_no")); 完全不知道为什么这里会抛异常,这里十分郁闷...
                chient.setId_card_no(id_card_no);                
                chient.setPhone(rs.getString(
"phone"));
                chient.setAddress(rs.getString(
"ADDRESS"));
                chient.setEmail(rs.getString(
"EMAIL"));
                chient.setHobby(rs.getString(
"HOBBY"));
                
                
            }
 else {
                chient 
= null;
            }

        }
 catch (SQLException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

        
return chient;
    }

    
/**
     * 更新客户信息,更新后返回新的客户实体
     * 
@param bean
     * 
@return
     
*/

    
public clientBean UpdateUser(clientBean bean)
    
{
        
int client_no=bean.getClient_no();//获得id
        String client_name=bean.getClient_name();
        String id_card_no
=bean.getId_card_no();
        String sex
=bean.getSex();
        String phone
=bean.getPhone();
        String address
=bean.getAddress();
        String email
=bean.getEmail();
        String hobby
=bean.getHobby();
        String sql
="update client set client_name='"+client_name+"',id_card_no='"+id_card_no+"',sex='"+sex+"',phone='"+phone+"',address='"+address+"',email='"+email+"',hobby='"+hobby+"' where client_no='"+client_no+"'";
        
int i=db.Update(sql);
        
return this.Getclient(bean);//调用内部方法获得更新完的客户
    }


}

 

 

 

项目所用一些知识总结:

在struts中如何使单选按钮默认选中某项?    

<html:radio property="radioVal" value="radioVal.man" />
<html:radio property="radioVal" value="radioVal.woman"/>
解决方案1:简单选中
</html>的最后加上(就是说当页面执行完时)  
<script>  
    document.all(
"radioVal")[1].checked=true;//第二个radio选中  
  </script>   
</html>

JS动态时间:

<html>
<head>
<script type="text/javascript">
function show5()
{if(!document.layers&&!document.all)
return
var Digital=new Date()
var hours=Digital.getHours()
var minutes=Digital.getMinutes()
var seconds=Digital.getSeconds()
var dn="AM"
if(hours>12){dn="PM"
hours
=hours-12
}
if(hours==0)
hours
=12
if(minutes<=9)
minutes
="0"+minutes
if(seconds<=9)
seconds
="0"+seconds
//change font size here to your desire
myclock="<font  >"+hours+":"+minutes+":"+seconds+" "+dn+"</font>";
if(document.layers){
document.layers.liveclock.document.write(myclock)
document.layers.liveclock.document.close()
}
else if(document.all)
liveclock.innerHTML
=myclock
setTimeout(
"show5()",1000)
}


</script>
</head>
<body onLoad="show5()">
<span id="liveclock" style="font-family:'宋体'" style="font-size:9px"></span>
</body>
</html>

 

 

 

 

 

 

 

 

原创粉丝点击