下载 >  网络技术 >  网络基础 > 一个聊天室源代码
0分

一个聊天室源代码

!!!!!!!!!!!!!<br>¥¥¥¥¥¥¥¥¥¥¥¥¥<br>$$$$$$$$$$$$$$$$$$$$$$
2007-07-29 上传大小:126KB
立即下载 开通VIP
分享
收藏 举报
基于C/C++的局域网聊天室源码

基于C/C++的局域网聊天室源码,经过测试在一台pc机测试成功。

立即下载
3积分/C币
Java聊天室程序(源代码)

Java聊天室程序 需求分析 2.1 业务需求 1. 与聊天室成员一起聊天。 2. 可以与聊天室成员私聊。 3. 可以改变聊天内容风格。 4. 用户注册(含头像)、登录。 5. 服务器监控聊天内容。 6. 服务器过滤非法内容。 7. 服务器发送通知。 8. 服务器踢人。 9. 保存服务器日志。 10.保存用户聊天信息。 2.2 系统功能模块 2.2.1 服务器端 1.处理用户注册 2.处理用户登录 3.处理用户发送信息 4.处理用户得到信息 5.处理用户退出 2.2.2 客户端 1.用户注册界面及结果 2.用户登录界面及结果 3.用户发送信息界面及结果 4.用户得到信息界面及结果 5.用户退出界面及结果 2.3 性能需求 运行环境:Windows 9x、2000、xp、2003,Linux 必要环境:JDK 1.5 以上 硬件环境:CPU 400MHz以上,内存64MB以上 3.1.2 客户端结构 ChatClient.java 为客户端程序启动类,负责客户端的启动和退出。 Login.java 为客户端程序登录界面,负责用户帐号信息的验证与反馈。 Register.java 为客户端程序注册界面,负责用户帐号信息的注册验证与反馈。 ChatRoom.java 为客户端程序聊天室主界面,负责接收、发送聊天内容与服务器端的Connection.java 亲密合作。 Windowclose 为ChatRoom.java的内部类,负责监听聊天室界面的操作,当用户退出时返回给服务器信息。 Clock.java 为客户端程序的一个小程序,实现的一个石英钟功能。 3. 2 系统实现原理 当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端 当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天信息对象,然后将其强制转换为Chat对象,并将本次用户的聊天信息对象添加到聊天对象集Message中,以供所有聊天用户访问。 接收用户的聊天信息是由多线程技术实现的,因为客户端必须时时关注更新服务器上是否有最新消息,在本程序中设定的是3秒刷新服务器一次,如果间隔时间太短将会增加客户端与服务器端的通信负担,而间隔时间长就会让人感觉没有时效性,所以经过权衡后认为3秒最佳,因为每个用户都不可能在3秒内连续发送信息。 当每次用户接收到聊天信息后将会开始分析聊天信息然后将适合自己的信息人性化地显示在聊天信息界面上。 4.1.1 问题陈述 1.接受用户注册信息并保存在一个基于文件的对象型数据库。 2.能够允许注册过的用户登陆聊天界面并可以聊天。 3.能够接受私聊信息并发送给特定的用户。 4.服务器运行在自定义的端口上#1001。 5.服务器监控用户列表和用户聊天信息(私聊除外)。 6.服务器踢人,发送通知。 7.服务器保存日志。

立即下载
50积分/C币
jsp做的简易聊天室源码

用jsp做的简易聊天室,部署到tomcat中,可实现网络聊天室的基本功能。

立即下载
3积分/C币
基于QT的网络聊天室+收发数据及文件+源代码

一款基于QT的网络聊天工具,可以互相发送数据及传输文件

立即下载
50积分/C币
javaWeb在线聊天室代码例子技术是简单的servlet

在线聊天,就是多人在线,一个人发消息其他人也能看见,而且不是AJAX一直刷后台,因为那样很占用服务器资源,这个例子的思想是使用长连接,只有当有人说话的时候才会返回。里边是个工程可以使用eclipse打开。通过这个代码可以扩展很多需要长连接才能实现的功能。

