一、web概念:
- Java Web是Java EE技术体系的一部分,是目前所有Web开发技术最复杂的一种。
- 相关概念?
-
- Web,网页的意思,表示Internet主机上供外界访问的资源。资源分为
-
- 静态web资源(如html页面),指web页面中供人们浏览的数据始终不变。
- 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
- Java Web,是用Java技术来解决相关Web互联网领域的技术综合,
- Web包括:web服务器和web客户端两部分。
- JavaEE:十三中技术的集合。JSP/Servlet属于其中的一种。
- Web容器
- 容器实现了规范
- 容器就是一个运行环境,所有的程序都在运行环境中。
- 这个环境可以是软件|硬件|软件+硬件|,比如Windows运行在硬件,Office运行在Windows。
- 程序与运行环境有一定的数据交换,比如操作系统与硬件之间的指令。
- JavaWeb也需要一个运行环境,这个运行环境称为 Web 容器。
- JavaWeb与容器之间存在数据交互,目前有两种类型的Web容器
- 独立的JavaWeb容器,只能运行Web程序。称为Web服务器。如Tomcat等
- 一种是与其他JavaEE容器混合在一起的Web容器,Web容器负责运行Web程序,其他容器负责运行EJB等程序,如WebLogic等。
- 容器:(服务器)。支持什么技术的服务器,简称XX容器。
- Tip:区分JavaSE和JavaEE:包名java.**是JavaSE, 包名javax**是JavaEE
- 容器的处理过程:
- 用户通过客户端(浏览器等)发送给服务器一个请求,
- Web容器首先收到请求,第一步,将请求封装到一个HttpServletRequest类型的Java对象中,并将对象传递给JavaWeb程序。 第二步,对于每个请求,Web容器还会创建一个 HttpServeletResponse 类型对象,用来保存返回内容。
- JavaWeb程序从HttpServletRequest对象中提取出请求,处理以后,将结果存放进HttpServeletResponse中,然后Web容器解析 HttpServeletResponse 类型对象内容,并将解析结果以浏览器能够识别的HTML等格式返回给浏览器等客户端。要注意的是 HttpServletRequest和 HttpServeletResponse 在这 个过程中像两条渡船, 负责Web容器和JavaWeb程序之间传递信息。但是它们仅存在与Web容器和JavaWeb程序当中,与浏览器无关。下面是这个过程示意图
- Web应用
- 概念:就是Web程序
- 作用:运行在Web容器中,能够完成完整功能的应用程序。
- **********暂时省略
- Web元件
- **********暂时省略
- Web模块
- JavaEE应用由多个模块(技术体系)组成,如Java Web模块、EJB模块。各个模块如积木一样组成应用,每个模块要保证独立性。不同的模块拥有自己特定的目录结构。
- JavaWeb模块的目录结构如下:
- 应用文档根目录
- WEB-INF目录
- web.xml文件
- classes目录
- tags目录
- lib目录
- 自定义目录
- 图示
- Web模块的发布
- 可以直接以目录的形式发布。
- 也可以打包成jar格式文件发布,因为用途和内容的特殊性,扩展名会采用.war而不是.jar。
- 如果不是发布到独立的Web服务器上,而是发布到与其他JavaEE一起使用的企业应用服务器上,还需要编写一个与企业应用服务器相关的配置文件,这个文件对于不同的企业应用服务器也不同,比如发布到glassfish服务器上,需要编写的文件是sun-web.xml