程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java接洽人治理體系簡略設計

java接洽人治理體系簡略設計

編輯:關於JAVA

java接洽人治理體系簡略設計。本站提示廣大學習愛好者:(java接洽人治理體系簡略設計)文章只能為提供參考,不一定能成為您想要的結果。以下是java接洽人治理體系簡略設計正文


本文實例為年夜家分享了java接洽人治理體系卒業設計,供年夜家參考,詳細內容以下

請求: 

      請應用XML保留數據,完成一個接洽人治理體系。
      用戶必需經由認證登錄前方可使用體系。
      注冊、增長、刪除、檢查接洽人功效。 
      分模塊停止設計。 

            兩層框架-用戶交互層,Dao層。
            其他支撐層-數據封裝層。
            對象類-加密,工場Bean。

開辟步調:

第一步:設計數據構造-XML。
第一步:設計數據構造-XML。
第三步:預備資本並編碼完成。
第四步:運轉測試。

<?xml version="1.0" encoding="UTF-8" standalone="no"?><contacts>
 <user name="Jack" pwd="1234">
 <contact id="707dede609dd4a2990f7cfa4cd5233f9">
  <name>xiaoming</name>
  <sex>male</sex>
  <tel>123456</tel></contact>
 <contact id="80983802eaa6402d8bac8bb39e71c48f">
  <name>12</name>
  <sex>12</sex>
  <tel>12</tel>
 </contact></user>
 <user name="Rose" pwd="4321">
 <contact id="eedb795b97194c3aaa9bacda7e2948e9">
  <name>xiaoming</name>
  <sex>female</sex>
  <tel>123</tel>
 </contact></user>
</contacts>

util

package cn.hncu.contact.util;

import java.util.UUID;

public class IDGenerate {
 private IDGenerate(){

 }
 public static String getID(){
// return UUID.randomUUID().toString();
 return UUID.randomUUID().toString().replace("-", "");
 }
}

package cn.hncu.contact.util;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;

public class myDocumentFactory {
 private static final String FILE_NAME="./xml/users.xml";
 private static Document dom=null;
 static{
 DocumentBuilder db;
 try {
  db=DocumentBuilderFactory.newInstance().newDocumentBuilder();
  dom=db.parse(FILE_NAME);
 } catch (Exception e) {
  throw new RuntimeException("xml文檔解析掉敗...",e);
 }
 }
 public static Document getDocument(){
 return dom;
 }
 public static void save(){
 try {
  Transformer tf=TransformerFactory.newInstance().newTransformer();
  tf.transform(new DOMSource(dom), new StreamResult(FILE_NAME));
 } catch (Exception e) {
  throw new RuntimeException("xml文檔存儲掉敗...", e);
 } 
// ConfigurationError:設置裝備擺設異常
 }
}

dao

package cn.hncu.contact.dao;

import java.util.List;
import java.util.Map;

import org.w3c.dom.Element;


public interface contactDAO {
 public abstract boolean login(String name,String pwd);
 public abstract List<Map<String, String>> queryAll();
 public abstract Element add(String name,String sex,String tel);
 public abstract void reg(String name,String pwd);
 public Element delete(String id);//默許abstract
 public abstract Element change(String id, String name, String sex,
  String tel);
}

package cn.hncu.contact.dao;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

import cn.hncu.contact.util.IDGenerate;
import cn.hncu.contact.util.myDocumentFactory;

public class contactImpl implements contactDAO{

