Web开创了互联网技术新的篇章,我们使用浏览器软件就可以看到绚丽多彩的页面,使用到功能丰富的网络应用。Web开发技术从最初的静态页面显示单独页面到百家争鸣的动态技术,让时时交互成为可能。而现代Web开发技术正是针对这个交互进行的。
用户使用浏览器访问网络,网络端的服务器接收用户发送的请求并处理,最终给出响应结果返回到客户端来显示。这就是B/S模式下的请求-响应处理过程。最初的Web服务器接收HTML页面请求,并返回这个HTML页面到客户端显示,而现在用户请求JSP/ASP/PHP页面来获取动态生成的内容。好处是显而易见的,原先可能10000个页面只能存储10000条内容,而动态技术可以使得1个页面就处理上亿的内容。
我们访问Web网站,使用的是HTTP协议,这就是网址最前端的部分,它规定了我们使用的网络协议规范。什么是网络协议?网络是如何运转的?那要说的就更多了,但原理也很简单,我们参考一下介绍计算机网络的相关书籍就可以了。HTTP协议是TCP/IP体系中应用层的协议,响应在服务器端也由应用层程序来解析 。RFC 2616定义了HTTP 1.1的规范,这是所有Web开发技术应该遵循的最终规范。HTTP协议是一个无状态的,以文本格式内容的协议,如何能和程序开发语言进行互动?
以Java为背景,我们来说,是SUN公司制定了作用于HTTP协议之上的Servlet标准,它将HTTP请求报文解析成供开发使用的各种对象类型供程序员开发使用。我们都知道的,Java程序分为两大类:应用程序和Java小程序。应用程序由main函数开始执行,而小程序则是嵌入另外的媒介来运行的。Servlet就是运行在服务器端的小程序。
使用Servlet的人都知道,Servlet API提供的都是各种接口,比如HttpServlet,HttpServletRequest等。接口定义的是规范,也就是我们开发使用的最基本的方法。那么在Servlet中我们使用的HttpServletRequest和HttpServletResponse都是接口类型,那么这些接口的实现都是怎么进行的?这就要说到了Web容器,可以运行Servlet程序的Web容器都已经实现了Servlet规范,比如Tomcat。而SUN只是指定规范而非实现者,这些实现都是第三方来进行的,所以我们使用的Servlet规范中的各种对象,其实是由Tomcat在运行时为我们填充的。
为什么称Tomcat为Web容器,下面我们来了解一下服务器。服务器运行在网络上是可以接受来自客户端的各种请求,前提是它们监听开放的服务端口,这些服务也是以RFC为标准进行的。如果不遵循RFC,那么我们的程序也只有自己能用了,因为RFC是工业的标准。服务器也是独立的计算机,只是监听了服务请求端口,再特定请求到达时可以进行处理。 这个和服务器使用何种操作系统没有必然联系,因为运行IIS的服务器使用Windows,其他服务器可以使用 Linux等,这都不是固定的。为服务器安装操作系统之后,还需要继续安装可以运行特定程序的组件。根据服务的组件不同,可以分为Web服务器,FTP服务器和数据库服务器等,当然这些服务可以运行在一台计算机上。
比如运行Servlet,就需要Servlet容器,因为Servlet也是Java小程序,需要一个运行的媒介,这就是Servlet容器。 Servlet容器需要安装在Web服务器上,Servlet容器只能运行Servlet,而不能运行EJB,EJB需要的是EJB容器。这就解释了为什么Tomcat不能运行EJB程序,因为它就是简单的Servlet容器。
说到这里,需要引入J2EE了,J2EE是什么?是规范!是SUN为Java的企业级平台制定的规范和标准 。J2EE规范可以去Java的官网查询,常用的包括Servlet,JSP,JDBC,EJB,XML等。可以运行EJB的容器称为EJB容器,比如JBOSS等。而实现了所有J2EE规范的服务器组件就是J2EE服务器,也就是我们常说的Weblogic等。那么Apache HTTP Server是什么?它是Web服务器,没有配置的Apache不知道Servlet,也就不能运行Servlet。
现在我们应该很清楚Servlet是Java在服务器程序的最基本的规范了,怎么使用Servlet来编写程序,这里我们不讨论。那么JSP又是什么?JSP是Servlet的另外一种表现形式,编译后的JSP是class文件,是servlet,servlet容器运行的是class文件而不是 jsp文件。
能够使用Servlet就能编写Java Web应用程序了,随着应用规模的扩大和业务的复杂,显然纯Servlet在复杂开发中显得非常麻烦。Web开发框架就诞生了,Struts/WebWork就是J2EE的Web开发框架,这些框架是Servlet的高层封装物,为开发提供了更加便利的方法,对象包装和简化的配置。不需要写很多代码了,程序也能轻松编写。如果拿盖房子来比喻。Servlet就是地基,框架就是钢筋水泥,而我们所做的就是对房子进行的装修。作品就是这么诞生的 。
所谓基础不牢,地动山摇。这里不得不提一下当前Java开发中的一些浮躁现象。很多人过分注重的是如何装修房子而不是怎么来盖房子,更不用提打地基了,可能就直接略过这一步了。而JQuery,JFreeChart这些装修只是一个锦上添花的过程。
刚才说到了Struts和WebWork,那么Spring和Hibernate又是干什么的呢?它们都是J2EE框架中的佼佼者,只是各自的本领不同。既然是框架,那么就是钢筋水泥了。可这些钢筋水泥对房子的户型设计起了关键作用。良好的户型设计,住着也舒服,不是么?
下面来说说数据库吧,房子盖好了,要提供水电,暖气和网络。这好比数据输入和输出,它们靠外部的服务来提供,这就是数据库了,程序员不会数据库是非常可怕的,那就好比是房子盖好了基础设施跟不上,是个空架子。CRUD这些最基本的操作非常熟练之后,那么房子的后勤保障才跟得上。
废话了这么多,来总结一下:Java好比盖房子。Java基础决定了你是不是会从事这项工作;我们这里不讨论J2ME,只拿J2EE来说明。那么 Servlet这个最基本的规范决定了你盖房子地基的质量。开发框架的搭配使用,决定了你设计的户型是什么。如果只是在设计好的户型内搞装修,那么你只需了解SSH/S2SH也就可以了。
现在可以盖房子了,但是要盖出什么样的房子?平房,楼房还是别墅?要不要越层设计?这就是我们接到项目的具体业务了。
作为Java开发人员,那么整个盖房子的流程就都得会,我们没有现成的样板(比如.NET开发)。但是我们只要有过硬的本领,工具和一颗火热的心就足够了。
个人的一点心得体会。可能有所跑偏。
分享到:
相关推荐
由于Java Web开发技术大全pdf文件太大120多M,上传资源要求在20M以内,所以大家必须要把Java Web开发技术大全.z01,Java Web开发技术大全.z02,Java Web开发技术大全.z03,Java Web开发技术大全.z04,Java Web开发...
### Tomcat与Java Web开发技术详解 #### 一、Tomcat简介 Tomcat是一款开源的Servlet容器,由Apache软件基金会下属的Jakarta项目开发。它实现了对Servlet和JavaServer Pages (JSP)的支持,可以作为独立的应用服务器...
《Tomcat与Java Web开发技术详解》语言深入浅出、通俗易懂,无论对于Java Web开发的新手还是行家来说,《Tomcat与Java Web开发技术详解》都是精通Tomcat和开发Java Web应用的必备的实用手册。《Tomcat与Java Web开发...
由于Java Web开发技术大全pdf文件太大120多M,上传资源要求在20M以内,所以大家必须要把Java Web开发技术大全.z01,Java Web开发技术大全.z02,Java Web开发技术大全.z03,Java Web开发技术大全.z04,Java Web开发...
由于Java Web开发技术大全pdf文件太大120多M,上传资源要求在20M以内,所以大家必须要把Java Web开发技术大全.z01,Java Web开发技术大全.z02,Java Web开发技术大全.z03,Java Web开发技术大全.z04,Java Web开发...
由于Java Web开发技术大全pdf文件太大120多M,上传资源要求在20M以内,所以大家必须要把Java Web开发技术大全.z01,Java Web开发技术大全.z02,Java Web开发技术大全.z03,Java Web开发技术大全.z04,Java Web开发...
《Tomcat与Java Web开发技术详解(第2版)》结合最新的Tomcat 6版本,详细介绍了开发Java Web应用的各种技术。主要内容包括:Tomcat和Java Web开发的基础知识、Java Web开发的高级技术、在Java Web应用中运用第三方...
JAVA web开发技术教程源码 张娜主编 供同学们参考使用。
Java web开发技术教程课件—Java Web 开发工具.pdfJava web开发技术教程课件—Java Web 开发工具.pdfJava web开发技术教程课件—Java Web 开发工具.pdfJava web开发技术教程课件—Java Web 开发工具.pdfJava web开发...
Web开发技术 第1章 Web开发技术概述.ppt
主要内容包括:Tomcat和Java Web开发的基础知识、Java Web开发的高级技术、在Java Web应用中运用第三方提供的实用软件(如Struts、Velocity和Log4J)的方法,以及Tomcat的各种高级功能。 书中内容注重理论与实践相...
《精通jsp-web开发技术与典型应用》是一本深入讲解JavaServer Pages (JSP) 技术及其在Web开发中的实际运用的书籍。作者张新曼以其丰富的教学和实践经验,为读者构建了一套全面且实用的学习路径,旨在帮助学生和...
Web开发技术是互联网应用的核心技术之一,它涉及到互联网上各种应用程序和服务的构建。Web技术的基础包括多个方面,从网络技术到数据库技术,再到面向对象技术、图形图像处理、多媒体技术、网络和信息安全等。 在...
本书详细介绍了在最新Tomcat 5版本上开发Java Web应用的各种技术。主要内容包括:Tomcat和Java Web开发的基础知识,Java Web开发的高级技术,Tomcat与当前其他通用软件的集成,以及Tomcat的各种高级功能。
"web开发之技术简介"这个主题涵盖了web开发的基础概念,是初学者了解这个领域的理想起点。 首先,我们要理解什么是Web。Web,即全球信息网(World Wide Web),是由一系列协议、标准和技术构成的全球性的信息网络。...
《Java Web开发技术大全》是一本全面覆盖Java Web开发核心概念和技术的综合指南。这本书旨在帮助读者深入理解和实践Java在Web应用开发中的各种应用。它包含了大量的实例代码,读者可以直接导入到开发环境中运行,...
Java Web开发技术大全光盘文件,由于上传权限只有20M所以打成了5个rar包(java web 开发技术大全光盘文件(part01)、java web 开发技术大全光盘文件(part02)、java web 开发技术大全光盘文件(part03)、java web 开发...
总的来说,《Web应用开发技术》PPT是一个涵盖Web应用开发基础的全面教程,适合初学者逐步学习C#和相关Web开发技术。通过学习,读者不仅可以掌握基本的编程语法,还能了解到Web应用的整体架构和开发流程,为进一步...
Tomcat与Java Web开发技术详解(孙卫琴、李洪成 著)
《Web开发技术》是林宏基教授的一门课程,涵盖了Web开发的核心概念和技术,主要针对ASP、ASP.NET和JSP这三大主流Web开发框架进行深入讲解。这些PPT课件不仅是学习者理解Web开发的宝贵资源,也是专业人士提升技能的...