Java语言是Java Web开发的基础。Servlet和JSP技术都是Java代码实现的;后台的JavaBean组件,以及EJB组件都是用Java语言开发的。Java以其面向对象、跨平台、支持多线程和分布式等特点在Web应用程序开发、网络编程、手机游戏等各个方面都得到了广泛的应用。
1. 在B/S架构的Web开发模式中,客户端就是简单的浏览器程序,可以通过HTTP协议访问服务器端的应用。在服务器端,与通信相关的处理都是由服务器软件负责。这些服务器软件都是有第三方的软件厂商提供,开发人员只需要把功能代码部署在Web服务器中,客户端就可以通过浏览器访问到这些功能代码,从而实现向客户提供的服务。在C/S和B/S两种架构之间,并没有严格的界限,两种架构之间没有好坏之分,使用这两种架构都可以实现系统的功能。开发人员可以根据实际的需要进行选择,例如需要丰富的用户体验,那就选择C/S架构,例如在目前的网络游戏中,基本都是选择C/S架构;如果更偏重的是功能服务方面的实现,就需要选择B/S架构,这也正是目前绝大部分管理应用系统采用的软件架构方法。
简单介绍B/S结构中常用的服务器
1)IIS是微软提供的一种Web服务器,提供对ASP语言的良好支持,通过插件的安装,也可以提供对PHP语言的支持。
2)Apache服务器是由Apache基金组织提供的一种Web服务器,其特长是处理静态页面,对于静态页面的处理效率非常高。
3)Tomcat也是Apache基金组织提供的一种Web服务器,提供对JSP和Servlet的支持,通过插件的安转,同样可以提供对PHP语言的支持,但是Tomcat只是一个轻量级的Java Web容器,像EJB这样的服务器在Tomcat中是不能运行的。
4)JBoss是一个开源的重量级的Java Web服务器,在JBoss中,提供对J2EE各种规范的良好支持,而且JBoss通过了Sun公司的J2EE认证,是Sun公司认可的J2EE容器。
5)另外J2EE的服务器还有BEA的Weblogic和IBM的WebSphere等,这些产品的性能都是非常优秀的,可以提供对J2EE的良好支持。用户可以根据自己的需要选择合适的服务器产品。
2. Java Web开发的核心组件是JSP(Java Server Pages)和Servlet。此外开发一个完整的Java Web应用程序还涉及到其他的组件:JavaBean、EJB、XML、Web服务器和应用服务器。
1)Servlet运行在Web容器中,如Tomcat容器。它可以被Web容器动态加载,接收浏览器请求,调用其他组件处理请求,然后把处理结果返回。
当浏览器访问某个Servlet时,Web容器将会创建一个ServletRequest对象和ServletResponse对象,并且把用户的请求信息封装在ServletRequest对象中。然后把这两个对象作为参数传输给Servlet特定的方法中。在该方法中处理请求,把处理结果封装在ServletResponse对象中,返回给Web容器。最后Web容器把结果返回到浏览器去解析、显示。
2)JSP是一种动态网页技术。从文件内容上讲,把传统的HTML页面中加入Java脚本,以及以下JSP标签就构成了JSP文件。当浏览器请求某个JSP页面时,Tomcat容器会把JSP页面翻译为Java文件。然后将它编译为class文件,接着执行它,把生成的HTML页面返回到客户端显示。其原理下图所示。
可以看出,JSP从本质上说就是一个Servlet,只不过是创建方式不同而已。
3)JavaBean组件是一种符合特定规范的Java对象。在JavaBean中定义了一系列属性,并且每个属性提供了访问(getter)和设置(setter)这些属性的方法。这样就可以使用该组件存储一些中间数据,例如ServletRequest中的请求信息、从数据库中查询出来的信息等。
4)Enterprise Java Bean(EJB)组件是服务器端的Java组件。该组件基于标准分布式对象技术、CORBA和RMI等技术,用于实现企业级应用的业务逻辑。EJB组件和JavaBean的区别是:JavaBean组件可以和JSP和Servlet运行于同一个主机,即Web服务器中;而EJB组件必须运行于EJB服务器中(也称为应用程序服务器)。
5)XML(Extensible Markup Language)是一种用来创建自定义标记的标记语言。该语言在Web应用的配置中得到了广泛的应用。许多配置文件,例如web.xml、struts.xml都是采用这种语句进行配置的。
6)Web服务器用来处理HTTP请求,并返回HTTP数据。它主要用来和浏览器交互,给用户提供服务。应用程序服务器可以被Web服务器去调用,进行业务逻辑的处理工作。例如EJB服务器,它返回的数据被Web服务器组织为HTML格式,然后返回到浏览器去解析。
3. 在互联网发展的最初阶段,所有的网页内容都是静态的HTML网页,在这种情况下,网站所能实现的任务仅仅是静态的信息展示,而不能与客户产生互动,当然这样的网站是不能满足用户不同的需要。为了满足用户的需要,就有了后来一系列的动态页面语言的出现。 所谓的动态页面是指可以和用户产生交互,能根据用户的输入信息产生对应的响应,能满足这种需求的语言就可以称之为动态语言。
目前常用的动态网页技术有ASP、JSP、PHP等,下面分别介绍这几种动态语言:
(1)ASP 本质是脚本语言,由微软提供,只能在windows中运行;
(2)JSP Sun公司开发的服务器端脚本语言,本质将Java代码嵌套在HTML中;
(3)PHP 开源产品,缺乏支持;语法独特,混合了C、Java等多种语法的优点,可以在IIS和Apache中运行。