 private Element currentUser;
 Document dom=null;
 public contactImpl(){

 }
// private static String name=null;
// private static String pwd=null;
 @Override
// public boolean login(String name2, String pwd2) {
 public boolean login(String name, String pwd) {
// name=name2;
// pwd=pwd2;
 dom=myDocumentFactory.getDocument();
 Element root=(Element) dom.getFirstChild();
 NodeList nodelist=root.getElementsByTagName("user");
 for(int i=0;i<nodelist.getLength();i++){
  Element e=(Element) nodelist.item(i);
  if(e.getAttribute("name").equalsIgnoreCase(name)&&e.getAttribute("pwd").equalsIgnoreCase(pwd)){
  currentUser=e;
  return true;
  }
 }
 return false;
 }
 @Override
 public List<Map<String, String>> queryAll() {
 List<Map<String, String>> list=new ArrayList<Map<String,String>>();
 if(currentUser==null){
  return list ;
 }
 NodeList nodeList=currentUser.getElementsByTagName("contact");
 for(int i=0;i<nodeList.getLength();i++){
  Map<String, String> map= new HashMap<String, String>();
  Element e=(Element) nodeList.item(i);
  String id=e.getAttribute("id");
  map.put("id", id);
  String name=e.getElementsByTagName("name").item(0).getTextContent();
  map.put("name", name);
  String sex=e.getElementsByTagName("sex").item(0).getTextContent();
  map.put("sex", sex);
  String tel=e.getElementsByTagName("tel").item(0).getTextContent();
  map.put("tel", tel);
  list.add(map);
 }
 return list;
 }

 @Override
 public Element add(String name,String sex,String tel) {
 Document dom=myDocumentFactory.getDocument();
 Element eNewContact=dom.createElement("contact");
 eNewContact.setAttribute("id", IDGenerate.getID());
 Element nameNew=dom.createElement("name");
 nameNew.setTextContent(name);
 eNewContact.appendChild(nameNew);
 Element sexNew=dom.createElement("sex");
 sexNew.setTextContent(sex);
 eNewContact.appendChild(sexNew);
 Element telNew=dom.createElement("tel");
 telNew.setTextContent(tel);
 eNewContact.appendChild(telNew);
 currentUser.appendChild(eNewContact);
 myDocumentFactory.save();
// login(name, pwd);
 return eNewContact;
 }
 public Element delete(String id) {
 NodeList nodeList=currentUser.getElementsByTagName("contact");
 for(int i=0;i<nodeList.getLength();i++){
  Element e=(Element) nodeList.item(i);
  if(e.getAttribute("id").equals(id)){
  currentUser.removeChild(e);//把節點從樹中移除
  myDocumentFactory.save();
//  login(name, pwd);
  return e;
  }
 }
 return null;
 }
 @Override
 public void reg(String name, String pwd) {
 Document dom=myDocumentFactory.getDocument();
 Element userNew=dom.createElement("user");
 userNew.setAttribute("name", name);
 userNew.setAttribute("pwd", pwd);
 dom.getFirstChild().appendChild(userNew);
 myDocumentFactory.save();
 }
 @Override
 public Element change(String id, String name, String sex, String tel) {
 NodeList nodeList=currentUser.getElementsByTagName("contact");
 for(int i=0;i<nodeList.getLength();i++){
  Element e=(Element) nodeList.item(i);
  if(e.getAttribute("id").equals(id)){
  e.getElementsByTagName("name").item(0).setTextContent(name);
  e.getElementsByTagName("sex").item(0).setTextContent(sex);
  e.getElementsByTagName("tel").item(0).setTextContent(tel);
  myDocumentFactory.save();
//  login(name, pwd);
  return e;
  }
 }
 return null;
 }

}

package cn.hncu.contact.dao;

public class contactDAOFactory {
 private contactDAOFactory(){

 }
 public static contactDAO getContactDAO(){
 return new contactImpl();
 }
}

cmd

package cn.hncu.contact.cmd;

import java.util.List;
import java.util.Map;
import java.util.Scanner;

import org.w3c.dom.Element;

import cn.hncu.contact.dao.contactDAO;
import cn.hncu.contact.dao.contactDAOFactory;

