Java Web服务器开发概述 一
2012-03-10 12:04
197 查看
Java Web 是用Java技术来解决相关Web互联网领域的技术总和.
包括Web服务器和Web客户端两部分。
这里只简单阐述了一些Web服务器开发的最基本的概念。
因为HTTP协议服务器实现较为复杂,所以并不是说每个网站都要有一个完全独立开发的服务器,相反,通常情况是利用已经实现的服务器端软件,而这些软件为我们留出了扩展接口,我们只需按一定规则提供相应功能就可以。所以具体说Web服务器的处理响应过程就是:服务器接收到客户请求后,判断请求是访问我们提供扩展功能,如果是,就交由我们编写的程序处理,处理完成后,程序处理结果返回给Web服务器软件,Web服务器软件拿到结果信息后,再将结果作为响应信息返回给客户端。
Java Servlet就是Java给我们提供的编写扩展功能的技术。运行在服务器端,由Servlet容器管理。编写一个Servlet,实际上就是按Servlet规范写一个Java类。
注:Java Servlet和Java Applet一样,都不是由程序员直接调用的,而是生在在容器中,由容器管理(所以没有main()方法),但Applet运行在浏览器中,Servlet运行在Servlet容器中。且...Applet已经好像已经快挂掉了.
要知道,大多数的Web服务器并非基于Java,当我们使用基于Java技术的Web服务器时,Servlet容器作为构成web服务器的一部分存在,这个时候就是独立的servlet容器。当在不是基于java的服务器中,Servlet容器就是另两种工作模式。
Tomcat就是一个包含独立的Servlet容器基于java的web服务器
Tomcat 服务器接收客户请求并作出响应的过程图
1、客户端访问Web服务器,发送HTTP请求
2、Web服务器接收到请求后,传递给Servlet容器
3、Servlet容器加载Servlet实例,向其传递表示请求和响应的对象
4、Servlet实例使用请求对象得到客户端的请求信息,然后处理
5、Servlet实例将处理结果通过响应对象发送回客户端,容器负责确保响应正确送出,同时将控制权返回给Web服务器
小结一下:也就是说,一个Web应用程序是由一组Servlet、HTML页面、类、以及其他资源组成的运行在Web服务器上的完整的应用程序。
那么,我们在来看看两个关于Web应用程序你不得不知道的事。
以下是Web服务器的两种重要机制
1、会话:服务器应当能够标识出单个客户一系列请求,并把这些请求组成一个单独工作的会话。
2、状态:服务器应当能记住前面请求的信息,以及对前面请求作出的处理信息
Java Servlet API使用Session来跟踪会话和管理状态!
过程是这样的:当客户第一次连接服务器时,服务器为其建立一个Session,并分配给客户一个SessionID,以后客户每次提交请求,都要将SessionID一起提交。服务器根据标识找出特定Session,用这个Session记录客户的状态!
Servlet提供三种机制用于会话跟踪:
1、SSL(Secure Socket layor)会话:运行在TCP/IP之上像HTTP这种应用层协议之下的加密技术
2、Cookies:服务器发送给客户的片段信息,存储在客户端浏览器的内存中或硬盘上
3、URL重写:就是URL中嵌入SessionID,客户端请求再发回来
JSP可以看成运行时的Servlet,它们的区别:
1、Servlet是JAVA对CGI的回应。它们在服务器上执行和解释浏览器的请求,承担客户端和其他应用程序之间的中间层的角色。Servlet主要是把动态的内容混到静态的内容中以产生HTML。
2、JSP页面在HTML元素中嵌入Java脚本和JSP标记,格式更加清晰,另一方面,JSP把静态和动态内容分离,实现了内容和表示的分离。
3、使用JSP,不需要单独配置每一个文件,只要扩展名是.jsp,JSP容器(也就是Servlet容器)就自动识别,将其转换为Servlet为客户端服务。
另外,有个叫JavaBean的东西要说说。因为JSP页面混合了HTML代码和Java代码,页面显示逻辑和业务逻辑混杂在一起,不仅可读性差,也难维护。所以,一个很自然的想法就是单独写一个类来封装页面的业务逻辑,这个类就是JavaBean。
如图,JSP页面独自响应请求并将处理结果返回,所有的数据通过JavaBean处理。
Servlet充当控制器,它接受请求,并且根据请求信息将它们分发给适当的JSP页面来产生响应。Servlet还根据JSP视图需求生成JavaBean实例并输出给JSP环境。
包括Web服务器和Web客户端两部分。
这里只简单阐述了一些Web服务器开发的最基本的概念。
一、从Java Servlet说起。
我们知道访问网页的过程就是:客户端Browser通过HTTP协议和Web服务器交互的过程。因为HTTP协议服务器实现较为复杂,所以并不是说每个网站都要有一个完全独立开发的服务器,相反,通常情况是利用已经实现的服务器端软件,而这些软件为我们留出了扩展接口,我们只需按一定规则提供相应功能就可以。所以具体说Web服务器的处理响应过程就是:服务器接收到客户请求后,判断请求是访问我们提供扩展功能,如果是,就交由我们编写的程序处理,处理完成后,程序处理结果返回给Web服务器软件,Web服务器软件拿到结果信息后,再将结果作为响应信息返回给客户端。
Java Servlet就是Java给我们提供的编写扩展功能的技术。运行在服务器端,由Servlet容器管理。编写一个Servlet,实际上就是按Servlet规范写一个Java类。
注:Java Servlet和Java Applet一样,都不是由程序员直接调用的,而是生在在容器中,由容器管理(所以没有main()方法),但Applet运行在浏览器中,Servlet运行在Servlet容器中。且...Applet已经好像已经快挂掉了.
二、Servlet容器
Servlet容器(也叫servlet引擎)是web服务器或程序服务器的一部分,用于在发送的请求和响应之上提供网络服务。根据他的工作模式不同,分为独立的servlet容器,进程内的servlet容器,进程外的servlet容器。要知道,大多数的Web服务器并非基于Java,当我们使用基于Java技术的Web服务器时,Servlet容器作为构成web服务器的一部分存在,这个时候就是独立的servlet容器。当在不是基于java的服务器中,Servlet容器就是另两种工作模式。
Tomcat就是一个包含独立的Servlet容器基于java的web服务器
Tomcat 服务器接收客户请求并作出响应的过程图
1、客户端访问Web服务器,发送HTTP请求
2、Web服务器接收到请求后,传递给Servlet容器
3、Servlet容器加载Servlet实例,向其传递表示请求和响应的对象
4、Servlet实例使用请求对象得到客户端的请求信息,然后处理
5、Servlet实例将处理结果通过响应对象发送回客户端,容器负责确保响应正确送出,同时将控制权返回给Web服务器
小结一下:也就是说,一个Web应用程序是由一组Servlet、HTML页面、类、以及其他资源组成的运行在Web服务器上的完整的应用程序。
那么,我们在来看看两个关于Web应用程序你不得不知道的事。
三、会话跟踪
HTTP协议本身是基于请求/响应模式的,无状态的协议,也就是说,客户端请求到来,服务器响应后,连接就关闭了。可是用户的活动在多个请求和响应之中,所以作为Web服务器来说,必须能够采用一种机制,来唯一的标识一个用户,同时记录该用户的状态,这是一个Web应用典型的需求。以下是Web服务器的两种重要机制
1、会话:服务器应当能够标识出单个客户一系列请求,并把这些请求组成一个单独工作的会话。
2、状态:服务器应当能记住前面请求的信息,以及对前面请求作出的处理信息
Java Servlet API使用Session来跟踪会话和管理状态!
过程是这样的:当客户第一次连接服务器时,服务器为其建立一个Session,并分配给客户一个SessionID,以后客户每次提交请求,都要将SessionID一起提交。服务器根据标识找出特定Session,用这个Session记录客户的状态!
Servlet提供三种机制用于会话跟踪:
1、SSL(Secure Socket layor)会话:运行在TCP/IP之上像HTTP这种应用层协议之下的加密技术
2、Cookies:服务器发送给客户的片段信息,存储在客户端浏览器的内存中或硬盘上
3、URL重写:就是URL中嵌入SessionID,客户端请求再发回来
四、JSP
JSP是一种建立在Servlet规范提供的功能之上的动态网页技术,通常在网页中嵌入脚本代码,用户产生动态内容。JSP可以看成运行时的Servlet,它们的区别:
1、Servlet是JAVA对CGI的回应。它们在服务器上执行和解释浏览器的请求,承担客户端和其他应用程序之间的中间层的角色。Servlet主要是把动态的内容混到静态的内容中以产生HTML。
2、JSP页面在HTML元素中嵌入Java脚本和JSP标记,格式更加清晰,另一方面,JSP把静态和动态内容分离,实现了内容和表示的分离。
3、使用JSP,不需要单独配置每一个文件,只要扩展名是.jsp,JSP容器(也就是Servlet容器)就自动识别,将其转换为Servlet为客户端服务。
另外,有个叫JavaBean的东西要说说。因为JSP页面混合了HTML代码和Java代码,页面显示逻辑和业务逻辑混杂在一起,不仅可读性差,也难维护。所以,一个很自然的想法就是单独写一个类来封装页面的业务逻辑,这个类就是JavaBean。
五、两个基本架构模型
使用JSP技术开发Web应用程序有两种基本架构模型Model 1:
JSP+JavaBeans。其中JSP实现页面的显示,JavaBean用来保存数据和实现业务逻辑。
如图,JSP页面独自响应请求并将处理结果返回,所有的数据通过JavaBean处理。
Model 2:
在Model1中JSP嵌入了“流式控制代码”和“逻辑处理代码”,我们可以讲这部分代码提取出来,放到一个单独的角色中,这个角色就是控制器角色,这就是模型2。模型2符合MVC架构模式。Servlet充当控制器,它接受请求,并且根据请求信息将它们分发给适当的JSP页面来产生响应。Servlet还根据JSP视图需求生成JavaBean实例并输出给JSP环境。
相关文章推荐
- javaweb开发基础及Tomcat服务器的简单使用、配置
- 【软件】我安装Tomcat5.5(Java Web开发服务器)的几点经验
- 软件开发工程师(JAVA)中级考试大纲之--五 J2EE WEB高级组件开发--(三)Tomcat服务器的环境及配置;应用发布和数据源配置;
- java开发的一个简单的本地web服务器
- 2.java web--搭建JavaWeb应用开发环境——Tomcat服务器
- JavaWeb开发入门第二篇Tomcat服务器配置讲解
- 学习Java Web开发【2】可传输图片的服务器的代码编写
- windows下关于使用eclipse开发web服务器后台项目完整配置(jsp+javabean+servlet)
- JAVAWEB开发之redis学习(十三)——redis服务器的虚拟内存和内存优化
- javaweb服务器开发时,包的分类
- 用java开发一个简单的web服务器
- javaweb-day04-4(javaWeb开发入门 - 画图演示:浏览器访问服务器的静态web资源的过程)
- java web开发:ajax技术(三)——JSON在服务器和浏览器之间的传递
- javaweb开发-j2ee无法加载tomcat7服务器
- tomcat服务器重装与myeclipse JavaWeb开发的几点注意事项
- Java开发Web程序中修改类文件和配置文件不重启服务器的方法
- 在服务器搭建javaWeb开发环境--安装jdk
- 在服务器搭建javaweb开发环境--安装配置eclips和tomcat
- 关于JavaWeb开发中的服务器的根路径
- 服务器部署javaweb开发项目