立即下载
3积分/C币
java版QQ聊天室源代码

用Java编写的QQ聊天程序,仅供大家参考、学习与交流。

立即下载
5积分/C币
VB.NET 局域网一对多聊天室源代码(完整功能)

VB.NET 局域网一对多聊天室源代码 绝对原创!功能集全!服务器与客户端私聊,群聊,客户端间私聊 凡本人上传,均已经优化和检验,而且完全不保留开放,VS2010制作

立即下载
50积分/C币
简单聊天室JSP实现代码

这是一段简单的JSP编写的关于聊天室的代码,代码完全正确,可以直接使用!对学习JSP的初学者有一定的帮助。

立即下载
5积分/C币
网络编程 C 基于TCP/IP协议的聊天室源代码

网络编程 基于TCP/IP协议的 聊天室代码 可直接运行 支持单对单聊天和群聊

立即下载
4积分/C币
基于jsp的最简单的在线聊天室

之前要积分的删不了只能重新上传咯,只有源码

立即下载
30积分/C币
jsp网页版聊天室(附有源码)

jsp做的网页版聊天室,可以一起在局域网内群聊而且可以发图片哦,很不错的,远程协助的功能还在完善中,希望大家和我一起完成啊,,附有源码哦,和数据库,oracle ,采用了三层架构的模式来设计dao,是一个完整的项目

立即下载
3积分/C币
一个完整的聊天室程序包括客户端和服务器端

一个免费的聊天室程序(AES256bit加密)有服务器端和客户端 未经过大规模测试,作者只在自己电脑上测试通过,设计上支持1000人同时聊天,且采用AES256bit对称加密算法加密,加密和解密只在本地进行,输入相同密锁的人可以解密对方的密文,否则只能收到一堆乱码。

立即下载
3积分/C币
java实现聊天室功能(全部代码,有界面)

java写的聊天室程序,支持群聊,公聊,私聊,支持刷新好友列表,使用swing以及awt写的简单界面,可以多人登录

立即下载
30积分/C币
JAVA语言实现的聊天室程序(达内项目).rar

JAVA语言实现的聊天室程序(达内项目) JAVA 版聊天室,源码 + 说明文档 + 可执行jar包 + 帮助手册 使用技术:SWING + SOCKET 一、 背景描述 在学习完网络以后,开始练习本项目的部署安排。 二、 实现要求 能够完成多线程的用户聊天程序。 三、 实现技术 a) 使用ServerSocket、Socket完成服务端和客户端的连接。 b) 服务端使用多线程的方式可以接受多个客户端。 c) 使用对象的方式,在服务端和客户端之间传送数据。

立即下载
50积分/C币
GamVanTalk v0.9(含源码)JAVA实现的多人聊天室

GamVanTalk v0.9(含源码)JAVA实现的多人聊天室

立即下载
3积分/C币
一个不错的多人聊天室代码(JAVA)

一个不错的聊天室代码,用JAVA实现,支持在线统计,多人聊天,我是初学者,这个程序适于于初学者吧,不过效果还是不错的。

立即下载
1积分/C币
一个多人的聊天室(含源码)

一个多人的聊天室(含源码)今天想找点关于winSocket的东西,学习一下,可是没找到,只好先用delphi玩一下了,用socket写了一个小聊天室,没什么技术含量,没有接触过socket的可以做一下感性认识,呵呵,欢迎大家到华竹讨论关于socket的知识。http://sinoprise.com

立即下载
4积分/C币
军缘江湖聊天室源码

一个ASP的江湖聊天室源代码,测试丢入IIS里测试一下,可以跑起来。

立即下载
3积分/C币
java源代码:多用户聊天室程序(毕业设计)

本聊天室是一个多用户的聊天室。包括:用户注册、注册资料保存、用户登陆、 核对用户名和用户密码、多用户登录、多用户同聊、私聊、保存用户记录、用户 离开记录自动清除、在线人数监视等多种功能。 使用方法: 1.服务器端:运行服务器程序 2.客户端: (1)启动聊天室,输入Ip地址以登陆服务器。 (2)进入登陆界面,第一次登陆需要注册,点注册按扭。 (3)按要求填完注册信息。 (4)返回登陆窗口,输入用户名、密码,进行登陆。 (5)进入聊天室。。 进入聊天室后,就可以尽情的聊天了,可以和你喜欢的人私聊了,聊的开心 话题还可以进行保存,当然,你也可以清屏。

立即下载
5积分/C币
达内客户端+聊天室源码

package windows; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.security.MessageDigest; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.Vector; import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.params.ClientPNames; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.protocol.HTTP; import org.apache.http.util.EntityUtils; /** * 核心功能封装类 * @author 冯晋强 * */ public class TmoocOperate { static String sessionid; static CloseableHttpResponse response = null; static CloseableHttpClient httpclient = null; //静态块 static{ // 创建提交数据对象 httpclient = HttpClients.createDefault(); } /** * 处理在线疑答贴子列表源码数据 * @author 刑保政 */ public static String[][] splist(String Str) { Str = Str.substring(Str.lastIndexOf("<ul>") + 4, Str.lastIndexOf("</ul>")).replaceAll("\\s", ""); String[] lis = Str.split("</li>");// 所有记录的数组 String[] jilu = null;// 单条记录的数组 String[][] allMsg = new String[lis.length - 1][4]; // 创建一个二维数组保存处理后的数据,其中每个一维数组中包含一个记录,每个二维数组中包含每条数据的信息 // allMsg[i][0]:标题; allMsg[i][1]:时间 allMsg[2]:处理状态 for (int i = 0; i < lis.length - 1; i++) {// 遍历所有记录,取出每一条记录 String ss = lis[i];// 取出每一条记录 jilu = ss.split("(</a></span>|</span>)"); // 每条记录分割成3部分 jilu[0]:标题 jilu[2]:时间 jilu[3]:处理状态 for (int j = 0; j < jilu.length; j++) {// 由于数据中还含有部分额外代码,遍历所有记录筛选数据 String msg = jilu[j];// 单条记录中的每一个数据 System.out.println(msg); msg = msg.substring(msg.lastIndexOf(">") + 1, msg.length()); String uid = jilu[0].substring(jilu[0].lastIndexOf("(") + 1, jilu[0].lastIndexOf(")")); allMsg[i][j] = msg; allMsg[i][3] = uid; } } return allMsg; } /** * 处理在线疑答帖子内容源码数据 * @author 刑保政 */ public static String[] splist1(String all) { String queStr = all.substring(all.indexOf("<div class=\"quesdetail\""),all.indexOf("<div id=\"answers\"")); // .replaceAll("\\s","");//处理源码筛选字符串,只获取含有问题标题的内容 // System.out.println(queStr);//测试标题部分字符串 String[] queArr = queStr.split("(</span|</pre|</div>)"); for(int i=0;i<queArr.length;i++){ String msg = queArr[i]; msg = msg.substring(msg.lastIndexOf(">")+1, msg.length()); if(i == 5){ msg = msg.substring(msg.indexOf(":")+1).trim(); } queArr[i] = msg; } String[] que = new String[4];//保存最终标题内容的数组 que[0] = queArr[1]; que[1] = queArr[3]; que[2] = queArr[4]; que[3] = queArr[5]; for(int i=0;i<2;i++){ que[i] = que[i].replaceAll("&lt;","<"); que[i] = que[i].replaceAll("&gt;",">"); que[i] = que[i].replaceAll("&nbsp;"," "); que[i] = que[i].replaceAll("&amp;","&"); que[i] = que[i].replaceAll("&quot;","\""); que[i] = que[i].replaceAll("&copy;","@"); que[i] = que[i].replaceAll("&reg;","商标"); } return que; } // 回复帖子方法包 public static boolean SetTitle1(String message,String uid) { try { // url提交地址 HttpPost httpPost = new HttpPost("http://tts8.tmooc.cn/onlinefaq/anwser"); // 组合数据包 List<NameValuePair> nvps = new ArrayList<NameValuePair>(); nvps.add(new BasicNameValuePair("questionId", uid)); nvps.add(new BasicNameValuePair("context", message)); // 设置数据包 httpPost.setEntity(new UrlEncodedFormEntity(nvps,HTTP.UTF_8)); // 提交数据包 response = httpclient.execute(httpPost); // 读取返回数据信息 String str = EntityUtils.toString(response.getEntity()); System.out.println(str); if(str.indexOf("true")!=-1){ return true; }else{ return false; } } catch (ClientProtocolException e) { System.out.println("数据包提交失败"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return false; } // 发送帖子方法包 public static boolean SetTitle(String tilte, String message) { try { // url提交地址 HttpPost httpPost = new HttpPost("http://tts8.tmooc.cn/onlinefaq/add"); // 组合数据包 List<NameValuePair> nvps = new ArrayList<NameValuePair>(); nvps.add(new BasicNameValuePair("title", tilte)); nvps.add(new BasicNameValuePair("context", message)); // 设置数据包 httpPost.setEntity(new UrlEncodedFormEntity(nvps,HTTP.UTF_8)); // 提交数据包 response = httpclient.execute(httpPost); // 读取返回数据信息 String str = EntityUtils.toString(response.getEntity()); System.out.println(str); if(str.indexOf("true")!=-1){ return true; }else{ return false; } } catch (ClientProtocolException e) { System.out.println("数据包提交失败"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return false; } /** * * @author 刑保政 */ public static Vector<Vector<String>> getAite(Vector<Vector<String>> vvs){ /** 保存所有姓名的集合,因为回帖人中有重复数据,所以这里用Set去除重复 */ Set<String> usersSet = new HashSet<String>(); /** 保存所有回帖内容的集合 */ List<String> texts = new ArrayList<String>(); /* 遍历回帖集合,分别取出每一条记录中的回帖人和回帖内容,并添加到 * 对应的集合中,方便下一步遍历筛选 */ for(int i=0;i<vvs.size();i++){ Vector<String> v = vvs.get(i); String user = v.get(1); String text = v.get(3); usersSet.add(user); texts.add(text); } // System.out.println(users);//测试回帖人集合 // System.out.println(texts);//测试回帖内容集合 String[] users = new String[usersSet.size()]; usersSet.toArray(users);//将usersSet回帖人集合转为数组方便遍历 // System.out.println(Arrays.toString(users));//测试回帖人数组 /* 遍历回帖人数组,取出每一个回帖人, * 遍历每一条回帖内容,判断内容是否以@+回帖人开头,(当前设置@只能在开头有用,中间的不予考虑) * 若是则提取该回帖人并添加到当前楼层集合中 */ for(int i=0;i<users.length;i++){ String user = users[i]; for(int j=0;j<texts.size();j++){ String text = texts.get(j); if(text.startsWith("@" + user)){ // System.out.println(text); vvs.get(j).add("@" + user); } } } return vvs;//将处理后的集合返回 } /** * * @author 刑保政 */ public static Vector<Vector<String>> getAnswer(String all){ all = all.substring(all.indexOf("<div id=\"answers\""), all.indexOf("<div id=\"appendQues\"")); //抽取数据片段(答案部分) // System.out.println(all); String[] ansArr = all.split("<div class=\"answer");//分割成存储单条回帖的数组 String[] answer = null;//每一条回帖数组 Vector<Vector<String>> vvs = new Vector<Vector<String>>();//创建二维集合保存信息 /* * 遍历回帖集合,取出每一条回帖记录,分割成一组回帖信息元素, * 进行处理后添加进二维集合 */ for(int i = 1;i<ansArr.length;i++){ String ansStr = ansArr[i]; answer = ansStr.split("(</span>|</pre>)"); vvs.add(new Vector<String>()); vvs.get(i-1).add(i + "");//楼层数 for(int j=0;j<answer.length-1;j++){//处理每条回帖的信息 String msg = answer[j].trim(); msg = msg.substring(msg.lastIndexOf(">")+1,msg.length()).trim(); if(j == 1){//对时间单独进行处理一下 msg = msg.substring(msg.indexOf("(")+1,msg.length()-1).trim(); } vvs.get(i-1).add(msg);//添加进二维集合 } } vvs = getAite(vvs); return vvs; } // 读取在线疑答帖子内容源码数据 public static String Get_title(String uid) { try { // url提交地址 HttpGet httpGet = new HttpGet("http://tts8.tmooc.cn/onlinefaq/detail/"+ uid); // 提交数据包 response = httpclient.execute(httpGet); // 取出cookie System.out.println(response.getFirstHeader("Cookie")); // 读取返回数据信息 String str = EntityUtils.toString(response.getEntity()); return str; } catch (ClientProtocolException e) { System.out.println("数据包提交失败"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } // 读取在线疑答帖子列表源码数据 public static String Get_tilte() { try { // url提交地址 HttpGet httpGet = new HttpGet("http://tts8.tmooc.cn/onlinefaq/questionList"); // 提交数据包 response = httpclient.execute(httpGet); System.out.println("第七次请求成功"); // 读取返回数据信息 String str = EntityUtils.toString(response.getEntity()); return str; } catch (ClientProtocolException e) { System.out.println("数据包提交失败"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } // 初始化登陆,判断是否需要登陆验证码 暂时未完善 public static void GetCode(String user) { CloseableHttpClient httpclient = null; CloseableHttpResponse response2 = null; try { // url提交地址 HttpPost httpPost = new HttpPost("http://tmooc.cn/login/loginTimes"); // 组合数据包 List<NameValuePair> nvps = new ArrayList<NameValuePair>(); nvps.add(new BasicNameValuePair("login_name", user)); // 设置数据包 httpPost.setEntity(new UrlEncodedFormEntity(nvps)); // 创建提交数据对象 httpclient = HttpClients.createDefault(); // 提交数据包 response2 = httpclient.execute(httpPost); // 读取返回数据信息 String str = EntityUtils.toString(response2.getEntity()); System.out.println(str); TmoocOperate.SetTitle("今天的表示没怎么听懂", "你们呢。。。"); } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { response2.close(); httpclient.close(); } catch (IOException e) { e.printStackTrace(); } } } // 登陆Tmooc方法 public static boolean Tmooc_Login(String user, String pass) { try { // url提交地址 HttpPost httpPost = new HttpPost("http://tmooc.cn/login"); // 组合数据包 List<NameValuePair> nvps = new ArrayList<NameValuePair>(); nvps.add(new BasicNameValuePair("login_name", user)); nvps.add(new BasicNameValuePair("password", Login_MD5(pass).toLowerCase())); nvps.add(new BasicNameValuePair("type", "P")); nvps.add(new BasicNameValuePair("uuid","E1CC4286A419C899CCBF6A04E5A1CF02")); // 设置数据包 httpPost.setEntity(new UrlEncodedFormEntity(nvps)); // 提交数据包 response = httpclient.execute(httpPost); // 读取返回数据信息 String str = EntityUtils.toString(response.getEntity()); //判断是否登陆成功 if (str.indexOf(user) != -1) { sessionid = str.substring(14, str.indexOf("|P#")); // 取出cookie方法 这里用不到 //Cookie = response2.getFirstHeader("Set-Cookie").toString(); // url提交地址 HttpGet httpGet = new HttpGet("http://tmooc.cn/login/hadlogin/"+ sessionid); // 提交数据包 response = httpclient.execute(httpGet); // url提交地址 httpGet = new HttpGet("http://tts8.tmooc.cn/user/myTTS?sessionId=" + sessionid + "&date="); // 提交数据包 response = httpclient.execute(httpGet); return true; } } catch (UnsupportedEncodingException e) { System.out.println("设置数据包出错"); e.printStackTrace(); } catch (ClientProtocolException e) { System.out.println("提交数据异常"); e.printStackTrace(); } catch (IOException e) { System.out.println("其他错误"); e.printStackTrace(); } return false; } //utf-8编码 public static String bm_utf8(String Str){ String bmjg = null; try { bmjg = URLEncoder.encode(Str, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return bmjg; } // 登陆tmooc时md5加密方法 public final static String Login_MD5(String s) { char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; try { byte[] btInput = s.getBytes(); // 获得MD5摘要算法的 MessageDigest 对象 MessageDigest mdInst = MessageDigest.getInstance("MD5"); // 使用指定的字节更新摘要 mdInst.update(btInput); // 获得密文 byte[] md = mdInst.digest(); // 把密文转换成十六进制的字符串形式 int j = md.length; char str[] = new char[j * 2]; int k = 0; for (int i = 0; i < j; i++) { byte byte0 = md[i]; str[k++] = hexDigits[byte0 >>> 4 & 0xf]; str[k++] = hexDigits[byte0 & 0xf]; } return new String(str); } catch (Exception e) { e.printStackTrace(); return null; } } }

立即下载
3积分/C币
【原创】局域网简易聊天室+基于QT4.8.3+源码

基于qt的建议聊天室,首先开启服务器,再配置好客户端后连接服务器,客户端可以多开,支持中文,属于入门级软件,适合菜鸟。

立即下载
3积分/C币
【免费】网络通信TCP聊天室源代码可群聊通信加密

【免费】网络通信TCP聊天室源代码可群聊、通信加密、注册、登陆等。需要Mysql支持

立即下载
3积分/C币
纯JS+MVC打造Web实时聊天室源码

纯JS+MVC打造Web实时聊天室源码,此为其他网站下载内容,经测试 非常好用

立即下载
3积分/C币
linux下的简单聊天室源代码(c语言实现)

linux下的简单聊天室源代码(c语言实现),功能比较简单,适合初学linux网络编程的同学参考

立即下载
3积分/C币
基于JAVA语言的网络聊天系统开发与实现源代码

毕业设计基于JAVA语言的网络聊天系统开发与实现源代码

立即下载
3积分/C币
Java实现简易网络聊天室

本课题设计主要是采用传统的Client/Server结构来实现自己的聊天室。其实现的主要功能是:用户可以在聊天室中公开发言,也可以发送给某个用户实现两人间的私聊。程序有着自己的聊天服务器和客户端程序。客户端提供用户的登录服务器,发送聊天信息功能;服务器程序则主要负责接收用户的注册登录请求,转发用户的聊天信息。其中,客户端主要是由Java Applet小应用程序实现的;而服务器端主要是通过Thread线程,Socket网络通信以及数据流完成的。同时自己还定义了相关的通信协议使程序趋于完善。

立即下载
2积分/C币
java在线聊天室源代码

相关技术:Servlet,SQLServer2005,HTML<br>附带:数据库。

立即下载
3积分/C币
JSP聊天室源码+文档

聊天室采用jsp中的servlet技术,该资源包括完整的源代码,下载该资源解压缩即可使用,同时该资源还有完整的servlet聊天室的课程报告,可供大家学习参考。 课程报告与源码对应,课程报告目录:需求分析、系统设计、用户登录模块、聊天室主体功能模块、退出聊天室模块,附录。

立即下载
3积分/C币
一个公共聊天室功能的实现(Java)源代码+可执行文件

资源说明:一个公共聊天室功能的实现,实现了登录聊天,保存聊天记录等功能,本资源包含项目完整源代码和可执行文件,运行在windows平台,可供项目开发参考和学习进阶使用。 使用说明:1、点击server.bat打开服务器,使之运行; 2、每个人各自点击client.bat打开客户端,登进,开始聊天;3、聊天记录将以.txt文件记录保存;

立即下载
5积分/C币
C#实现Socket聊天室代码

C# 实现的Socket聊天室完整代码

立即下载
3积分/C币
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

一个聊天室源代码

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: