请问下开发java  C/S结构的系统要用到哪些主要技术啊?  说的越多越好啊!要原创啊!只要满意,马上结帖!

解决方案 »

  1.   

    网络、IO和多线程建议阅读《Java2网络协议内幕》一书,可以Google搜索
      

  2.   

    Socket, IO, Multi-thread, JDBC/SQL, UML&Design Pattern for Java
      

  3.   

    狭义的C/S专指再Application Server概念出现之前的客户端+服务器(比如数据库服务器),当然也可以说客户端程序+一个服务程序。现在出现了Application Server。C/S的概念不知道是否包括这个多层架构了。如果是要做这样的程序,那么从技术角度,肯定要熟悉一套UI,比如最新的Flex架构,它可以通过通用的协议来同任何一种语言通信。或者就是用Java的UI,可以选择AWT+SWING也可以选择SWT+JFACE,从客户端平台框架的角度看,可以选择ECLIPSE RCP(based on SWT and JFace)和Spring RCP(Based on AWT and Swing),现在还有Netbean RCP...如果应用服务器段选择Session Bean 作为入口,那么除了Session Bean知识以外还需要JNDI以及RMI的一点知识,如果仅限于停留在简单适用的情况下。如果要做一个比较良好的产品,俗话说,商业质量的软件,那需要学习J2EE核心模式,由于JPA在EJB3.0中出现,过去的有些J2EE核心模式可能有些过时,比如“复合实体”,但是J2EE核心模式的知识是设计EJB的基础。原书的前言最后一句话:如果没有本书,就别开发EJB.其实也很简单。多线程肯定很重要了,线程锁、条件对象、阻塞队列,线程池等等会客户端服务器端在提交模式上会有很大帮助。毕竟要设计产品的话,不是那么简单的。涉及到数据库的应用,免不了要SQL以及对相应数据库的深入了解。虽然业务层希望做跨平台的应用组件,但是在系统性能优化方面,会有很大帮助与支持。不是很底层的话,比如不是开发QQ这种IM软件的话,那么对网络的内幕要求的不必很多,否则,那也是必需的。从设计的角度讲,无论是客户端还是服务企业务组件,良好的组件的通用性,程序的重用性,系统的扩展性对于业务组件来说更加重要,那么对UML这样的设计层面的东西是必不可少了。而UI除此以外更注重与用户的交互,丰富的UI经验与耐心是UI程序必备的。J2SE 这种核心Java技术就不用说了。其他的参考大家的吧!忙了!