Servlet(一)——C/S和B/S架构、Tomcat服务器、Servlet(核心接口和类、搭建环境、编写Servlet、两种配置、编码格式、两种初始化方式、service方法、get和post)

服务器(一)——

一、引言

1、C/S架构和B/S架构

C/S和B/S是软件发展过程中出现的两种软件架构方式。

2、C/S架构(Client / Server 客户端/服务器)

特点:必须在客户端安装特定软件。

优点:图形效果显示较好(如:3D游戏)。

缺点:服务器的软件和功能进行升级,客户端也必须升级、不利于维护。
常见的C/S程序:QQ、微信等。

在这里插入图片描述

3、B/S架构(Browser / Server 浏览器 / 服务器)

特点:无需安装客户端,任何浏览器都可直接访问。

优点:涉及到功能的升级,只需要升级服务器端。

缺点:图形显示效果不如C / S架构。

需要通过HTTP协议访问。

在这里插入图片描述

二、服务器

1、概念——什么是 Web 服务器

Web服务器是运行及发布Web应用的容器,只有将开发的Web项目放置到该容器中,才能使网络
中的所有用户通过浏览器进行访问。

2、常见的服务器

在这里插入图片描述

3、Tomcat服务器

在这里插入图片描述

a、下载 / 安装

在这里插入图片描述

在这里插入图片描述

b、Tomcat目录结构

在这里插入图片描述

c、启动 / 停止 Tomcat

进入 tomcat 安装目录 bin 下,双击 startup.bat 启动程序。

双击shutdown.bat即可关闭Tomcat启动窗口。

d、修改端口号

在这里插入图片描述

e、URL 组成和 Tomcat 响应流程图

在这里插入图片描述

三、Servlet

1、概念

在这里插入图片描述

2、核心接口和类

在这里插入图片描述

a、Servlet 接口

在这里插入图片描述

b、GenericServlet抽象类

在这里插入图片描述

c、HttpServlet类

在这里插入图片描述

3、作用

在这里插入图片描述

4、搭建开发环境

用 IDEA 创建项目:在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
选取安装 Tomcat 目录,注意,必须下一层是 bin 的目录的那层。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、编写 servlet

在 Tomcat 安装目录里面找到 lib 文件夹,找到 servlet 包,复制。然后在项目 WEB-INF 下面手动创建 lib 文件夹,粘贴到里面来,并导入包:
在这里插入图片描述

编写 servlet 有两种方法,一个是实现,一个是继承(推荐继承):

a、实现(不推荐)

如果是通过实现,则需要重写 5 个方法,这种方式不推荐。
在这里插入图片描述

b、继承(推荐)

如果是通过继承方式,则只需要需要哪个方法时就重写哪个方法即可:
在这里插入图片描述

6、deGet()方法

在这里插入图片描述

doGet()方法是专门用来接收 get 方式发送参数的方法。

当在浏览器地址栏输入是一个地址,按回车,发送请求,这个请求就是一个 GET 请求,GET 请求到达服务端之后,将被 doGet 方法接收并处理。

req :当前请求对象,当前请求地址,参数等等都可以从这个对象获取。
resp:响应对象,如果想给客户端返回一段数据,就可以通过这个对象返回。

7、配置 servlet 的两种方式

Servlet2.5:Tomcat6之前(包含 Tomcat6)——不支持通过注解的方式,所以使用配置文件来配置。

Servlet3.0.1从 Tomcat7 开始,基本都是使用通过注解的方式来配置。

a、通过配置文件来配置

在 WEB-INF 下面,有一个 web.xml 的文件,在里面进行注册操作:
在这里插入图片描述
注意:访问路径必须以 / 或者 * 开头。

b、通过注解来配置

在这里插入图片描述
urlPatterns 填的是路由,记住一定要带有 /,上图中意味着这两个路径都能访问。

8、编码格式

在这里插入图片描述

9、init()——Servlet 初始化

这个方法用来完成 Servlet 的初始化操作。

完成初始化操作有两种方法,一是通过配置文件(不推荐);二是通过注解(推荐)。

a、初始化方法一(通过配置文件)

在这里插入图片描述
然后 init()方法:

在这里插入图片描述

b、初始化方法二(通过注解——推荐)

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

10、service()方法

这个方法是处理请求的核心方法,所有请求都会进入到这个方法中去。

可以自行通过查看源码的方式去得知。

注意:一但重写了此方法,则请求不会再走 doGet()方法和 doPost()方法等,直接走 service()方法,所以一旦使用此方法,则需要自己手动处理请求。

11、getServletInfo()

获取其他信息。

12、destory()

销毁时触发该方法。

13、get 请求和 post 请求

两者的区别:
在这里插入图片描述在这里插入图片描述

post 方法同样可以通过地址栏的方式将数据提交

解决 URL 地址栏乱码的方式:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值