2022-10-19 初识Web,HTTP协议与Servlet

目录

一、Web

        1.1 B/S架构

        1.2 静态资源,动态资源

                      1.2.1 静态资源

                      1.2.2 动态资源  

​编辑 二、数据库 

        2.1 访问流程:

 三、HTTP协议

        3.1 HTTP协议特点    

       3.2 HTTPS

四、Servlet

        4.1 servlet简介

引用: 

总结:

建议:


一、Web

        Web也称为万维网(www)是可以通过浏览器可以访问的网站。 JavaWeb是可以通过java来对web进行开发的一种技术。

        Web服务器:负责解析 HTTP 协议,解析请求数据,并发送响应数据 。浏览器按照HTTP协议发送请求和数据,后台就需要一个Web服务器软件来根据 HTTP协议解析请求和数据,然后把处理结果再按照HTTP协议发送给浏览器 

Web服务器软件有很多,我们课程中将学习的是目前最为常用的==Tomcat==服务器。

        1.1 B/S架构

        昨天我们已经初步了解b/s架构,简单来说B就是Browser是浏览器,前端运行场景(Html css JavaScript Vue)  ,而S是Servlet服务器运行环境 Servlet SSM SpringBoot Mybatisplus。是一种架构模式。而B/S架构是易于维护升级的。服务器与客户端的三种传输格式 :  html,xml,json。

        1.2 静态资源,动态资源

                      1.2.1 静态资源

        静态资源主要包含 HTML,CSS,JavaScript,图片等,主要负责展示。下面如例。

 

         

        前端也存在服务器端中开发,作为结果返回给浏览器。浏览器只需要发送请求。Servlet接受请求,并处理请求,但要到数据库获得数据或更改数据后返回Servlet,包装成网页给浏览器,浏览器解析成文字呈现给我们。直接访问页面的就是静态资源。

                     1.2.2 动态资源  

        动态资源主要包括Servlet,JSP等主要负责逻辑处理。动态资源处理完后把结构交给静态资源来进行,动态资源和静态资源要结合一起使用。  动态资源根据用户的请求的不同返回不同的结果,因此需要有逻辑的处理                                                                      

        而访问servlet有请求的的就是动态资源。 下面如例。

 

​​​​​​​ 二、数据库 

 

       数据库:主要负责数据的存储

        2.1 访问流程:

        (1)浏览器发送一个请求到服务端,去请求所需要的相关资源;

        (2)资源分为动态资源和静态资源,动态资源可以是使用Java代码按照Servlet和JSP的规范编写的内容;

        (3)在Java代码可以进行业务处理也可以从数据库中读取数据;

        (4)拿到数据后,把数据交给HTML页面进行展示,再结合CSS和JavaScript使展示效果更好;

        (5)服务端将静态资源响应给浏览器;

        (6)浏览器将这些资源进行解析;

        (7)解析后将效果展示在浏览器,用户就可以看到最终的结果。

 三、HTTP协议

        什么是HTTP协议?(HyperText Transfer Protocol)为超文本传输协议,规定了浏览器和服务器之间==数据传输的规则

        3.1 HTTP协议特点    

        基于TCP协议:面向连接,安全应用层协议面向链接的三次握手                                               

        基于请求-响应模型的:一次请求对应一次响应

        HTTP协议是无状态协议(每次请求-响应都是独立的)

        HTTP协议面向连接,安全。而基于请求是一次请求对应一次响应。(请求和响应是一一对应关系),每次请求-响应都是独立的。缺点:不能共享数据。优点:速度快。浏览器发送请求给服务器,服务器响应数据给浏览器,这整个过程都需要遵守一定的规则,之前大家学习过TCP、UDP,这些都属于规则,这里我们需要使用的是 HTTP协议,这也是一种规则。

        请求(三部分)和响应三部分:

       3.2 HTTPS

        HTTPS比HTTP更加安全 。

四、Servlet

        4.1 servlet简介

        Servlet是JavaWeb最为核心的内容,它是Java提供的一门==动态==web资源开发技术。 2、使用Servlet就可以实现,根据不同的登录用户在页面上动态显示不同内容。 Servlet是JavaEE规范之一,其实就是一个接口,将来我们需要定义Servlet类实现 Servlet接口,并由web服务器运行Servlet。        

        4.2 快速入门         

        创建Web项目 web-demo ,导入Servlet依赖坐标

        创建:定义一个类,实现Servlet接口,并重写接口中所有方法,并在service方法中输 入一句话。

             

      配置:在类上使用@WebServlet注解,配置该Servlet的访问路径 @WebServlet("/demo1")

      访问:启动Tomcat,浏览器中输入URL地址访问该Servlet http://localhost:8088/web-demo/demo1

      器访问后,在控制台会打印 servlet hello world~ 说明servlet程序已经成功运行。

/***
 *1. 什么是Servlet:Servlet服务器端小应用程序  Server+applet
 *2. Servlet 必须继承HttpServlet
 * Servlet是一个特殊的类
 * 特殊:
 *      1.必须要生命周期三个方法
 *      2.Tomcat 下 Servlet容器自动调用生命周期有三个方法
 */
@WebServlet("/demo01")//  /是访问路径必须带/
public class ServletDemo extends HttpServlet {
    @Override
    public void init(ServletConfig config) throws ServletException {
        //System.out.println();-sout-类构造方法
        System.out.println("生命周期初始化方法,只需调用一次即可");
        System.out.println(config.getServletContext());
    }

    @Override
    public void destroy() {
        //des回车快捷方法
        System.out.println("生命周期销毁方法,只需调用一次即可");
    }

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //serv快捷
        System.out.println("生命周期可执行方法,可以一次请求,调用一次,生成应答结构结果");
    }

***
 * Servlet和HTTP协议联系在一起
 *
 */
@WebServlet("/ServletDemo02")
public class ServletDemo02 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("doGet处理get请求");

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("douPost处理post请求");
        this.doGet(request,response);
    }
}

         下面是一些代码操作

@WebServlet("/ServletDemo03")//引入WebServlet
public class ServletDemo03 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String form=request.getParameter("form");
        String form1=request.getParameter("form1");
        String form2=request.getParameter("form2");
        System.out.println(form);
        System.out.println(form1);
        System.out.println(form2);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    this.doGet(request,response);
    }
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="ServletDemo03" method="post">
    省份:<input type="text" name="form"/>
    市份:<input type="text" name="form1"/>
    区:<input type="text" name="form2"/>
    <input type="submit">
</form>
</body>
</html>

 


引用: 


总结:

        新的知识,吸收很费劲。理解的七零八落加油吧!


建议:

        男吸收

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值