栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

CGB2111开班第三十四天

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CGB2111开班第三十四天

CGB2111开班第三十四天

1、Servlet

1.1、Servlet概述:1.2、Servlet入门案例1.3、Servlet访问流程1.4、Servlet生命周期1.5、Servlet的体系结构1.6、实际开发中,Servlet推荐的书写方式

1、Servlet 1.1、Servlet概述:

   servlet 是运行在 Web 服务器中的小型 Java 程序。servlet 通常通过 HTTP(超文本传输协议)接收和响应来自 Web 客户端(浏览器)的请求。
   Servlet的作用:
           1、Servlet可以接收web客户端发送的请求,接收请求数据。
           2、Servlet对请求进行处理,然后响应数据给web客户端。



1.2、Servlet入门案例

Servlet是SUN公司制定的动态资源程序标准,提供的是一个SErvlet接口。我们程序员开发Servlet自定义一个类,去实现Servlet接口,重写接口中的方法。Servlet入门程序

步骤一:IDEA创建一个web项目。步骤二:项目的src目录,创建一个包。步骤三:在包内新建一个自定义类,导入import javax.servlet.Servlet;。自定义类实现Servlet接口中的方法。步骤四:在自定义的类里配置访问路径。步骤五:测试,在浏览器的地址栏中http://localhost:tomcat端口号/项目名称/servlet访问路径。



1.3、Servlet访问流程

要求:需要创建一个Web项目,把部署到服务器,通过浏览器去访问servlet资源。在浏览器地址栏输入的servlet访问路径:http://域名:端口/项目名称/servlet访问路径。

地址一:输入:http://域名/端口
      作用:访问到主机安装的omcat服务器。地址二: /项目名称
      作用: 访问的tomcat服务器部署的项目。地址三: /servlet访问路径
      作用: 访问tomcat服务器部署的项目里面的servlet资源。



1.4、Servlet生命周期

生命周期:指的是对象从被创建到销毁的完整过程,这个过程就是生命周期。
在完整的过程中,涉及到方法的执行,那么这些方法,我们称之为生命周期方法。



1.5、Servlet的体系结构

顶层接口:
   Servlet里面都是抽象方法抽象子类,实现了Servlet接口
   GenericServlet里面有抽象方法,也有普通方法。抽象子类,继承了GenericServlet
   HttpServlet里面有抽象方法,也有普通方法。


问1:为什么要设计Servlet体系结构?
答:如果开发者定义一个类,实现Servlet接口,这种方式不好。
缺点:自定义类重写接口的所有方法,即使方法不需要,也要全部全写接口中的方法
问2:如果开发者定义一个类,继承GenericServlet这种方式不好。
优点:解决了(实现Servlet接口全部重写方法)的缺点。
缺点:不能明确指定浏览器发送的是什么请求,以及不能处理请求的数据。
问3:如果开发者定义一个类,继承HttpServlet这种方式好。
优点:解决上传1,2中存在的问题了。
明确指定浏览器发送的是http请求,处理请求数据以及响应数据。
http协议:作用规范请求和响应过程的数据交互格式。

结论:企业开发中,通过继承HttpServlet来定义我们的类,处理请求和响应数据。



1.6、实际开发中,Servlet推荐的书写方式

自定义一个类,继承HttpServlet,重写dog

doGet(请求对象request,  响应对象response):接收浏览器发送的get请求。doPost(请求对象request,  响应对象response):接收浏览器发送的post请求。

为什么不重写service方法,而重写doGet方法和doPost方法

结论:service方法内部,不知道浏览器发送的是get请求还是post请求。都会接收,最终在处理get请求的数据和处理post请求的数据时,处理方式不一样,所以不重写service方法。

HttpServlet中的service方法和doGet方法和doPost方法有关系吗?

答案肯定有:
什么关系,查询HttpServlet的源代码
快捷方式有两种:
方式一:在代码中,找到HttpServlet,按住Ctrl键,鼠标点击HttpServlet。
方式二:在当前项目中,Ctrl+n快捷键,在它的输入框中输入HttpServlet。

通过源码分析:
浏览器发送请求时—>service方法:根据请求方式的不同—>去调用doGet方法或者doPost方法。
通过DeBug源码调试:
  浏览器发送的get请求—>HttpServlet中的service方法:
       1、获取浏览器的提交请求方式:method
       2、if判断(method.equals(“Get”)){
           //this指代的就是当前HttpServlet
           ​ this.doGet(req,response);
         } else if(method.equals(“Post”)){
            this.doPost(req,response);
         }
结论1:(请求方式一共有七种,常见的请求方式有两种)。
结论2:浏览器发送请求时---->service方法: 根据请求方式的不同---->去调用doGet或者doPost方法
结论3:浏览器发送get请求---------------->doGet方法
    浏览器发送post请求---------------->doPost方法

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/709268.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号