标签:
软件编程体系
B\S 系统架构与C\S 系统结构
Web服务器
HTTP 协议:Web 浏览器与 web 服务器的交互所遵循的规则.
Web 服务器:Web服务器可以解析HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response)。为了处理一个请求,Web服务器可以响应一个静态页面或图片,或进行页面跳转,或者把动态响应的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP脚本,ASP脚本等。无论脚本的目的何,这些服务器端(server-side)的程序通常产生一个 HTML的响应来让浏览器可以浏览。
JavaWeb应用的概念
Java Web应用由一组Servlet、HTML页、类、 以及其它可以被绑定的资源构成。它可以在各种供应商提供的实现Servlet规范的Servlet容器中运行。
Java Web应用中可以包含如下内容: Servlet,JSP,实用类,静态文档如HTML、图片等,描述Web应用的信息(web.xml)。
Servlet 容器
Servlet容器为JavaWeb应用提供运行时环境,它负责管理Servlet和JSP的生命周期,以及管理它们的共享数据。Servlet容器也称为JavaWeb应用容器,或者Servlet/JSP容器。目前最流行的Servlet容器软件括:Tomcat,Resin,J2EE服务器(如Weblogic)中也提供了内置的Servlet容器。
Web 程序结构
一个 web 应用程序是由一组 Servlet,HTML 页面,类,以及其它的资源组成的运行在 web 服务器上的完整的应用程序,以一种结构化的有层次的目录形式存在,组成 web 应用程序的这些文件要部署在相应的目录层次中,根目录代表整个 web 应用程序的”根”,通常将 web 应用程序的目录放在 webapps 目录下,在 webapps 目录下的每一个子目录都是一个独立的web 应用程序,子目录的名字就是 web 应用程序的名字,也就是 web 应用程序的“根”。用户通过 web 应用程序的”根”来访问 web 应用程序中的资源。
WEB-INF目录下的classes和lib目录都可以存放Java的类文件,在Servlet容器运行时,Web应用程序的类加载器将首先加载classes目录下的,其次才是lib目录下的类。如果这两个目录下存在同名的类,起作用的将是classes目录下的类。WEB-INF 是一个特殊的目录(所有字母都要大写)。这个目录并不属于Web应用程序可以访问的上下文路径的一部分,对客户端来说,这个目录是不可见的,但该目录下的内容对于Servlet代码是可见的。
配置任意目录下的Web应用程序
在Web服务器中可以配置虚拟目录,而虚拟目录所对应的真实目录可以在任何路径下。在Tomcat服务器中,主要在 XML 配置文件中通过<Context>元素的设置来完成的,一个<Context>元素就表示一个Web应用程序,运行在特定的虚拟主机中。<Context>元素是<Host>元素的子元素,可以在conf\server.xml文件中设置Context元素:
<Context>元素的常用属性:
使用docBase属性指定Web应用程序的真实路径。将属性reloadable设置为true,Tomcat在运行时会自动监测Servlet类的改动,如果发现有类被更新,Tomcat服务器将自动重新加载该Web应用程序。这样,在开发时,就不需要频繁重启Tomcat。
还可以在conf目录下依次创建Catalina\localhost目录,然后在localhost目录下为 test 这个Web应用程序建立 test.xml 文件,编辑这个文件输入以下内容
从Tomcat 5开始,不建议直接在server.xml文件中配置<Context>元素,因为server.xml文件作为Tomcat的主要配置文件,一旦Tomcat启动后,将不会再读取这个文件,因此无法在Tomcat服务器启动时发布Web应用程序。如果在其他地方配置<Context>元素,那么在Tomcat运行时,也可以发布Web应用程序。从Tomcat 5.5开始,在\conf\Catalina\localhost目录下创建XML配置文件来配置Web应用程序,Tomcat将以XML文件的文件名将作为Web应用程序的上下文路径,而不理会在<Context>元素的path属性中指定的上下文路径是什么。由于Tomcat 5.5之后的版本是以XML配置文件的文件名作为Web应用程序的上下文路径的,因此在配置<Context>元素时,可以不使用path属性。
Servlet简介
Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中。Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet和客户的通信采用“请求/响应”的模式。Servlet可完成如下功能:1)创建并返回基于客户请求的动态HTML页面;2)创建可嵌入到现有HTML 页面中的部分HTML 页面(HTML 片段)3)与其它服务器资源(如数据库或基于Java的应用程序)进行通信。
未完待续……
java_web学习(2)Servlet
标签:
原文地址:http://www.cnblogs.com/Vae1990Silence/p/4690618.html