JavaWeb Servlet的基础概要

1、网络基础概念

互联网,英文是internet,又称国际网络。是网络与网络之间-所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一且巨大的全球化网络,在这个网络中有交换机路由器等网络设备、各种不同的连接链路、种类繁多的服务器和数不尽的计算机、终端。使用互联网可以将信息瞬间发送到千里之外的人手中,它是信息社会的基础。

2、HTTP简介

HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

HTTP请求报文:

HTTP 报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。一 般一个HTTP请求报文由请求行、请求报头、空行和请求数据4个部分组成。如下图:

在这里插入图片描述

1 请求行: 请求行由请求方法、URL字段和HTTP协议的版本组成。
2 请求头: 请求报头通知服务器关于客户端请求的信息。
3 空行
4 请求数据 请求数据不在GET方法中使用,而在POST方法中使用。POST方法适用于需要客户填写表单的场合。

2 HTTP响应报文

在接收和解释请求消息后,服务器返回一个HTTP响应消息。HTTP 的响应报文由状态行、响应报头、空行、响应正文组成。

1 状态行: 一般由服务器HTTP协议的版本、服务器发回的响应状态码、状态码的文本描述等组成。
2 响应报头: 用于服务器传递自身信息的响应
3 空行
4 响应正文: 响应正文就是服务器返回的资源的内容。

3、B/S与C/S应用

B/S: 浏览器与服务器应用。体验要求一般,加载资源少;升级方便、无需安装、维护便利、跨平台。

C/S: 客户端和服务器应用。体验要求极高,加载资源多;升级不方便、安装不方便、维护不方便、不跨平台。

B/S开发模式也叫web开发。

4、连接的建立跟断开

1、连接的建立(3次握手)

在这里插入图片描述
2 断开连接(4次挥手)
在这里插入图片描述

5、服务器软件介绍

写一个html很简单,但如何想让这个html让其他人也能访问,该如何处理呢?
Tomcat是目前非常流行的一款开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选。它和其它服务器软件类似,能将本地资源向外提供服务。
常见Web应用服务器:Tomcat(Apache)、Weblogic( Oracle), WebSphere(IBM)和JBoss( Redhat)。

6.Servlet生命周期

  • 加载跟实例化Servlet

    Servlet 通过调用 构造 方法进行实例化,构造方法必须为无参构造方法。默认是在第一次被访问的时候构造对象。也可以在web.xml中通过N配置Servlet被创建的时机。(N为一个整数表示优先级,>=0表示在web服务器启动的时候创建,<0表示第一次访问时创建)

  • Servlet 实例创建完毕后立马通过调用 init () 方法进行初始化,如果初始化失败抛出ServletException,Servlet对象将会被垃圾回收器回收。init初始化操作只会执行一次。初始化时机紧跟Servlet创建。

  • Servlet 调用 service() 方法来处理客户端的请求。

  • Servlet 通过调用 destroy() 方法终止(结束)。

  • 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

在这里插入图片描述

7.Servlet接收表单数据与返回数据

接收表单数据

request.getParameter(“xxx”);‘

返回数据

response.getWriter().write(“xxx”);

8、get请求与post请求

问题:get请求与post的请求的区别是什么?

get:
1,参数拼接在url,不安全
2,只能是字符串类型
3,大小有限制2kb,速度快
post:
1,参数封装到请求体,安全
2,还可以是非字符串类型比如文件
3,理论上大小没限制,速度慢

9、转发与重定向

1、转发

req.getRequestDispatcher(“xxx”).forward(req, res);
一次请求,返回200,地址栏没变化

2、重定向

res.sendRedirect(“xxx”);
二次请求,第一返回302,第二次请求会使用第一次请求响应中的Location头信息地址进行访问。第二次请求返回200或者304,地址栏会改变。

问题:请求转发跟请求重定向的区别是什么?

1、从上面的一次重定向和一次转发的过程来看,我们可以得出第一个差别点,就是重定向是两次请求,转发是一次请求,因此转发的速度要快于重定向
2、第二个差别点也很明显,重定向之后地址栏上的地址会发生变化,变化成第二次请求的地址,转发之后地址栏上的地址不会变化,还是第一次请求的地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值