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开发技术教程源码 张娜主编 供同学们参考使用。
由于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 开发工具.pdfJava web开发技术教程课件—Java Web 开发工具.pdfJava web开发技术教程课件—Java Web 开发工具.pdfJava web开发技术教程课件—Java Web 开发工具.pdfJava web开发...
由于Java Web开发技术大全pdf文件太大120多M,上传资源要求在20M以内,所以大家必须要把Java Web开发技术大全.z01,Java Web开发技术大全.z02,Java Web开发技术大全.z03,Java Web开发技术大全.z04,Java Web开发...
Web开发技术 第1章 Web开发技术概述.ppt
主要内容包括:Tomcat和Java Web开发的基础知识、Java Web开发的高级技术、在Java Web应用中运用第三方提供的实用软件(如Struts、Velocity和Log4J)的方法,以及Tomcat的各种高级功能。 书中内容注重理论与实践相...
由于Java Web开发技术大全pdf文件太大120多M,上传资源要求在20M以内,所以大家必须要把Java Web开发技术大全.z01,Java Web开发技术大全.z02,Java Web开发技术大全.z03,Java Web开发技术大全.z04,Java Web开发...
《精通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开发技术大全光盘文件,由于上传权限只有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开发的宝贵资源,也是专业人士提升技能的...
MS_WEB开发框架技术1简介,MS_WEB开发框架技术2MVC应用,MS_WEB开发框架技术3Ajax,MS_WEB开发框架技术4JQuery,MS_WEB开发框架技术5Web服务,MS_WEB开发框架技术6数据绑定,MS_WEB开发框架技术8LINQ概况,MS_WEB...