欢迎来到天天文库
浏览记录
ID:9014899
大小:248.00 KB
页数:10页
时间:2018-04-15
《基于cs的网盘设计(java)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于C/S的网盘设计(JAVA)由于有其他的工作,网盘做了一部分不得不放手了,我希望有时间的其他朋友可以继续工作,虽然网络上有很多现成的网盘代码,不过还是希望自己能做一个,并借鉴一些优秀的思想来实现,下面说下实现过程,有些部分需要改进一、数据库的设计,目前只涉及到用户表,当然还有其他的,你可以根据需要来增加#用户表createtablem_user(idintprimarykeyauto_increment,namevarchar(32)notnullunique,passwordchar(32)notn
2、ull,`gender`enum('男','女')NOTNULLDEFAULT'男',phonevarchar(20),emailvarchar(50)notnull,reg_datechar(16)notnull,reg_ipvarchar(15)notnull,last_login_datechar(16),last_login_ipvarchar(15));二、数据源的设置,我这里使用c3p0数据源,当然你可以使用dbcp或者其他的配置c3p0-config.xml文件就可以了,网络上有详细的配置项
3、,或者在我源码里面下载,在最后公布下载地址在这里我写一个简单的JdbcUtil,当然还可以编写一些复杂的操作,工作不允许我继续往下写了,你可以集成一些操作,就像hibernate那样publicclassJdbcUtil{/***数据库连接管理器*///privatestaticLoggerlog=Logger.getLogger(JdbcUtil.class);/*初始化数据库连接池*/privatestaticDataSourcedataSource=newComboPooledDataSource(
4、);/*获取数据源*/publicDataSourcegetDataSource(){returndataSource;}/*获取连接*/publicstaticConnectiongetConnection()throwsSQLException{returndataSource.getConnection();}/*释放连接*/publicstaticvoidfree(ResultSetrs,PreparedStatementps,Connectionconn){if(null!=rs){try{rs
5、.close();}catch(SQLExceptione){}}if(null!=ps){try{ps.close();}catch(SQLExceptione){}}if(null!=conn){try{conn.close();}catch(SQLExceptione){}}}publicstaticvoidfree(PreparedStatementps,Connectionconn){if(null!=ps){try{ps.close();}catch(SQLExceptione){}}if(n
6、ull!=conn){try{conn.close();}catch(SQLExceptione){}}}}三、我这里先说说服务端1.socket线程池池的作用想必大家都知道,循环利用资源,我这里的这个池只是简单的池,没有时间再完成一个复杂的工作了cn.mike.server.ServerThread是一个负责处理用户请求的线程,我们要创建一批这样的线程,并由cn.mike.server.ServerThreadPool管理,代码如下:publicclassServerThreadPool{/***服务端
7、线程池*/privatefinalstaticLoggerlog=Logger.getLogger(ServerThreadPool.class);//线程组publicstaticLinkedListthreadPool=newLinkedList();privatestaticintmaxPoolSize;//最大连接数privatestaticintminPoolSize;//最小连接数privatestaticintinitialPoolSi
8、ze;//初始化连接数privatestaticintmaxIdleTime;//连接的最大空闲时间,单位:秒privatestaticintacquireIncrement;//在当前连接数耗尽的时候,一次获取的新的连接数staticintmaxWaitUserTime;//线程等待用户操作的最大时间,到达最大时间未传送数据,则进行线程释放publicServerThreadPool(){initProperties();i
此文档下载收益归作者所有