【JavaWeb学习,快一起呀,干!】第二章 Servlet基础(2)—— 使用 Eclipse开发

开门见山~

我们又开始了

Servlet 本质上是平台独立的 Java 类,编写一个 Servlet,实际上就是按照 Servlet 规范编写一个 Java 类。

今天是以一个简单向客户端返回 “Hello Servlet!” 字符串的 Servlet 为例,介绍一下如何使用 Eclipse开发第一个 Servlet。

任务目标:

使用 Eclipse 开发第一个 Servlet

教学步骤:

一、创建 Java Web 项目

二、创建 Servlet

三、Servlet 的声明配置

四、Servlet 的部署运行

一、创建 Java Web 项目

教学开始:

· 在 Eclipse 中新建 Dynamic Web Project
在这里插入图片描述

二、创建 Servlet

教学开始:

· 选择 chapter02 项目,右键单击选择 New -> Servlet 菜单

· 在弹出的 Servlet 创建窗口中,输入新建的 Servlet 的包名和类名
在这里插入图片描述

我这里用的 default 包

· Next -> Next,选择 Servlet 中需要重写的方法
在这里插入图片描述
在这里插入图片描述

· Finish 完成,Eclipse 工具自动创建 HelloServlet 类代码
在这里插入图片描述

我们使用 Eclipse 工具创建了 Servlet,它默认继承 HttpServlet,同时默认重写 init()、destroy()、doGet() 和 doPost()

我们再做一步回顾

· init():Servlet 的初始化方法

· destroy():销毁前的处理方法

· doGet():处理 HTTP 协议 GET 请求

· doPost():处理 HTTP 协议 POST 请求

为了验证 Servlet 的生命周期以及在网页中输出第一个 “Hello Servlet!”,我们完善这份代码

老规矩,源代码在最后~

【代码】 HelloServlet.java
在这里插入图片描述
在这里插入图片描述
三、Servlet 的声明配置

Servlet 运行访问之前,需要对其进行声明配置。

Servlet 的配置信息主要包括 Servlet 的描述、名称、初始参数、类路径以及访问地址等。

在 Servlet 3.x 规范中,Servlet 的声明配置可以通过注解方式实现。

注解 @WebServlet,用于将一个类声明为 Servlet,该注解会在程序部署时被 Servlet 容器处理,容器将根据具体的属性配置把相应的类部署为 Servlet。

注解 @WebServlet 的属性及描述:

· 属性名 name 类型 String

指定 Servlet 的名字,可以为任何字符串,一般与 Servlet 的类名相同,如果没有显示自定,则该 Servlet 的取值即类的全限定名

· 属性名 urlPatterns 类型 String[]

指定一组 Servlet 的 URL 匹配模式,可以是匹配地址映射(如 /SimpleServlet)、匹配目录映射(如/servlet/*)和匹配扩展名映射(如 *.action)

· 属性名 value 类型 String[]

该属性等价于 urlPatterns 属性。两个属性不能同时使用。

· 属性名 loadOnStartup 类型 int

指定 Servlet 的加载顺序。

当此选项没有指定时,表示容器在 Servlet 第1次被请求时才加载;当值为0或者大于0时,表示容器在应用启动时就加载这个 Servlet。值越小,启动该 servlet 的优先级越高。原则上不同的 Servlet 应该使用不同的启动顺序数字。

· 属性名 initParams 类型 WebInitParam[]

指定一组 Servlet 初始化参数,为可选项

· 属性名 asyncSupported 类型 boolean

声明 Servlet 是否支持异步操作模式,默认为 false

· 属性名 description 类型 String

指定该 Servlet 的描述信息

· 属性名 displayName 类型 String

指定该 Servlet 的显示名,通常配合工具使用。

一个使用 @WebServlet 进行较为详细的 Servlet 声明配置代码

【示例】使用 @WebServlet 声明 Servlet
在这里插入图片描述
还记得我们刚刚写的代码吗?@WebServlet("/HelloServlet")
在这里插入图片描述
Eclipse 工具在创建 HelloServlet 时,自动为其生成了声明代码 @WebServlet("/HelloServlet"),表示当请求的 URL 地址匹配/HelloServlet 映射地址时,加载执行此 Servlet。

这种配置为 Servlet 的最简声明配置。

除了通过注释的方式进行声明外,还可以通过项目的配置文件 web.xml 完成

【示例】在 web.xml 中声明 Servlet
在这里插入图片描述

在 web.xml 中, 元素用于 Servlet 声明

web.xml 中 子元素的配置属性:

· 属性名 类型 String

指定该 Servlet 的描述信息,等价于 @WebServlet 的 description

· 属性名 类型 String

指定该 Servlet 的显示名,通常配合工具使用,等价于 @WebServlet 的 displayName 属性

· 属性名 类型 String

指名 Servlet 的名称,一般与 Servlet 的类名相同,要求在一个 web.xml 文件内名字唯一,等价于 @WebServlet 的 name 属性

· 属性名 类型 String

指定 Servlet 类的全限定名,即包名.类名

· 属性名

指定 Servlet 初始化参数,等价于 @Webservlet 的 initParams 属性,若有多个参数可重复定义此元素。此元素为可选配置

· 属性名 类型 String

指定初始参数名

· 属性名 类型 String

指定初始参数名对应的值

· 属性名 类型 int

指定 Servlet 的加载顺序,等价于 @WebServlet 的 loadOnStartup 属性

· 属性名 类型 boolean

指定 Servlet 是否支持异步操作模式,默认为 false,等价于 @WebServlet 的 asyncSupported 属性

与元素相对应的 元素用于指定 Servlet 的 URL 映射。
web.xml 中 子元素的配置属性:

· 属性名 类型 String

用来指定要映射的 Servlet 名称,要与 声明中的 值一致

· 属性名 类型 String

指定 Servlet 的 URL 匹配模式,等价于 @WebServlet 的 urlPatterns 属性或 value 属性

四、Servlet 的部署运行

好啦,终于来到最后一步了,部署运行。

Servlet 的部署与 JSP 稍有不同,Servlet 需要将编译好的 class 字节码文件部署到项目发布路径的 classes 目录下进行运行访问。

同 JSP 的访问一样,Servlet 的访问也需要有一个 URL 地址,其访问地址由 @WebServlet 的 urlPatterns 或 value 属性值决定。

本项目中根据 Edipse 工具自动生成的声明 @WebServlet("/HelloServlet"),对 HelloServlet 的访问地址为:
在这里插入图片描述

部署运行教学开始:

· 选中 HelloServlet 类,右键单击,选择 Run As -> Run on Server 菜单
在这里插入图片描述
· 选择要运行的 Servlet 的 Web 服务器,选择 Next 按钮,选择要发布的 Web 项目
在这里插入图片描述
· 选择 Finish 按钮,可以看到自动打开浏览器上的运行结果
在这里插入图片描述

当我们查看生成的网页源码时,可以看到其生成的页面源代码正为在 doGet() 方法中所输出的内容,同时在 Console 控制台可以看到在页面被访问时 init() 方法被调用执行的信息。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值