HTTP、Tomcat、Servlct、Request和Response知识

 目录:

 目录:

一、HTTP简介:

二、Web服务器:

三、Servlet:

四、Request&Response:

学习积累:


一、HTTP简介:

1、概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间的数据传输的规则;

特点:1、基于TCP协议:面向连接,安全;

           2、基于请求-响应数据模型的:一次请求对应一次响应

           3、HTTP协议是无状态的协议:对于事务处理没有记忆能力,每次请求-响应都是独立

缺点:多次请求间不能共享数据(Java中采用会话技术,cookie,session来解决这个问题);

优点:速度快;

2、请求数据格式:

 3、响应数据格式:

 

二、Web服务器:

1、Web服务器概念:Web服务器是一个应用程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让web开发更加便捷。主要功能是“提供网上信息浏览服务”,本次主要使用Tomcat;

2、Tomcat概念:Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级web服务器,支持servlet/Jsp少量JavaEE规范。

JavaEE:Java Enterprise Edition,Java企业版。指Java企业级开发的技术规范总和。包含13项技术规范:JDBC、JSDI、EJB、RMI、JSP、Servlet、XML、JMS、JAVA IDL、JTS、JTA、JavaMail、JAF等等。

Tomcat也被称为web服务器、servlet容器。servlet需要依赖于Tomcat才能运行

Tomcat的下载安装教程可见:黑马程序员最新版JavaWeb基础教程,Java web从入门到企业实战完整版_哔哩哔哩_bilibili

三、Servlet:

1、Servlet简介:servlet是Java提供的一门动态web资源开发技术,servlet是JavaEE的规范之一,其实就是一个接口,将来我们需要定义servlet类实现servlet接口,并由web服务器运行servlet。

2、Servlet快速入门:

导入依赖坐标代码:

<dependencies>
  <dependency>
    <!--      导入servlet-->
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <!--      依赖范围为本项目-->
    <scope>provided</scope>
  </dependency>
</dependencies>


<build>
  <plugins>
    <!--      tomcat插件-->
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
    </plugin>
  </plugins>
</build>

创建类,实现接口方法,写servlet注解:

 运行成功:

3、Servlet的生命周期: 

 完成如下对注解的修改可以使init方法在容器创建servlet对象时就初始化,提高运行速率

 4、Servlet方法介绍:

 5、Servlet体系结构:

get方法可通过url访问直接使用,post方法需要前端提交等按钮进行跳转url访问;

自定义编写httpservlet,子类继承父类,进行方法重写,即可调用:根据请求方式不同,调用不同的方法,使用自定义编写,可简化代码,提高效率

 6、Servlet Urlpattern配置:

 

四、Request&Response:

1、Request:获取请求数据,Tomcat需要解析请求数据,封装为request对象,并且创建requset对象传递到service方法中

 2、Request通用方法获取请求参数:

 3、解决post访问中文乱码情况:

4、解决get访问中文乱码情况:

3.1,3.2是分布解码的结果,下面新的是整合解码的结果,两个相同。

5、请求转发(forward):一种在服务器内部的资源跳转方式;

 可在第一个路径中写入setAttribute方法存入数据,在第二个路径中通过getAttribute方法调用第一个路径中的数据,可实现两个路径的连通,创造像流水线一样的服务器工作。

6、Response:设置响应数据:

 7、Response完成重定向:(重定向):一种资源跳转方式

 可以区别重定向和上面的请求转发,完全不一样,重定向是在原来的url访问后跳转下一个url,也可以跳转到任意url,不能被共享。

8、路径问题:

浏览器使用:需要加虚拟目录(项目访问路径)

服务端使用:不需要加虚拟目录

例:

 9、Resopnse响应字符数据:

例如:可以使输入的纯文本被服务器解析为html文本输出

 10、Response响应字节数据:

 例如:

 


学习积累:

首先通过对http协议的学习,了解到了服务器与浏览器连接的规则和各种请求、响应数据和各种状态码的基本了解,进而通过对servlet的学习,由servlet接口方法通过tomcat访问进而连接服务器和浏览器,实现从服务器到浏览器的跳转使用,从后端呈现到了前端,最后通过request请求对象和response响应对象可以访问到浏览器里的各种数据。


以上图片等均学习自黑马教程,如有侵权,立马删除。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员X.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值