最近在移植一个原来是基于局域网通讯的C/S软件转换到基于互联网通讯,软件在局域网中时使用JDBC直接访问数据库,而在互联网中,这样的方式会带来非常可怕的后果。因此,我在想是否有一种思路通过互联网代理通讯的方式把JDBC数据进行路由,提高安全性不说,做好的话还有可能提高数据库并发访问性能。
这个方式目前还没有实现,但是思路大致应该是这个样子的:
// 服务器端,假设访问的是MySQL数据库,服务端口为81
JDBCServer server = new JDBCServer(81);
// mysqlservice JDBC服务名
// mysql 数据库类型
// localhost:3306 数据库主机地址及端口
// db1 数据库名称
// username 数据库用户帐号
// password 数据库登录密码
server.addDataSource("mysqlservice","mysql","localhost:3306","db1","username","password");
// 启动服务器
server.start();
再看看客户端如何访问:
// 客户端
// 注册数据库驱动程序
Class.forName("com.cmspad.jdbc.Driver");
// 向往常一样,创建数据库连接
Connection conn = DriverManager.getConnection("jdbc:cmspad://192.168.0.188:81/mysqlservice","username","password");
// 然后进行标准的JDBC操作
...
conn.close();
假定服务器与客户端的通讯使用一种私有的协议,可以使用一些可控连接技术提高通讯的稳定性,也可以使用SSL等加密技术提高通讯安全性。
这样,我们开发的互联网端应用程序时就不用考虑跨互联网通讯问题,而且还可以使用最原始的JDBC操作方式进行数据(注意:不是数据库)访问。
这对于降低程序开发难度,以及使用基于JDBC的一些ORM工具都会带来很好的效果,能预见性的不足就是效率严重依赖网速。
BUT,当前只是设想,至少我这边还没有实现...
分享到:
相关推荐
- 多台应用服务器中,只有一台报错,表明问题可能出在特定客户端或配置上。 - 错误出现具有随机性,重启服务器或IIS可暂时解决。 - 即使CPU负载不高,也可能发生此错误。 2. **问题分析** - 抓包分析显示,问题...
总的来说,基于JAVA CS的远程监控系统软件实现是一项涉及多方面技术的复杂工程,涵盖了网络通信、数据库操作、图形界面设计等多个领域。通过深入学习这个系统,不仅可以掌握Java编程技术,还能了解到远程监控系统的...
Socket代表一个网络连接,ServerSocket监听特定端口等待客户端连接。当客户端连接成功后,可以通过输入/输出流进行数据传输。此外,考虑到网络的不稳定性和数据的可靠性,通常会使用TCP协议,因为它提供面向连接的...
Java远程监控系统软件的实现是一个综合性的项目,它利用了Java技术栈的多个核心组件来构建一个能够跨网络监控远程设备或系统的应用。这个项目的主要目的是让学生或开发者了解如何在实际环境中运用Java进行分布式系统...
【标题】:“基于JAVA CS远程监控系统软件的实现”是一个典型的Java毕业设计项目,它涉及到的是使用Java技术构建一个客户端-服务器(Client-Server)架构的远程监控系统。这个项目的核心是利用Java语言的特性来实现...
该计算机项目专注于构建一个基于Java的客户端-服务器(CS)远程监控系统。这个系统旨在允许用户通过客户端应用程序实时监控和管理远程设备或网络资源。Java作为一种跨平台的编程语言,为这样的系统提供了理想的开发...
总之,这个毕业设计项目不仅展示了如何使用Java技术构建一个远程监控系统,还涵盖了软件开发的多个关键方面,如网络通信、并发处理、GUI设计和数据库操作等,对于希望从事Java开发或对远程监控系统感兴趣的学员来说...
在Java环境中,使用JDBC(Java Database Connectivity)接口连接Oracle数据库,实现了客户端与服务器端的通信。JavaBean作为Java类封装了属性和方法,可以作为组件来处理特定的业务逻辑。服务器端程序则主要负责处理...
【标题】"Java课程设计-医院远程预约管理系统.zip"揭示了这是一个使用Java编程语言进行的课程设计项目,目标是开发一个医院的远程预约管理系统。在Java领域,这可能涉及到核心的面向对象编程概念,如类、对象、继承...
"基于Java的远程视频会议系统毕业设计与实现"是一个针对毕业生的项目,旨在通过构建一个远程视频会议系统,展示学生对Java编程语言的理解和应用能力。这个项目不仅涵盖了软件开发的基本概念,还涉及到网络通信、...
jdts.jar是一个针对SQL Server的JDBC驱动,允许Java应用通过TCP/IP协议连接到SQL Server 2008。使用这个库,你可以执行SQL查询、插入、更新和删除数据。 3. **数据库连接**:在Android应用中,通过jdts.jar建立到...
标题中的“JSP网络远程作业处理系统”是一个基于JSP技术构建的系统,主要用于处理网络上的远程作业。这种系统在教育领域尤其是在线教学环境中非常常见,它能够方便教师发布作业,学生提交作业,并且实现自动化的评分...
《JSP网络远程作业处理系统》是一个基于Java的Web应用程序,主要使用了JSP(JavaServer Pages)技术来实现。这个系统旨在为教师提供一个平台,可以方便地发布、管理和批改学生的远程作业,同时也为学生提供提交作业...
该Java毕业设计项目是关于构建一个基于JAVA CS(Client/Server)架构的远程监控系统,旨在提供一套完整的源代码和相关论文,以帮助计算机专业的学生完成他们的毕业设计。这个系统的核心功能是允许用户通过客户端软件...
《JSP+SQL网络远程作业处理系统》是一个基于Web的教育管理应用,旨在提供一个方便、高效的平台,让学生和教师可以远程提交、管理和评估作业。这个系统的核心技术栈包括Java Server Pages (JSP) 和SQL数据库,两者...
《基于JSP的网络远程作业处理系统》是一个典型的Web应用项目,主要利用Java技术栈进行开发,涵盖了前端展示、后端逻辑处理以及数据库交互等多个环节。这个系统旨在为教师和学生提供一个便捷的在线作业提交、批阅和...
例如,一个职位可能对应多个求职者的申请,而一个求职者可以申请多个职位。 五、DAO(Data Access Object)设计模式 DAO模式是访问数据库的标准方法,它为每个数据库操作提供一个接口,使得业务逻辑层可以与具体的...
从文件名"定时同步系统"推测,该系统可能包含一个定时任务调度组件,如Quartz或Spring Scheduler,用于定期执行数据同步任务。 综上所述,Java数据实时同步系统通过高效的同步策略、可靠的框架和全面的错误处理...
【标题】:“jsp基于Web的可维护的数据库浏览器”是一个项目,主要利用JavaServer Pages (JSP) 技术开发了一款在线的、方便维护的数据库浏览应用。这个项目不仅包含了源代码,还提供了相关的学术论文和答辩PPT,因此...
这是一个典型的计算机科学与技术专业学生在毕业设计阶段可能会遇到的项目,它综合了编程语言、数据库管理和软件工程等多个领域的知识。 1. **JAVA语言**:JAVA是一种广泛使用的面向对象的编程语言,以其“一次编写...