軟件開發(fā)綜合實(shí)習(xí)報(bào)告_第1頁
軟件開發(fā)綜合實(shí)習(xí)報(bào)告_第2頁
軟件開發(fā)綜合實(shí)習(xí)報(bào)告_第3頁
軟件開發(fā)綜合實(shí)習(xí)報(bào)告_第4頁
軟件開發(fā)綜合實(shí)習(xí)報(bào)告_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、城建學(xué)院計(jì)算機(jī)科學(xué)與工程系軟件開發(fā)綜合實(shí)習(xí)報(bào)告設(shè)計(jì)名稱: 網(wǎng)頁通訊錄 專業(yè)班級(jí): 計(jì)算機(jī)12-1 姓 名: 楊正宇 周輝 廖傳棟 學(xué) 號(hào): 15號(hào)、21號(hào)、40號(hào) 吉林建筑大學(xué)城建學(xué)院計(jì)算機(jī)科學(xué)與工程系軟件開發(fā)綜合實(shí)習(xí)成績評(píng)定表時(shí)間2015年11月 30日 至 2015 年 12月 9日地點(diǎn)機(jī)房2指導(dǎo)教師沙勝賢 劉磊學(xué)號(hào)姓名任務(wù)成績設(shè)計(jì)表現(xiàn)(20%)階段成果設(shè)計(jì)報(bào)告(20%)答辯(20%)總成績第一階段(20%)第二階段(20%)指導(dǎo)教師評(píng)語: 指導(dǎo)教師簽字:年 月 日教研室主任審核簽字: 簽 字: 年 月 日 - 報(bào)告正文一、設(shè)計(jì)目的及要求(一)設(shè)計(jì)目的本設(shè)計(jì)是在學(xué)過所有專業(yè)課程之后開設(shè)的一

2、門實(shí)習(xí)教學(xué),主要目的是使學(xué)生進(jìn)一步鞏固和理解所學(xué)的專業(yè)基本理論知識(shí)和技術(shù),培養(yǎng)學(xué)生運(yùn)用所學(xué)的知識(shí)和技術(shù)能力,從而讓學(xué)生能夠掌握軟件應(yīng)用系統(tǒng)的整個(gè)開發(fā)過程及,培養(yǎng)學(xué)生的團(tuán)隊(duì)合作能力。(二)設(shè)計(jì)要求1.環(huán)境要求面向?qū)ο蟪绦蛟O(shè)計(jì)語言:Jave數(shù)據(jù)庫環(huán)境:MySql系統(tǒng)環(huán)境:Windows 7開發(fā)環(huán)境:MyEclipse JAVAEE5.0版本,基于Tomcat7.0版本運(yùn)行主要用到的技術(shù):springMVC框架、AJAX、JAVAScript、JQuery等2.軟件設(shè)計(jì)要求結(jié)合專業(yè)知識(shí),用高級(jí)語言和后臺(tái)統(tǒng)數(shù)據(jù)庫相結(jié)合中的設(shè)計(jì)至少達(dá)到能獨(dú)立運(yùn)行,實(shí)現(xiàn)基本功能。3.系統(tǒng)基本功能要求(1) 有交互性較好的

3、界面;(2) 使用高級(jí)語言完成對(duì)系統(tǒng)的操作;(3) 能夠調(diào)用后臺(tái)的數(shù)據(jù)庫;4.分組要求(1) 每組最多3人,任意搭配。(2) 每組提交一份設(shè)計(jì)報(bào)告,報(bào)告內(nèi)要明確寫出組內(nèi)各人的任務(wù)。(3) 組內(nèi)每名成員均需完成系統(tǒng)基本功能要求中的第2點(diǎn)與第3點(diǎn)要求以及設(shè)計(jì)總結(jié)。二、軟件系統(tǒng)設(shè)計(jì)1需求分析1.1編寫目的本系統(tǒng)主要是為了能更好的管理每個(gè)人的通訊錄,給每個(gè)人提供一個(gè)井然有序的管理平臺(tái),防止手工管理的的混亂,造成不必要的麻煩。1.2功能需求 一個(gè)完整的通訊錄管理系統(tǒng)包括:數(shù)據(jù)集模塊,登錄窗體模塊,系統(tǒng)管理模塊,通訊錄數(shù)據(jù)管理模塊,信息管理模塊,登錄信息查詢模塊。本信息主要實(shí)現(xiàn)我們的信息管理,包括我們平時(shí)

