JavaWeb----web简介与Http简介

Web程序是一种可以通过浏览器访问的应用程序。web应用是用户只需要有浏览器就可以访问的应用程序,无需安装其他软件。

B/S模型

B/S模型也称为浏览器-服务器模型。
优点:具有分布式的特点,可以随时进行查询、浏览等业务处理。
业务扩展简单方便,通过增加网页即可增加服务功能。
维护简单方便,只需要改变网页。
开发简单,共享性强。

C/S模型

C/S模型是客户端-服务器模型(数据库也是C/S模型)。

比较C/SB/S
简介服务器通常采用高性能的服务器PC,并采用大型数据库,客户端需要专用的客户端软件访问端只需要安装一个浏览器,浏览器通过web Server与数据库进行交互
硬件环境建立在专用的网络上,小范围里的网络环境,局域网之间通过专门的服务器提供连接和数据交换建立在广域网上,不必是专门的网络硬件环境,具有更强的适应范围
对安全要求面向相对固定的用户群,对信息安全的控制能力强可发布公开信息,安全控制能力相对弱
对程序架构更注重流程,对系统要求低对安全及速度有多重考虑,需要建立在更优化的基础上
用户接口建立在window平台上,表现方法有限,对程序员要求高建立在浏览器上,有更丰富和生动的表现方式与用户交流

动态技术

CGI (Common Gateway Interface): 公共网关接口
PHP (HyperText Preprocessor): 超文本处理器
ASP (Active Server Page) : 活动服务器页面
JSP (Java Server Pages) : Java服务器页面,其是简化的Servlet设计

Http协议

HTTP: HyperText Transfer Protocol 超文本传输协议,是web应用程序的基础,是基于TCP/IP协议的应用层协议。
Http协议的应用端口号默认是80,HTTP协议的特定是:无状态、无连接(HTTP/1.1版本已经支持长连接)

Web服务器是“通过HTTP协议处理请求的计算机系统 ”,擅长提供静态的Web页面,而不做动态内容和不在服务器 上保持数据,而此时如果我们需要一个动态的页面就需要一些辅助程序来完成。

http协议内容

http协议包含的内容:

HTTP	常见的请求头
Accept: text/html,image/*     --浏览器接受的数据类型
Accept-Charset: ISO-8859-1     --浏览器接受数据编码格式
Accept-Encoding: gzip,compress    --浏览器接受的数据压缩格式
Accept-Language: en-us,zh-       ---浏览器接受的语言  
Host: www.it315.org:80           --请求发出的主机和端口(必须)
If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT   --浏览器缓存的最后修改时间
Referer: http://www.it315.org/index.jsp   -- 当前请求来自于哪里 (防止非法链接)
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)   --浏览器的类型
Cookie:name=eric                 ---浏览器保存的cookie数据(会话管理)
Connection: close/Keep-Alive       ---浏览器和服务器的连接状态。close:关闭。keep-alive:保持连接
Date: Tue, 11 Jul 2000 18:23:51 GMT  --请求发出的时间

响应头
Location: http://www.it315.org/index.jsp   --重定向的地址。结合302状态使用完成重定向的效果
Server:apache tomcat    --服务器的类型
Content-Encoding: gzip     --服务器发送给浏览器的数据压缩格式
Content-Length: 80         --服务器发送给浏览器的数据长度
Content-Language: zh-cn    --服务器支持语言
Content-Type: text/html; charset=GB2312     --服务器发送给浏览器的数据类型和数据编码格式
Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT    --服务器资源的最后修改时间
Refresh: 1;url=http://www.it315.org        ---定时刷新或每隔n秒跳转资源
Content-Disposition: attachment; filename=aaa.zip   -- 以下载方式打开资源
Transfer-Encoding: chunked            
Set-Cookie:SS=Q0=5Lb_nQ; path=/search     -- 服务器发送给浏览器的cookie数据
Expires: -1            --通知浏览器不使用缓存
Cache-Control: no-cache
Pragma: no-cache   
Connection: close/Keep-Alive    连接状态
Date: Tue, 11 Jul 2000 18:23:51 GMT   响应发出的时间

一个请求=请求行+请求头

请求行

提交方式 uri http协议版本

提交方式:GET/POST
uri:/项目名称
http协议版本:Http/1.1:可以反复请求
Http/1.0:只能请求一次
URL:http://localhost:8080/hello(同一资源定位符)
url是uri的子集

请求头:Referer/User-Agent/Cookie/Connection
Referer:非法链接:代表请求地址从哪里来(应用场景:下载资源时),非法链接的情况:

  • 直接访问下载时referer:null
  • referer请求头 中不包含广告页面(!referer.contains(“adv.html”))

User-Agent:当前浏览器类型

响应头:Location/Refreah/Content-Disposition

  • Refreah:定时刷新,每隔n秒资源跳转
  • Content-Disposition:以什么方式打开资源

浏览器向服务器端发出请求(HttpServletRequset对象),服务器获取到请求的参数信息,进行响应后,tomcat等服务器就会做出一些逻辑发出响应(HttpServletResponse对象),浏览器获取到响应头信息以及响应的状态,给用户展示数据。服务器响应的时候如携带(cookie:饼干 小甜点) 将cookie携带给浏览器
不论是请求还是响应都要遵循一定的格式规则,http就是一个规则,定义请求信息和响应信息的解析规则

java 企业级应用开发

基于Java的Web程序的三层模型:展现层–>业务层–>持久层
展现层发送一个基于HTTP协议的请求(HttpRequest)到业务层,业务层转发这个请求到持久层,持久层访问数据库,数据库接收到请求后,对持久层进行回应,持久层再向上交付请求到的数据业务层,业务层通过HttpResponse协议,将数据传到展现层。

整个三层协议中,上层依赖于下层,而下层不依赖上层。

展现层(View)中用到的技术有:JSP(JSTL)、Velocity、React、H5.
业务层(Model)中用到的技术是Spring
持久层中用到的技术是:Hibernate/MyBatils

一般在展现层和业务层之间还会有一层控制层(Control),控制层能够对展现层中的数据进行控制判断,否则直接对业务层产生影响,会有一定的耦合性,会改变业务的逻辑控制。
控制层中用到的技术有:MVC/Struts/Servlet

整个的web应用程序的资源配置都会基于web.xml配置文件,整个应用程序最终会打包为一个war包,利用容器技术(tomcat)运行

在这里插入图片描述
webApp创建步骤

  • 1.新建mave工程
  • 2.在src/main文件夹中新建webapp目录,补全目录结构如下
    在这里插入图片描述
  • 3.点到工程文件,F4进行设置–》+webapp–>移除本来的文件,指定到webapp\web.xml下(上下两个地方)
  • 4.写Servlet
  • 5.配置tomcat–>Edit Configration–>fix–>选择到当前项目–》ok–>deployment–>ok
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值