我才学java一月多一点,现在想做个东西,是这样子的,我有个数据库服务器,客户端用http协议来访问这个服务器,服务器根据用户提供的数据来查找数据并且用xml文件(也是在http协议之上)返回给客户端,我以前用c写过一个很简单的web服务器,这里我用java去实现,按照以前c的思想,我想就设计好几个模块就行了,再考虑用一个线程池技术(因为同一时刻可能访问的人特别多),但是到网上一查,有很多框架,我都蒙了,不知道这些框架到底是干什么用的。我估计这些框架的效率要比我自己写的高效很多!所以希望大家帮我看看,这个想法应该用什么框架呢?具体的一套技术实现细节是怎样的呢?我是那种遇到问题再去学习的人,并且java才学不久,希望大家能够指条明路,小弟好正确地走下去!

解决方案 »

  1.   

    根据客户端不同分两种情况:
    1、客户端是通过页面提交查询条件:
    struts2
    2、客户端也是一个应用系统,你的服务只是一个纯webservice
    首先给你推荐个轻量级的:XML-RPC,网上有很多基于此的框架,应该很适合于你。
    要复杂点的基于服务的调用,则xfire或Axis2,推荐Axis2,要新一些。
      

  2.   

    我的客户端是手机终端,现在只想知道webservice服务器端应该采用什么框架去实现?
      

  3.   

    建立在 REST 之上的 Java EE 规范之 JAX-RS 的参考实现 Jerseyhttp://jersey.java.net/
      

  4.   

    我也不知道该用哪些现有的东西,感觉自己写一个http服务器还算是比较简单的,所有我前一段时间就自己写了另一个http服务器,用socket接收请求,用线程池处理请求,mysql数据库那段用C3P0连接池管理,不知道最后写出来性能会怎么样,这几天在弄JAVA的SAX解析,估计这块弄出来之后,我的http服务器估计就可以工作了。所以看,我还想请假大家几个问题,
    1按照我上面做的http服务器性能有什么缺陷?
    2用JAVA怎样变成才能提高服务器的性能?
    谢谢大家啦!!!!
      

  5.   

    1按照我上面做的http服务器性能有什么缺陷?
    你说的应该是web容器吧。如果是的话直接用tomcat,不要考虑自己写。不是说你没那个实力,而是tomcat被证明了很多年,就像你的服务器用window、linux,而不是自己开发一个操作系统2用JAVA怎样变成才能提高服务器的性能?
    性能的优化是多方面的,如果你还没有高并发的经验,不需要一上来就考虑那么多,先用常规手段,比如静态分离、缓存、静态化、集群,然后还有性能问题增加服务器数量。如果这些都无法满足的话,证明你的资金已经非常丰富了,那时候随便扔个几十万,一堆一堆人帮你解决问题。
      

  6.   

        首先要感谢大家的回帖,让我明白很多知识。6楼ivan_070可能说到我想要的东西了,我的情况是这样,我们需要手机客户端和服务器进行通信,刚开始我和我的同学设计了一套tcp和udp协议,后来发现不如直接用http+xml方便,也便于扩展,把所有的请求信息放到xml当中,服务器分析xml。服务器那边可能就需要多线程的http响应,如果要是用c的话,没的说,肯定是用socket,但是java有好多现有的代码,所以就问了这个问题!
        由于自己是java新手,所以对很多框架啊,容器啊不明白,上网查了之后也是一塌糊涂,可能开发我说的那个功能就是需要使用web容器吧+http服务器去开发吧,可能就是因为我不明白容器的作用,是不是外边公司做客户端和服务器的通信(采用http+xml方式)都用的是web容器+http服务器的方式去开发的嘛?
    我决定先用socket去弄,然后回来再学习web容器的知识,到时候把自己的程序改一改,应该很容易吧!