Servlet自学笔记

2 篇文章 0 订阅
1 篇文章 0 订阅

1、Servlet技术

(一)什么是Servlet

在这里插入图片描述

(二)手动实现Servlet程序

在这里插入图片描述
(1)先建一个工程
在这里插入图片描述
(2)建立Java Enterprise工程并选择Tomcat服务器并建立动态web工程 在这里插入图片描述
(3)点击下一步并且取名
在这里插入图片描述
(4)在src里建package写class
在这里插入图片描述
(5)类内进行implements Servlet
在这里插入图片描述
(6)按住快捷键alt+insert
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(7)关注service
在这里插入图片描述
(8)配置xml
在这里插入图片描述
关于手动实现servlet程序,我们以后大多不会用到,所以了解即可

(三)url地址如何定位到Servlet程序去访问

在这里插入图片描述

(四)Servlet的生命周期

在这里插入图片描述

(1)alt+insert生成构造器
在这里插入图片描述
在这里插入图片描述
(2)初始化方法----init
在这里插入图片描述
(3)service方法
在这里插入图片描述
(4) 销毁方法
在这里插入图片描述

(五)Servlet请求的分发处理

我们知道,平常我们会有get和post两种操作,那么,我们如何对对应的两种操作来进行分别处理呢?
解决方案:
在这里插入图片描述
在这里插入图片描述

由于一般情况get和post请求会做许多事,直接按照上面的方式去写会使代码变得十分臃肿。这时我们可以将对应操作封装在分别封装在两个方法里面,然后再分别进行调用即可封装思想!!!

在这里插入图片描述
在这里插入图片描述

(六)通过继承HttpServlet实现Servlet程序

在这里插入图片描述
实际开发中,我们通常很少会用实现servlet接口来实现servlet程序,开发的时候一般都是使用继承httpservlet类的方式去实现Servlet程序。

在这里插入图片描述
(1) 编写一个类去继承HttpServlet
①、创建新类
在这里插入图片描述
②、doget()和dopost()你想重写谁就选谁,如果两个都重写就都选上
在这里插入图片描述
(3)重写完成对应方法的时候去调用方法
在这里插入图片描述

(七)使用IDEA创建Servlet程序

菜单->new->Create New Servlet

在这里插入图片描述
②配置servlet信息
在这里插入图片描述

(八)Servlet类的继承体系


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述
前言:从翻译上看,就知道是Servlet程序的配置信息类


2、ServletConfig类

(一)ServletConfig类的三大作用

在这里插入图片描述
具体实现:
在这里插入图片描述

①获取servlet-name的值

在这里插入图片描述

②获取初始化参数 int-param

在标签中去配置初始化参数,初始化参数可以定义多个
在这里插入图片描述

③获取ServletContext对象

(二)补充说明

在这里插入图片描述


3、ServletContext类

(一)、什么是ServletContext

①:
在这里插入图片描述
②:
在这里插入图片描述
在这里插入图片描述

(二)ServletContext类的四个作用

在这里插入图片描述
对应配置内容:
在这里插入图片描述

①获取xml配置中的上下文参数

在这里插入图片描述

②获取当前的工程路径,格式:/工程路径

在这里插入图片描述

③获取工程部署后在服务器上的绝对路径

在这里插入图片描述

④像map一样存取数据

获取ServletContext对象的方法
a、先获得ServletConfig再获得ServletContext在这里插入图片描述
b、直接获得ServletContext在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
域对象的补充
在这里插入图片描述


4、Http协议

(一)什么HTTP是协议

(二)请求的HTTP协议格式

客户端给服务器发送数据叫请求
服务器给客户端回传数据叫相应

请求又分为GET请求和POST请求

①GET请求

a、格式:
在这里插入图片描述
b、具体实例介绍:

在这里插入图片描述

②POST请求

a、格式:
在这里插入图片描述
b、发起post请求:
在这里插入图片描述
c、具体实例介绍:
在这里插入图片描述

③常用请求头的说明

在这里插入图片描述

④哪些是GET请求,哪些是POST请求

a、GET请求 :
在这里插入图片描述
b、POST请求 :
在这里插入图片描述

(三)相应的HTTP协议格式

①、格式:

在这里插入图片描述

②、具体实例介绍:

在这里插入图片描述

(四)常用的相应码说明

在这里插入图片描述

(五)MIME类型说明

在这里插入图片描述

常见的MIME类型:

在这里插入图片描述

(六)谷歌和火狐浏览器如何查看HTTP协议

谷歌:

在这里插入图片描述

火狐:

在这里插入图片描述

5、HttpServletRequest类

(一)HttpServletRequest类有什么作用

在这里插入图片描述

(二)HttpServletRequest类的常用API

在这里插入图片描述
xml文件配置:
在这里插入图片描述
具体操作:

  • 代码1:

在这里插入图片描述
对应结果1:
在这里插入图片描述

  • 代码二:

在这里插入图片描述

对应结果:
在这里插入图片描述

  • 代码三:

在这里插入图片描述
对应结果:
在这里插入图片描述

  • 代码四:

在这里插入图片描述
对应结果(敲回车键后,回车是GET):
在这里插入图片描述

(三)获取请求的参数值<补充>

对应HTML代码:

在这里插入图片描述

对应自定义类的doGet():

不正确写法:
在这里插入图片描述
正确写法:
在这里插入图片描述

正确结果:
在这里插入图片描述

(四)解决POST请求中文乱码问题

当post中文出现乱码情况的时候,需要通过req调用setCharacterEnCoding()方法来解决问题,即:

  • req.setCharacterEnCoding(“UTF-8”);

在这里插入图片描述

注意:setCharacterEnCoding()方法要在获取请求参数之前调用才有效

(五) 请求的转发

①、什么是请求转发?

在这里插入图片描述

②、原理理解图:

在这里插入图片描述

③代码实现:

原理理解图中的servlet1:

在这里插入图片描述
原理理解图中的servlet2:

在这里插入图片描述

④、请求转发的特点:

在这里插入图片描述

(六) base标签的作用

a标签跳转时(可以正常反复横跳):

在这里插入图片描述
请求转发进行跳转时(出现错误):

在这里插入图片描述
为了解决这个无法快乐反复横跳的问题,我们可以使用base标签!
在这里插入图片描述
因此
在这里插入图片描述
注:结尾的c.html是可以省略的,但是b后面的斜杠不能省略

(七) 回顾web中的相对路径和绝对路径

在这里插入图片描述

(八) 回顾web中 / 斜杠的不同意义

在这里插入图片描述

6、HttpServletResponse类

(一)HttpServletResponse类的作用

在这里插入图片描述

(二)两个输出流的说明

在这里插入图片描述
浏览器报错信息:

在这里插入图片描述

(三)如何往客户端回传数据

具体操作如下:
在这里插入图片描述

(四)解决相应的中文乱码

方案一:

写在相应的doGet()方法内:
在这里插入图片描述

方案二(更简单,推荐):

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值