4、聯(lián)系人信息的添加,分組,查詢,修改和刪除,及一些輔助項(xiàng)目管理,如登錄系統(tǒng)用戶管理和用戶組管理。2 基本設(shè)計(jì)思想個(gè)人通訊錄系統(tǒng)的功能模塊有:(1)提供登陸界面,方便用戶進(jìn)入,滿足需求;(2)添加:可以添加分組,添加聯(lián)系人的姓名、移動(dòng)電話、家庭住址;(3)分組:可以將已添加的聯(lián)系人轉(zhuǎn)移在其他已經(jīng)分好的組中;(4)查詢:可以用姓名查詢;(5)修改:輸入欲修改的那個(gè)人的名字后,再依次輸入姓名、移動(dòng)電話、家庭住址備注即可完成修改;(6)刪除:可以根據(jù)需要從數(shù)據(jù)庫中直接刪除多余的聯(lián)系人分組和聯(lián)系人信息;程序分為多個(gè)小模塊,通過調(diào)用實(shí)現(xiàn)各種功能,增強(qiáng)了程序的可建設(shè)性。3 數(shù)據(jù)庫邏輯設(shè)計(jì)聯(lián)系人表(contac

5、ts) 屬性名數(shù)據(jù)類型長度可否為空說明contacts_idvarchar100否聯(lián)系人編號(hào) group_idvarchar100否 分組編號(hào)con_user_idvarchar100否 用戶編號(hào)contacts_namevarchar100是 聯(lián)系人姓名contacts_phone_ numbervarchar11否聯(lián)系人手機(jī)號(hào)contacts_addresstext是 聯(lián)系人住址分組表(con_group) 屬性名 數(shù)據(jù)類型 長度 可否為空 說明con_group_idvarchar 100 否 分組編號(hào)con_user_idvarchar 100 否 用戶編號(hào)con_group_name

6、varchar 500 是 分組類名用戶表(con_user) 屬性名 數(shù)據(jù)類型 長度 可否為空 說明con_user_idvarchar 100 否 分組編號(hào)con_user_namevarchar 100 是 用戶編號(hào)con_user_passwordvarchar 500 是 分組類名三、系統(tǒng)操作說明及運(yùn)行結(jié)果(一)、在瀏覽器地址欄輸入“http:/localhost:8080/phonebook/log_in.do”進(jìn)入登錄頁面 當(dāng)輸入正確的用戶名之后點(diǎn)擊登錄則進(jìn)入電話本頁面,如果用戶名或者密碼其中之一錯(cuò)誤,則會(huì)提示“用戶名或密碼錯(cuò)誤”,當(dāng)鼠標(biāo)單擊注冊按鈕時(shí)則會(huì)進(jìn)入用戶注冊頁面,如下圖

7、(由于時(shí)間的原因,注冊功能只寫了服務(wù)端而沒有寫客戶端,所以注冊功能暫不能實(shí)現(xiàn))User.java該Java類是用戶表的實(shí)體類,主要實(shí)現(xiàn)用戶信息的獲取以及發(fā)送功能package org.jlucc.user.entity;import java.io.Serializable;public class User implements Serializable private static final long serialVersionUID = 1L;-版本號(hào)便于二次開發(fā)private String con_user_id;private String con_user_name;privat

8、e String con_user_password;public String getCon_user_id() return con_user_id;public void setCon_user_id(String con_user_id) this.con_user_id = con_user_id;public String getCon_user_name() return con_user_name;public void setCon_user_name(String con_user_name) this.con_user_name = con_user_name;publi

9、c String getCon_user_password() return con_user_password;public void setCon_user_password(String con_user_password) this.con_user_password = con_user_password;UserMapper.xml該文件主要寫登陸電話本時(shí)用到的有關(guān)查詢以及注冊時(shí)用到的添加用戶的數(shù)據(jù)庫語句<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBL

