一、javaweb间接
Java Web 是用 Java 技术来解决相关 web 互联网领域的技术总和
-
C/S 体系结构
C/S 是 Client/Server 的缩写,即客户端/服务器结构。 -
B/S 体系结构
B/S 是 Browser/Server 的缩写,即浏览器/服务器结构。
二、Web应用程序
1.Web应用程序的工作原理
web应用程序大体上可以分为两种:静态网站和动态网站
1)静态网站主要是静态页面的浏览,这些页面基本不用服务器
2)动态网站通常使用HTML语言和JSP、ASP等语言编写的,
2.Web应用技术
1)客户端应用的技术 -
HTML html语言是客户端技术的基础,主要用于显示网页信息
-
CSS CSS 就是一种叫做样式表的技术,也有人称之为层叠样式表。
-
FLASH Flash 是一种交互式矢量动画制作技术,它可以包含动画、音频、
视频以及应用程序, 而且 Flash 文件比较小,非常适合在 Web 上应用。 -
JS
2)服务器端应用的技术 -
JSP Java Server Page 简称 JSP。JSP 是以 Java 为基础开发的,所以它沿
用 Java 强大的 API 功 能。 -
Servlet Servlet 是 Java 早期的 Web 服务器端技术,用 Java 语言编写。
无论是从原理和编程方式 上,几乎就是 CGI 的翻版,具有 CGI 的缺点和优点,
与 CGI 主要不同的是,Servlet 对每个请求都是单独启动一个线程,而不是进程。 -
CGI (公用网关接口) CGI 可以说是最早的 WEB 服务器端技术,它是
个 HTTP 过滤程序,其大致的原理是:CGI 是在 WEB 服务器上运行的一个程序,
该程序定义了 WEB 客户请求与应答的一种方法。
三、Tomcat
1.什么是Tomcat
Tomcat 简单的说就是一个运行 Java 的网络服务器,底层是 Socket 的一个程序,它也是 JSP 和 Servlet 的一个容器。 是一个符合 JavaEE WEB 标准的最小的 WEB 容器,。 Tomcat 是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,由
Apache、Sun 和其他一些公司及个人共同开发而成。
四、HTTP协议
1.浏览器的书写格式
2.HTTP 协议的主要特点
1.)支持客户/服务器模式。
2.)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。
3.)灵活:HTTP 允许传输任意类型的数据对象。
4.)HTTP1.1 支持持续连接。
5.)无状态:HTTP 协议是无状态协议。
3.HTTP请求
http 请求由三部分组成,分别是:请求行、请求头、请求正文
请求行以一个方法符号开头,以空格分开,后面跟着请求的 URI 和协议的
版本,格式如 下:Method Request-URI HTTP-Version CRLF 其中 Method 表示请
求方法;Request-URI 是一个统一资源标识符;HTTP-Version 表示请 求的 HTTP
协议版本;CRLF 表示回车和换行
- HTTP 响应
接收和解释请求消息后,服务器返回一个 HTTP 响应消息。HTTP 响应也
是由三个部分组成,分别是:状态行、消息报头、响应正文
5.消息头
HTTP 消息由客户端到服务器的请求和服务器到客户端的响应组成。
每一个报头域都是由名字+“:”+空格+值组成,消息报头域的名字是大小写
无关的。
请求头
请求报头允许客户端向服务器端传递请求的附加信息以及客户端自身的信
息。
Refere:该请求头指明请求从哪里来
如果是地址栏中输入地址访问的都没有该请求头 地址栏输入地址,通过请
求可以看到,此时多了一个 Referer 的请求头,并且后面的值 为该请求从哪里发出,百度竞价,只能从百度来的才有效果,否则不算;通常用来做统计工作、 防盗链
响应头
响应报头允许服务器传递不能放在状态行中的附加响应信息,以及关于服务
器的信息和 对 Request-URI 所标识的资源进行下一步访问的信息。
Location:Location 响应报头域用于重定向接受者到一个新的位置。Location
响应报头域,常用在更换域名的时候。response.sendRedirect(“http://www.shsxt.com”);
Refresh:自动跳转(单位是秒),可以在页面通过 meta 标签实现,也可在
后台实现。
2.Servlet 的生命周期
1.实例和初始化时机
当请求到达容器时,容器查找该 servlet 对象是否存在,如果不存在,则会
创建实例并 进行初始化。
2.就绪/调用/服务阶段
有请求到达容器,容器调用 servlet 对象的 service()方法,处理请求的方法在
整个声明周 期中可以被多次调用;
HttpServlet 的 service()方法,会依据请求方式来调用 doGet()或者 doPost()
方法。但是, 这两个 do 方法默认情况下,会抛出异常,需要子类去 override。
3.销毁时机
当容器关闭时(应用程序停止时),会将程序中的 Servlet 实例进行销毁。