6_12 java WEB 第一节课

java web 工作原理

动态网页与静态网页最本质的区别是: 能否进行数据库操作

动态网页最大的特点就是具有交互性 ,  交互性指: 服务端会根据不同的用户请求显示不同的结果

OSI 7层参考模型

1.应用层

2.表示层

3.会话层

4.传输层

5 网络层

6 .数据链路层

7 .物理层

HTTP协议(hypertext  transfer protocol) : 超文本传输协议 ,是面向应用层的协议

TCP/IP  四层模型

1 . 应用层                 HTTP

2. 传输层                TCP            UDP

3.  网际层                   IP

4.网络接口层              LAN     WAN

---------------------- -------------------   ---------------------------    ------------------------------------------

学习web的根本是   http 协议的5大主要特点

1. 遵循   请求/响应 模型  :  客户端/服务器的  请求/响应模式        (这是最根本的特点)

2. 无连接     客户端有请求 ,服务端才会有响应 , 没有请求就没有响应 , (有别于其他的响应的模型) , 服务端在一次连接

响应结束过后, 会立即断开连接 ,

3. 无状态 :  http协议对事务处理 没有记忆能力 ,  不会受之前的任何状态的影响(结果是响应速度会提高) , 但是没有记忆能力,在特殊的情况下

(之后的请求,需要之前的信息时) 传送的数据量会增大

4. 简单快速 :客户端想服务器请求服务时 ,只需要传送请求的method(get  post) 8种方法  和 请求的路径

5.灵活 :http协议允许传输 任意类型的数据对象

http 定义事物处理的流程

1.连接

2.请求

请求由3部分组成

1. 请求行   包括  : 1 http方法(常用 get  post)  2 请求的URL 连接地址   3 , http版本

2 消息报头

3 请求正文

3.响应

响应由3部分组成

1.状态行    包括 : 1 http版本  2 响应码   3 响应的描述

2.消息报头

3.响应正文

4.断开连接

-----------------------------           ----------------------------   -------------------------------------------

WEB开发的指标   :1 高并发  2.快速响应

动态页面web技术

基于java   servlet/JSP 技术 ( java server pages)

servlet 的主要任务是响应请求

WEB容器(直接拿来用)

web容器负责管理和运行servlet

web容器对servlet的支持包括

1. 通讯支持(信息从哪里来 ?        本质就是完成数据的响应和请求 , 这就是通信) :

将请求和响应信息封装成请求和响应对象

2.对servlet 生命周期的管理(加载    初始化    服务(这里就是响应请求)     销毁    卸载)

注意: 在正常情况下servlet只会初始化一次 ,并且处理服务会调用多次 ,销毁也只会调用一次

但是servlet长时间不用 , 初始化和销毁可能进行多次

3.多线程支持

4. jsp支持

5.处理安全性

------------------------------------------           ---------------------------------------------------

什么是servlet

servlet 是运行在web容器中 , 按照其自身的规范编写的java应用程序

1 servlet 是用java 语言编写的  , 是一个java类 , 因此servlet遵守所有的java语言规范,

并且他可以调用一般java可以调用的JDK类库

2. servlet是在web容器中运行 ,  他编译后的.class文件被服务器调用和执行 , web服务器使用

该class文件去处理浏览器请求 , 并将处理的结果返回个客户端

3.由于servlet  特殊的应用特点 , 他有自身特殊的规则 , 一般来说必须调用java servlet API  ,

必须是对特定的类或接口的继承和实现 , ,并且必须从写特定的方法,去处理客户端的请求

----------------------------------------------   ----------------------------------------------------------

servlet 基本配置

首先 : 要使用servlet 程序 , 就必须要在web.xml中进行配置

1 定义servlet 本身

<servlet>  
    <servlet-name>MyServlet</servlet-name>  
    <servlet-class>com.Servlet.MyServlet</servlet-class>  
</servlet>

2 .截取请求
<servlet-mapping>  
    <servlet-name>MyServlet</servlet-name>  
    <url-pattern>/Servlet.do</url-pattern>  
</servlet-mapping>

Servlet的配置包括两部分:
1、<servlet>配置Servlet的名字和完整类路径:
servlet-name是自定义的,就是给Servlet取个名字。
servlet-class是Servlet完整的类 的全路径,就是从一开始的包一直“.”到该Servlet。
2、<servlet-mapping>是用来截获请求的,包括servlet-name和url-pattern。
servlet-name跟<servlet>中的servlet-name是对应的,两个servlet-name一定要一致,否则会找不到对应的Servlet。
url-pattern是截获请求的规则,当表单提交的时候,会根据特定的规则调用相对应的Servlet。下面会具体阐述。
url-pattern大致分为以下几种方式:
1、完全匹配
 如:<url-pattern>/servlet/MyServlet.do</url-pattern>
2、目录匹配
如:<url-pattern>/servlet/*</url-pattern>

3、扩展名匹配
如:<url-pattern>*.do</url-pattern>
在web.xml文件中,以下语法用于定义映射:

l. 以”/‘开头和以”/*”结尾的是用来做路径映射的。 
2. 以前缀”*.”开头的是用来做扩展映射的。 
3. “/” 是用来定义default servlet映射的。 
4. 剩下的都是用来定义详细映射的。比如: /aa/bb/cc.action

容器查找规则:
1、容器会首先查找完全匹配,如果找不到,再查找目录匹配,如果也找不到,就查找扩展名匹配。
2、如果一个请求匹配多个“目录匹配”,容器会选择最长的匹配。
例如:servletA的url-pattern为/test/*,而servletB的url-pattern为/test/b/*,此 时访问http://localhost/test/b时,容器会选择路径最长的servlet来匹配,也就是这里的servletB。
注意:”/*.action”这样一个看起来很正常的匹配会错。因为这个匹配即属于路径映射,也属于扩展映射,会导致容器无法判断。

时间: 2024-10-15 12:06:49

6_12 java WEB 第一节课的相关文章

web第一节课 sql 数据库连接 查询

1.数据库连接语句 <connectionStrings> <add name="yhotel" connectionString="Database=yhotel;Server=.;Integrated Security=false;Uid=sa;PassWord=zts;" providerName="System.Data.SqlClient" /> </connectionStrings> 其中 nam

Java Script 第一节课 Java Script的简介

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <!--js的三种方法--> <script type='text/javascript'> <!-- alert('麦子学院JS课程开始啦'); //--> </script>

第一节课作业

1 C语言是在国内外广泛使用的一种计算机语言.其语言功能丰富.表达能力强.使用灵活方便.既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件.其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,Unix,Linux,Mac,os/2,无一例外,哪一个不是C语言写的?很多新型的语言如,C++,Java,C#,J#,perl...都是衍生自C语言.掌握了C语言,可以说你就掌握了很多门语言. 学习C程序这门课一年了,这是我们学的第一门专业课,在大学里C语言不

C#第一节课作业,HelloWorld

通过第一节课的学习,我们掌握了一些C#的基本知识.无论是C#的名字的由来还是有关Hello World和Console都让我受益匪浅. 回到家后,我首先实验了一下最简单的Hello World▼ 成功了√ 然后,我实验了一下省去System的写法▼ 成功了√ 这之后我又试了一下同文件中的调用▼ 成功了√ 之后是调节字和背景的颜色▼ 成功了√ 之后我尝试了不同文件的调用▼ 成功了√ 然后我试了下分步执行▼ 成功了√ 然后我设置了变量▼ 成功了√ 最后我试验了一下ResetColor的用法▼ 成功了

Centos安装自定义布局才能自己划分各个区的大小 CentOS远程连接 第一节课

Centos安装自定义布局才能自己划分各个区的大小 CentOS远程连接 第一节课 swap最好不要超过8G 内存小于8G,swap设置内存的两倍 一般只分三个区 f f f boot:200MB SWAP:swap设置内存的两倍 根分区:20G /data:剩余所有空间,如果服务器跑的是数据库 ---------------------------------------------- 如果不跑数据库,这样分 boot:200MB SWAP:swap设置内存的两倍 根分区:剩余所有空间 f 腾

Linux学习第一节课(2019.9.6)

今天,正式开始学习Linux,在跟着老刘学习的过程很轻松.第一节课老刘说了Linux的起源.开源共享精神.相比windows的优势.Linux的系统版本等.第一节课虽然还没有开始讲技术性的东西,但是能感受到老刘上课讲的比较细,也关心学生的学习之类,觉得认识老刘很高兴,最后希望在今年内考下RHCE证,老刘你也要继续帅下去,哈哈.--------------------------------------------------------------------------------------

汇编语言第一节课:数制转换,真值和补码

汇编语言第一节课内容总结 十进制数对应的二进制数和十六进制数 进制转换 十进制转换为二进制和十六进制 后缀字母D为十进制,B为二进制,H为十六进 整数部分:除2或16取余倒排 小数部分:乘2或16取整正排 二进制和十六进制转换为十进制 小数点之前的从2的指数从0开始, 这里要记住一个公式: 二进制转换为十六进制 十六进制转换为二进制 ASCII码表 真值和机器数 原码表示法 反码表示法 补码表示法 补码对于0的表示形式只有一种:是因为负零表示0是原本的二进制反码为100000000但是这是8位二

java的第一节(共12课)课程

[第一课] Linux 简介 课程内容 一.Linux 为何物 Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8)和 Max OS ,至于操作系统是什么,就不用过多解释了,如果你学习过前面的入门课程,应该会有个基本概念了,这里简单介绍下操作系统在整个计算机系统中的角色. 我们的 Linux 也就是系统调用和内核那两层,当然直观的来看,我们使用的操作系统还包含一些在其上运行的应用程序,比如文本编辑器,浏览器,电子邮件. 二.Linux 历史简介 操作系统始于二十世纪

java的第一节(共12课)课程(6~10)

[所有参考资料皆来源与实验楼,特此声明] [第六课] 文件打包与压缩 实验介绍 Linux 上常用的 压缩/解压 工具,介绍了 zip,rar,tar 的使用. 一.文件打包和解压缩 在讲 Linux 上的解压缩工具之前,有必要先了解以下常见常用的压缩包文件格式.在 Windows 上我们最常见的不外乎这三种*.zip,*.rar,*.7z后缀的压缩文件,而在 Linux 上面常见常用的除了以上这三种外,还有*.gz,*.xz,*.bz2,*.tar,*.tar.gz,*.tar.xz,*tar