国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java聯系人管理系統簡單設計

java聯系人管理系統簡單設計

2020-06-22 12:02xanlv JAVA教程

這篇文章主要為大家詳細介紹了java聯系人管理系統簡單設計,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java聯系人管理系統畢業設計,供大家參考,具體內容如下

要求: 

      請使用XML保存數據,完成一個聯系人管理系統。
      用戶必須經過認證登錄后方可以使用系統。
      注冊、增加、刪除、查看聯系人功能。 
      分模塊進行設計。 

            兩層框架-用戶交互層,Dao層。
            其他支持層-數據封裝層。
            工具類-加密,工廠Bean。

開發步驟:

第一步:設計數據結構-XML。
第一步:設計數據結構-XML。
第三步:準備資源并編碼實現。
第四步:運行測試。

java聯系人管理系統簡單設計

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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("-", "");
 }
}

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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);
}

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
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;
 }
 
}
?
1
2
3
4
5
6
7
8
9
10
package cn.hncu.contact.dao;
 
public class contactDAOFactory {
 private contactDAOFactory(){
 
 }
 public static contactDAO getContactDAO(){
 return new contactImpl();
 }
}

cmd

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
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();
 
 }
 
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品美女久久久网av | 都市激情av | 欧美日韩在线一区 | 国产精品美女www爽爽爽软件 | 91精品久久久久久久久久 | 91无吗 | 美女久久 | 日韩一区二区三区视频 | 日韩视频一区二区 | 成人精品一区二区三区中文字幕 | 欧美亚洲视频在线观看 | 成人免费毛片aaaaaa片 | 欧美日韩一 | 亚洲特黄av| 三级视频在线 | 国产激情一区二区三区成人免费 | 亚洲综合一区二区 | 四虎影院在线免费播放 | 国产精品第一国产精品 | 亚洲综合色视频在线观看 | 国产精品99久久久久久动医院 | 深夜视频在线 | www,99热 | 国产美女一区 | www久草| 伊人一区二区三区 | 色先锋影院 | 亚洲欧美在线视频 | 欧美一级一 | 国产欧美自拍 | 国产高清美女一级a毛片久久 | 亚洲欧美日韩精品久久亚洲区 | 国产欧美精品一区二区三区四区 | 日韩欧美一区二区三区 | 精品视频一区二区三区 | 成人h动漫精品一区二区樱花 | 精品免费视频 | 中文字幕在线观看第一页 | 国产一区二区精品在线观看 | 亚洲精品久久久一区二区三区 | 福利久久 |