10、IC "-//DTD Mapper 3.0/EN" "/dtd/ibatis-3-mapper.dtd"><mapper namespace="org.jlucc.user.dao.UserDao"><insert id="save" parameterType="org.jlucc.user.entity.User">-返回包下的use類型insert into con_user (c

11、on_user_id,con_user_name,con_user_password)values (#con_user_id,#con_user_name,#con_user_password)#后續(xù)插入數(shù)據(jù)</insert><select id="findByName" parameterType="string" resultType="org.jlucc.user.entity.User">select * from con_user where con_user_name=#con_user_name

12、</select></mapper>UserDao.java該Java類為用戶表的DAO類,封裝了用戶登錄以及注冊的方法,當(dāng)執(zhí)行時(shí)該類會(huì)自動(dòng)調(diào)用UserMapper.xml文件中與該類的方法中方法名相同的id名的數(shù)據(jù)庫代碼。package org.jlucc.user.dao;import org.jlucc.user.entity.User;public interface UserDao public User findByName(String name);public void save(User user);UserService.java該Service接口

13、類中封裝了用戶登錄時(shí)根據(jù)用戶輸入的用戶名去數(shù)據(jù)庫的用戶表中比對(duì)用戶名從而在數(shù)據(jù)庫中查找用戶信息的方法以及注冊的方法,運(yùn)行時(shí)該類會(huì)調(diào)用用戶表的DAO類也就是會(huì)調(diào)用UserDao類。package org.jlucc.user.service;import org.jlucc.user.entity.UserResult;public interface UserService public UserResult checkLogin(String name,String pwd) throws Exception;public UserResult regist(String name,Stri

14、ng password) throws Exception;UserServiceImpl.java該類是對(duì)用戶的Service接口類的實(shí)現(xiàn),該類主要實(shí)現(xiàn)的功能是在用戶登錄輸入用戶名與密碼后對(duì)用戶輸入的用戶名與密碼和數(shù)據(jù)庫中所存的用戶名與密碼進(jìn)行比對(duì),如果比對(duì)成功則會(huì)返回一個(gè)提示信息、一個(gè)數(shù)據(jù)包以及一個(gè)狀態(tài)碼,該狀態(tài)碼在客戶端編程時(shí)將會(huì)用作一個(gè)判斷條件,只有當(dāng)判斷條件成立時(shí)客戶端才能繼續(xù)執(zhí)行。package org.jlucc.user.service;import javax.annotation.Resource;import org.jlucc.user.dao.UserDao;impo

15、rt org.jlucc.user.entity.User;import org.jlucc.user.entity.UserResult;import org.jlucc.user.util.UserUtil;import org.springframework.transaction.annotation.Transactional;public class UserServiceImpl implements UserService -繼承上面方法,并實(shí)現(xiàn)Resource -用于掃描組件private UserDao userDao;Transactional(readOnly = tr

16、ue)public UserResult checkLogin(String name, String pwd) throws Exception UserResult result = new UserResult();User user = userDao.findByName(name);if(user = null)result.setStatus(1);result.setMsg("用戶名不存在");return result;if(!pwd.equals(user.getCon_user_password() result.setStatus(2);result

17、.setMsg("密碼不正確");return result;result.setStatus(0);result.setMsg("用戶名和密碼正確");result.setData(user.getCon_user_id();return result;Transactionalpublic UserResult regist(String name, String password)throws Exception UserResult result = new UserResult();User has_user = userDao.findByN

18、ame(name);if(has_user != null) result.setStatus(1);result.setMsg("用戶名已被占用");return result;User user = new User();user.setCon_user_name(name);user.setCon_user_password(password);String userId = UserUtil.createId();user.setCon_user_id(userId);userDao.save(user);result.setStatus(0);result.set

19、Msg("注冊成功");return result;LoginController.java該Controller類為用戶登錄時(shí)實(shí)現(xiàn)登錄功能的入口類,由于該電話本主要使用的是SpringMVC框架所寫,該類中使用了一些掃描標(biāo)記,掃描這些標(biāo)記的工作都是由配置文件applicationContext.xml完成。當(dāng)用戶輸入用戶名與密碼時(shí)客戶端會(huì)將用戶名與密碼發(fā)送到該處,該類則會(huì)相繼調(diào)用Service類來實(shí)現(xiàn)比對(duì)。package org.tarena.note.controller.user;import javax.annotation.Resource;import org.

20、jlucc.user.entity.UserResult;import org.jlucc.user.service.UserService;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;ControllerRequestMapping("/user")public class Lo

21、ginController Resourceprivate UserService userService;-發(fā)送AJAX請(qǐng)求時(shí)要找到所發(fā)送的請(qǐng)求的路徑RequestMapping("/login.do")ResponseBodypublic UserResult execute(String name, String pwd) throws Exception UserResult result = userService.checkLogin(name, pwd);return result;RegistController.java該Controller類為用戶注冊時(shí)

22、實(shí)現(xiàn)注冊功能的入口類,該類的實(shí)現(xiàn)方式與用戶登錄的COntroller實(shí)現(xiàn)方式相同。package org.jlucc.user.controller.user;import javax.annotation.Resource;import org.jlucc.user.entity.UserResult;import org.jlucc.user.service.UserService;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMa

23、pping;import org.springframework.web.bind.annotation.ResponseBody;Controller/掃描控制組件RequestMapping("/user")public class RegistController /用戶注冊Resourceprivate UserService userService;RequestMapping("/regist.do")ResponseBody/將返回值NoteResult轉(zhuǎn)成json輸出public UserResult execute(String nam

24、e,String password) throws Exception UserResult result = userService.regist(name, password);return result;下面這段代碼是將客戶端獲取用戶輸入的用戶名與密碼并發(fā)送給服務(wù)端的,由于在一個(gè)靜態(tài)頁面中要實(shí)現(xiàn)局部模塊刷新采用的是AJAX,這樣不但減輕了服務(wù)器的壓力,界面感也比較強(qiáng)。$(function() /給登錄按鈕追加單擊處理 $("#login").click(function() /清除原有的提示信息 $("#count_msg").html("

25、;"); $("#password_msg").html(""); /獲取請(qǐng)求數(shù)據(jù) var name = $("#count").val().trim(); var password = $("#password").val().trim(); /檢查數(shù)據(jù)格式 var ok = true; if(name="") $("#count_msg").html("用戶名不能為空"); ok = false; if(password="&quo

26、t;) $("#password_msg").html("密碼不能為空"); ok = false; if(ok) /發(fā)送Ajax請(qǐng)求 $.ajax( url:"http:/localhost:8080/phonebook/user/login.do", type:"post", data:"name":name,"pwd":password, dataType:"json", success:function(result) /result是服務(wù)器返回的

27、json結(jié)果 if(result.status=0)/成功 window.location.href="edit.html" else if(result.status=1)/用戶名錯(cuò) $("#count_msg").html(result.msg); else if(result.status=2)/密碼錯(cuò) $("#password_msg").html(result.msg); ); /end if ););到此,電話本的登錄功能完全實(shí)現(xiàn),注冊功能由于前端代碼沒有寫,暫時(shí)不能實(shí)現(xiàn),只能做相應(yīng)的注冊測試功能。(2) 、進(jìn)入電話本的主

28、界面后截圖如下,可進(jìn)行電話本分組的添加,聯(lián)系人的添加等功能。此時(shí)會(huì)載入數(shù)據(jù)庫中的分組以及聯(lián)系人Group.java該Java類是電話本分組的實(shí)體類,主要實(shí)現(xiàn)電話本分組信息的獲取以及發(fā)送功能package org.jlucc.user.entity;import java.io.Serializable;public class Group implements Serializable private static final long serialVersionUID = 1L;private String con_group_id;private String con_user_id;pr

29、ivate String con_group_name;public String getCon_group_id() return con_group_id;public void setCon_group_id(String con_group_id) this.con_group_id = con_group_id;public String getCon_user_id() return con_user_id;public void setCon_user_id(String con_user_id) this.con_user_id = con_user_id;public Str

30、ing getCon_group_name() return con_group_name;public void setCon_group_name(String con_group_name) this.con_group_name = con_group_name;GroupMapper.xml該文件主要寫載入電話本分組時(shí)用到的有關(guān)查詢用戶的信息的數(shù)據(jù)庫語句<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-/ibatis.apache.or

31、g/DTD Mapper 3.0/EN" "/dtd/ibatis-3-mapper.dtd"><mapper namespace="org.jlucc.user.dao.GroupDao"><insert id="save" parameterType="org.jlucc.user.entity.Group">insert into con_group (con_group_id,con_user_id,con_group_n

32、ame) values (#con_group_id,#con_user_id,#con_group_name)</insert><select id="findByUser" parameterType="string" resultType="org.jlucc.user.entity.Group">select * from con_group where cn_user_id=#cn_user_id</select><delete id="deleteById" p

33、arameterType="string">delete from con_group where con_group_id=#con_group_id</delete></mapper>GroupDao.java該Java類為電話本分組表的DAO類,封裝了電話本分組的添加、刪除以及載入的方法,當(dāng)執(zhí)行時(shí)該類會(huì)自動(dòng)調(diào)用GroupMapper.xml文件中與該類的方法中方法名相同的id名的數(shù)據(jù)庫代碼。(電話本分組的功能也不太完整,載入和添加在客戶端都有體現(xiàn),但是分組的刪除在客戶端沒有進(jìn)行實(shí)現(xiàn),僅寫了分組刪除的服務(wù)端)package org.jluc

34、c.user.dao;import java.util.List;import org.jlucc.user.entity.Group;public interface GroupDao public void save(Group group);public List<Group> findByUser(String userId);public void deleteById(String groupId);GroupService.java該Service接口類中封裝了電話本分組的添加、刪除以及載入的方法,運(yùn)行時(shí)該類會(huì)調(diào)用電話本分組表的DAO類也就是會(huì)調(diào)用GroupDao類。

35、package org.jlucc.user.service;import org.jlucc.user.entity.UserResult;public interface GroupService public UserResult addGroup(String groupName, String userId, String groupId);public UserResult loadGroup(String userId);public UserResult deleteGroup(String groupId);GroupServiceImpl.java該類是分組表的Servic

36、e接口類的實(shí)現(xiàn)類,具體實(shí)現(xiàn)了Service接口類中定義的添加分組、載入分組與刪除分組的功能。package org.jlucc.user.service;import java.util.List;import javax.annotation.Resource;import org.jlucc.user.dao.GroupDao;import org.jlucc.user.entity.Group;import org.jlucc.user.entity.UserResult;import org.jlucc.user.util.UserUtil;import org.springframe

37、work.stereotype.Service;import org.springframework.transaction.annotation.Isolation;import org.springframework.transaction.annotation.Propagation;import org.springframework.transaction.annotation.Transactional;ServiceTransactional(readOnly=false,rollbackFor=RuntimeException.class,propagation=Propaga

38、tion.REQUIRED,isolation=Isolation.DEFAULT)public class GroupServiceImpl implements GroupServiceResourceprivate GroupDao groupDao;public UserResult addGroup(String groupName, String userId, String groupId) UserResult result = new UserResult();Group group = new Group();group.setCon_group_id(userId);gr

39、oup.setCon_group_name(groupName);groupId = UserUtil.createId();group.setCon_user_id(groupId);groupDao.save(group);result.setStatus(0);result.setMsg("創(chuàng)建分組成功");result.setData(groupId);return result;public UserResult loadGroup(String userId) List<Group> list = groupDao.findByUser(userId

40、);UserResult result = new UserResult();result.setMsg("查詢分組成功");result.setStatus(0);result.setData(list);return result;public UserResult deleteGroup(String groupId) groupDao.deleteById(groupId);UserResult result = new UserResult();result.setMsg("刪除分組成功");result.setStatus(0);return

41、 result;以下三個(gè)Controller類分別是電話本分組添加、刪除和載入功能的入口,執(zhí)行步驟與方式與上述用戶登錄時(shí)執(zhí)行的步驟與方式相同。AddGroupController.javapackage org.jlucc.controller.group;import javax.annotation.Resource;import org.jlucc.user.entity.UserResult;import org.jlucc.user.service.GroupService;import org.springframework.stereotype.Controller;import

42、 org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;ControllerRequestMapping("/group")public class AddGroupController Resourceprivate GroupService groupService;RequestMapping("/addgroup.do")ResponseBodypublic UserRes

43、ult execute(String groupName, String userId, String groupId) UserResult result = groupService.addGroup(groupName, userId, groupId);return result;DeleteGroupController.javapackage org.jlucc.controller.group;import javax.annotation.Resource;import org.jlucc.user.entity.UserResult;import org.jlucc.user

44、.service.GroupService;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;ControllerRequestMapping("/group")public class DeleteGroupController Resourceprivate GroupService

45、 groupService;RequestMapping("/deletegroup.do")ResponseBodypublic UserResult execute(String groupId) UserResult result = groupService.deleteGroup(groupId);return result;LoadGroupController.javapackage org.jlucc.controller.group;import javax.annotation.Resource;import org.jlucc.user.entity.

46、UserResult;import org.jlucc.user.service.GroupService;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;ControllerRequestMapping("/group")public class LoadGroupControlle

47、r Resourceprivate GroupService groupService;RequestMapping("/loadgroup.do")ResponseBodypublic UserResult execute(String userId) UserResult result = groupService.loadGroup(userId);return result;分組在網(wǎng)頁上載入的前端代碼如下,因?yàn)闆]添加一個(gè)分組就要?jiǎng)討B(tài)的在頁面上的分組列表下顯示新加的那個(gè)分組,所以也用的是AJAX實(shí)現(xiàn)的。$(function()$.ajax( url:"htt

48、p:/localhost:8080/phonebook/group/loadgroup.do", type:"post", data:"userId":userId, dataType:"json", success:function(result) if(result.status=0) var groups = result.data;/分組json集合信息 /循環(huán)集合生成分組li列表 for(var i=0;i<groups.length;i+) /獲取每個(gè)分組元素的筆記本名稱 var groupName = g

49、roupsi.con_group_name; /獲取每個(gè)分組元素的分組ID var groupId = groupsi.con_group_id; /拼成li元素 var s_li = '<li class="online"><a >' s_li += '<i class="fa fa-group" title="online" rel="tooltip-bottom">' s_li += '</i>'+groupNam

50、e+'</a></li>' /將s_li字符串轉(zhuǎn)成jQuery對(duì)象,藏groupId var $li = $(s_li); $li.data("groupId",groupId); /將li添加到分組ul中 /$("#group_list").append($li); );當(dāng)點(diǎn)擊全部分組后面的+號(hào)時(shí),會(huì)彈出如下對(duì)話框添加分組成功的截圖由于添加分組的服務(wù)端代碼已經(jīng)在前面貼過來,此處就只粘貼添加分組的客戶端代碼,如下$("#can").on("click","#sure

51、_addgroup",function() /獲取分組名 var groupName = $("#input_phonegroup").val().trim(); /TODO 檢查分組名是否為空 /發(fā)送請(qǐng)求 $.ajax( url:"http:/localhost:8080/phonebook/group/addgroup.do", type:"post", data:"groupName":groupName,"userId":userId, dataType:"json&

52、quot;, success:function(result) if(result.status=0) closeWindow();/關(guān)閉對(duì)話框 /添加一個(gè)分組li var groupId = result.data;/獲取返回的groupId /拼成li元素 var s_li = '<li class="online"><a >' s_li += '<i class="fa fa-group" title="online" rel="tooltip-bottom&quo

53、t;>' s_li += '</i>'+groupName+'</a></li>' /將s_li字符串轉(zhuǎn)成jQuery對(duì)象,藏groupId var $li = $(s_li); $li.data("groupId",groupId); /將li添加到分組列表區(qū) $("#group_list").prepend($li); , error:function() alert("創(chuàng)建分組失敗"); ); );(3) 、單擊全部聯(lián)系人后面的+號(hào)會(huì)彈出新建聯(lián)系人的窗口,如下添加聯(lián)系人成功的截圖Contacts.java該類為聯(lián)系人的實(shí)體類,只要為了獲取以及發(fā)送聯(lián)系人的各種信息。package org.jlucc.user.entity;import java.io.Serializable;public class Contacts implements Serializable private static final long serialVersionUID = 1L;private String contacts_id;private String group_id;private String con_user_id;pr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論