发布新日志

  • Apache Http Server和Tomcat 之区别

    2012-03-06 17:18:38

    Apache官方网站:http://www.apache.org/ 
    Tomcat官方网站:http://tomcat.apache.org/

    1. Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。

    2. Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,serverlet)。

    3. Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)

    4. 两者都是一种容器,只不过发布的东西不同:Apache是html容器,功能像IIS一样;Tomcat是jsp/servlet容器,用于发布jsp及java的,类似的有IBM的webshere、EBA的Weblogic,sun的JRun等等。

    5. Apache和Tomcat是独立的,在通一台服务器上可以集成。

    打个比方:Apache是一辆卡车,上面可以装一些东西如html等。但是不能装水,要装水必须要有容器(桶),Tomcat就是一个桶(装像Java这样的水),而这个桶也可以不放在卡车上。

    Apache只支持静态网页,但像asp,php,cgi,jsp等动态网页就需要Tomcat来处理。

    Apache和Tomcat整合使用:如果客户端请求的是静态页面,则只需要Apache服务器响应请求;如果客户端请求动态页面,则是Tomcat服务器响应请求;因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销 。

    Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。

    Apache 源于 NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简 单、速度快、性能稳定,并可做代理服务器来使用。Apache对Linux的支持相当完美。

    Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消 耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左 右。世界上很多著名的网站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、 Windows、Linux系统平台上)以及它的可移植性等方面。

    Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。

    Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat Server是根据servlet和JSP规范进行执行的,因此我们就可以说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。

    Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的自由软件。Tomcat是完全重写的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代码,特别是Apache服务适配器。随着Catalina Servlet引擎的出现,Tomcat第四版号的性能得到提升,使得它成为一个值得考虑的Servlet/JSP容器,因此目前许多WEB服务器都是采 用Tomcat。

    **JSP=Java Server Pages (Java服务器网页) 
    **ASP=Active Server Pages (活动服务器网页) 
    **CGI=Common Gateway Interface (通用网关接口) 
    **J2EE=Java 2 Platform, Enterprise Edition (Java2平台,企业版) 
    **XML=eXtensible Markup Language (扩展标记语言) 
    **IIS=Internet Information Server (互联网信息服务器)

    ----------------- 
    关于IIS: 
    IIS是Windows系统提供的一种服务,它包括WWW服务器、FTP服务器和SMTP服务器。 
    在UNIX 或Linux平台上,Apache就是网站服务器。而对于Windows NT/2000来说,IIS就是标准的网站服务器。IIS是一种服务,是Windows 2000 Server系列的一个组件。不同于一般的应用程序,它就像驱动程序一样是操作系统的一部分,具有在系统启动时被同时启动的服务功能。

  • GET与POST方法的区别

    2012-03-06 15:48:21

    一直没有仔细的研究到底GET方法和POST方法之间有什么区别,直到今天做一个文件上传的表单。文件上传的表单必须使用post方法提交,为什么必须这样?Get方法为什么不行?

              带着这样的问题我查了一下《计算机网络》这本书对POST和GET方法在HTTP协议中的简单解释:HTTP协议定义了通信的两种报文:请求报文和响应报文。对于请求报文来说,它的通用格式包含三个主要部分:请求行、首部行、实体主体。通常请求行的格式为:方法字段 、 URL字段、 HTTP协议版本字段,其中方法字段就包括GET、POST方法等。

    当方法字段是GET方法时内容主体为空,而是用POST方法时才使用实体主体。

         HTTP客户机通常在用户提交表单时使用POST方法,这时,实体主体中所包含的就是用户在表单中的输入值。当然,GET方法也可以提交表单中的数据,它是通过将用户在表单中的输入值传送到正确的URL来实现的。这就是我们通常所看到的http://ei.hust.edu.cn?username="libis"&age=12

    可以看出,在表单提交的方式上两者存在很大的不同:
    Post方法将表单数据填充到HTTP请求报文中的实体主体部分,使用者是看不到的。而GET方法则是将表单数据直接传送到请求行的URL字段来实现表单数据提交的。这也就决定了使用POST是相对比较安全的,而是用GET方法的安全性就很低。

    除此之外,GET方法和POST方法另一个重要的区别是:
    GET方法传送的数据量较小,一般只有2k。而POST方法传送的数据量较大,理论上没有上限。


     
    最近读者:
  • C#中引用VC dll方法

    2009-11-30 15:07:28

    1.       直接引用VC DLLc#中是不行的,vc dll  是非托管的,不能直接引用

    通过C#中的DllImport直接调用vc dll

    http://www.cnblogs.com/xumingming/archive/2008/10/10/1308248.html

    2.    在用DllImport时类型转换特别麻烦

    微软也意识到这个比较头痛,于是出了个小工具P/Invoke Interop Assistant,可以自动转换

    http://blog.csdn.net/Donjuan/archive/2009/02/05/3865026.aspx

     

    http://www.cnblogs.com/emanlee/archive/2008/10/16/1312984.html

     

  • 测试种类

    2009-06-23 14:28:22

    回归测试:是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试包括两部分:函数本身的测试、其他代码的测试(版本更新时一般用到回归测试)
     
    单元测试:是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。(一个模块一个模块的测试)

    集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。(把模块一个个串起来测试)

    系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。
     
    5.集成测试通常都有那些策略?
    1、在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
    2、各个子功能组合起来,能否达到预期要求的父功能;
    3、一个模块的功能是否会对另一个模块的功能产生不利的影响;
    4、全局数据结构是否有问题;
    5、单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。
     
    7.一个缺陷测试报告的组成
    缺陷的标题,缺陷的基本信息,复现缺陷的操作步骤,缺陷的实际结果描述,期望的正确结果描述,注释文字和截取的缺陷图象。
     
    软件本地化测试比功能测试都有哪些方面需要注意?
    软件本地化测试的目的:
    软件本地化测试的测试策略:1.本地化软件要在各种本地化操作系统上安装并测试。2.源语言软件安装在另一台相同源语言操作系统上,作为对比测试。3.重点测试因本地化引起的软件的功能和软件界面的错误。4.测试本地化软件的翻译质量。5.手工测试和自动测试相结合。
Open Toolbar