public class contanctAction {
 private contactDAO dao=contactDAOFactory.getContactDAO();
 private Scanner sc=null;
 private String delIds[];
 public contanctAction(){
 sc=new Scanner(System.in);
 while (true) {
  System.out.println("1:登錄");
  System.out.println("2:注冊");
  System.out.println("0:加入");
  String op=sc.nextLine();
  if ("1".equals(op)) {
  Login();
  } else if ("2".equals(op)) {
  Reg();
  } else {
//  System.exit(0);
  break;
  }
 }
 }
 private void Reg() {
 System.out.println("請輸出用戶名:");
 String name=sc.nextLine();
 System.out.println("請輸出用戶暗碼:");
 String pwd=sc.nextLine();
 System.out.println("請確認用戶暗碼:");
 String pwd2=sc.nextLine();
 if(pwd.equals(pwd2)){
  dao.reg(name,pwd);
 }else{
  System.out.println("兩次暗碼輸出紛歧致,請從新注冊");
 }

 }
 private void Login() {
 System.out.println("請輸出用戶名:");
 String name=sc.nextLine();
 System.out.println("請輸出用戶暗碼:");
 String pwd=sc.nextLine();
 boolean boo=dao.login(name, pwd);
 if(boo){
  System.out.println("登錄勝利...");
  operation();
 }else{
  System.out.println("denglushibai");
 }
 }
 private void operation() {
 List<Map<String, String>> list = dao.queryAll();
 delIds=new String[list.size()];
 int i=0;
 for (Map<String, String> map : list) {
  String id=map.get("id");
  delIds[i++]=id;
 }
// while (true) {
  //由於共用統一棵dom樹,所以每次增刪改查以後,照樣本來那棵dom樹.
  //而while內的操作都是對之前的操作,所以要加入到上一階段從新上岸,獲得更新以後的dom樹
  System.out.println("1:顯示接洽人");
  System.out.println("2:添加接洽人");
  System.out.println("3:刪除接洽人");
  System.out.println("4:修正接洽人");
  System.out.println("0:加入");
  String sel = sc.nextLine();
  if ("1".equals(sel)) {
  System.out.println("序號\t姓名\t性別\t德律風");
  System.out.println("------------------------------");
  int j = 1;
  for (Map<String, String> map : list) {
   String name = map.get("name");
   String sex = map.get("sex");
   String tel = map.get("tel");
   System.out.println((j++) + "\t" + name + "\t" + sex + "\t"
    + tel);
  }
  } else if ("2".equals(sel)) {
  addContact();
  } else if ("3".equals(sel)) {
  delContact();
  } else if ("4".equals(sel)) {
  changeContact();
  } else if ("0".equals(sel)) {
  return;
//  break;
  }
// }
  operation();
 }
 private void changeContact() {
 System.out.println("請輸出要修正的接洽人的序號:");
 int num=sc.nextInt();
 sc.nextLine();//吸失落換行符1
 System.out.println("請輸出要修正的接洽人的姓名:");
 String name=sc.nextLine();
 System.out.println("請輸出要修正的接洽人的姓別:");
 String sex=sc.nextLine();
 System.out.println("請輸出要修正的接洽人的德律風:");
 String tel=sc.nextLine();

 Element e=dao.change(delIds[num-1],name,sex,tel);
 if(e!=null){
  System.out.println(num+"號接洽人更新以後:姓名:"+e.getElementsByTagName("name").item(0).getTextContent()
   +"性別:"+e.getElementsByTagName("sex").item(0).getTextContent()
   +"德律風號碼:"+e.getElementsByTagName("tel").item(0).getTextContent());
 }else{
  System.out.println("修正掉敗...");
 }

 }
 private void delContact() {
 System.out.println("請輸出刪除的接洽人序號:");
 int num=sc.nextInt();
 sc.nextLine();//吸失落換行符
 Element e=dao.delete(delIds[num-1]);
 if(e==null){
  System.out.println("刪除掉敗,無此接洽人");
 }else{
  System.out.println("刪除接洽人:"+e.getElementsByTagName("name").item(0).getTextContent()+"勝利...");
 }

 }
 private void addContact() {
 System.out.println("請輸出接洽人信息:");
 System.out.println("姓名:");
 String name=sc.nextLine();
 System.out.println("姓別:");
 String sex=sc.nextLine();
 System.out.println("德律風:");
 String tel=sc.nextLine();
 Element e=dao.add( name,sex, tel);
 System.out.println("添加接洽人"+e.getElementsByTagName("name").item(0).getTextContent()+"勝利...");

 }
 public static void main(String[] args) {
 new contanctAction();

 }

}

以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved