Servlet入门必备知识

article/2025/10/2 18:32:47

目录

什么是Servlet

手动实现Servlet程序

 常见的配置错误

 Servlet-url如何定位到Servlet程序去访问

Servlet生命周期

Servlet生命周期总结 

Servlet 请求的分发处理


什么是Servlet

1、servlet是javaEE规范之一。规范就是接口

2、servlet就是javaweb三大组件之一。三大组件分别是:servlet程序、Filter过滤器、Listenter监听器。

3、servlet是运行在服务器上的一个java小程序,它可以接受客服端发送过来得请求,并响应数据给客服端。

手动实现Servlet程序

步骤:

1、编写一个类去实现Servlet接口

2、实现service方法,处理请求,并相应数据

3、到web.xml中配置Servlet程序的访问地址

创建一个servlet模块,和步骤之前tomcat类似

在src下创建一个类去实现Servlet接口,快捷键Alt+insert选择实现方法,回车即可

 新建的这个类如是: 

package com.servlet;import javax.servlet.*;
import java.io.IOException;public class HelloServlet implements Servlet {@Overridepublic void init(ServletConfig servletConfig) throws ServletException {}@Overridepublic ServletConfig getServletConfig() {return null;}/*** service方法是专门用来处理请求和响应的(只要执行这个类就会访问)* @param servletRequest* @param servletResponse* @throws ServletException* @throws IOException*/@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println("hello servlet被访问了");}@Overridepublic String getServletInfo() {return null;}@Overridepublic void destroy() {}
}

 3.到web.xml配置,在web-app标签里写入如下

<!--servlet标签给Tomcat配置Servlet程序--><servlet><!-- servlet-name给Servlet程序起一个别名(一般别名起为类名)--><servlet-name>HelloServlet</servlet-name><!--servlet-class是Servlet程序的全类名 --><servlet-class>com.servlet.HelloServlet</servlet-class></servlet><!--servlet-mapping标签是给Servlet程序配置访问地址    --><servlet-mapping><!-- servlet-name是告诉服务器我当前配置的地址是给哪一个Servlet程序使用--><servlet-name>HelloServlet</servlet-name><!--url-pattern配置访问地址/  斜杠在服务器解析的时候,表示地址为:http://ip:port/工程路径     <br/>/hello  表示地址为:http://ip:port/工程路径/hello    <br/>--><url-pattern>/hello</url-pattern></servlet-mapping>

4、我们在index.jsp下写入一些内容,然后启动

 结果:

 前面在Tomcat也说过了,只写到工程名,没有资源名默认访问index,index目录下的内容会呈现到浏览器上

我们前面给这个配置了路径为hello,我们在加上就会访问servlet程序

 常见的配置错误

①起的路径名是随意起的,没有任何相关性,这虽然没有任何问题,但是不好分辨

②,路径没有以斜杆开头,如:

  <url-pattern>hello</url-pattern>

这样会导致出错

 所以一般起名字前得加/,正确写法:

  <url-pattern>hello</url-pattern>

 ③、在名字不同

 在idea还可以有提示,有些编辑器就不会给提示,运行之后

 在servlet-mapping配置访问地址时,要和前面起的别名一致

④、标签的全类名写错、漏写

全类名是要写出实现Servlet接口那个类所在的位置,写错、少写都会报错,

圈起来的要一致 

 Servlet-url如何定位到Servlet程序去访问

 其中,一个端口号只能给一个工程,一个工程可以占用多个端口号,(工程就是文件夹,资源就是文件夹里的目录)

Servlet生命周期

之前的类

package com.servlet;import javax.servlet.*;
import java.io.IOException;public class HelloServlet implements Servlet {public HelloServlet() {System.out.println("1 构造器");}@Overridepublic void init(ServletConfig servletConfig) throws ServletException {System.out.println("2 init初始化方法");}@Overridepublic ServletConfig getServletConfig() {return null;}/*** service方法是专门用来处理请求和响应的(只要执行这个类就会访问)* @param servletRequest* @param servletResponse* @throws ServletException* @throws IOException*/@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println("3 Servlet==hello servlet被访问了");}@Overridepublic String getServletInfo() {return null;}@Overridepublic void destroy() {System.out.println("4 destroy销毁方法");}
}

当我们启动,访问http://localhost:8080/01_servlet/hello

 一开始出现1 2 3,后面一直刷新就一直出现3,退出程序出现4

Servlet生命周期总结 

1.执行setvlet构造器方法

2.执行init初始化方法

 第一和第二步是在第一次访问的时候创建servlet程序会调用,

3.执行servlet方法

第三步,每次访问都会调用

4.执行destroy销毁方法

第四步,在web工程停止的时候调用

Servlet 请求的分发处理

我们使用表单提交时,有get(非加密)和post(加密)两种提交方式

创建一个表单a.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<form action="http://localhost:8080/02_servlet/hello" method="post"><input type="submit">
</form>
</body>
</html>

 在实现的Servlet接口的类,中的重写的service方法中

   @Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println("3 Servlet==hello servlet被访问了");//类型转化,因为HttpServletRequest有getMethod方法HttpServletRequest httpServletRequest= (HttpServletRequest) servletRequest;//getMethod识别当前提交方式是get还是post,分别返回"GET"和"POST"String method=httpServletRequest.getMethod();if("GET".equals(method)){//为了防冗余和更好的维护,定义方法// System.out.println("get请求");doGet();}else if ("POST".equals(method)){// System.out.println("post请求");doPost();}}public void doGet(){System.out.println("get请求");}public void doPost(){System.out.println("post请求");}

启动服务器,后如图所示

 运行在浏览器后,每次提交都会访问service方法,并打印出对应的method


http://chatgpt.dhexx.cn/article/qohyco3n.shtml

相关文章

Servlet入门

一&#xff0c;简单使用servlet 1.在游览器输出hello Word 1.创建一个java普通类&#xff0c;实现Servlet类 实现servlet类有三种方法&#xff1a;①实现servlet接口②继承GenericServlet③HttpServlet package com.hqyj.gwr.servlet;import javax.servlet.*; import java.…

Servlet快速入门

目录 1、Servlet简介 2、代码实现 2.1、环境准备 2.2、实现servlet接口 2.3、配置web.xml文件 2.4、url-pattern的三种配置方式 2.5、快速创建Servlet 2.6、修改快速创建模版&#xff08;针对以上模版不一致或者webServlet中请求路径没有/&#xff09; 3、项目部署位置…

12款免费HTML5开发框架和开发工具…

HTML5 在不同的领域让网页设计更强大的。快速&#xff0c;安全&#xff0c;响应式&#xff0c;互动和美丽&#xff0c;这些优点吸引更多的Web开发人员使用HTML5。HTML5有许多新的特性功能&#xff0c;允许开发人员和设计师创建应用程序和网站&#xff0c;带给用户桌面应用程序的…

HTML --- 开发工具篇(Hbuilder X)以及相关标签

目 录 1.常见的开发工具有 2.创建HTML文件 3.!DOCTYPE html标签 4.页面语言标签lang 5.设置字符集编码方式charset和META标记 为了提高我们的开发效率&#xff0c;减少代码的出错&#xff0c;我们并不提倡用记事本开发&#xff0c;我们有更好的开发工具。开发工具功能…

HTML与CSS基础(一)—— HTML基础(web标准、开发工具、标签)

目标 能够理解HTML的 基本语法 和标签的关系 能够使用 排版标签 实现网页中标题、段落等效果 能够使用 相对路径 选择不同目录下的文件 能够使用 媒体标签 在网页中显示图片、播放音频和视频 能够使用 链接标签 实现页面跳转功能 一、基础认知 目标&#xff1a;认识 网页组成 和…

HTML系列之开发工具

一 欢迎来到我的酒馆 介绍web开发中&#xff0c;各种开发工具的安装与使用。 目录 一 欢迎来到我的酒馆二.vscode三.webstorm 二.vscode 前端的开发工具种类繁多&#xff0c;如&#xff1a;WebStorm&#xff0c;Sublime Text&#xff0c;Atom&#xff0c;HBuilder&#xff0c;…

【HTML 教程系列第 1 篇】HTML 是什么?常用的开发工具有哪些?

这是【HTML 教程系列第 1 篇】&#xff0c;如果觉得有用的话&#xff0c;欢迎关注专栏。 文章目录 一&#xff1a;HTML 是什么二&#xff1a;HTML 要学习什么三&#xff1a;HTML 文档的后缀名四&#xff1a;HTML 的开发工具有哪些 一&#xff1a;HTML 是什么 HTML&#xff0c…

WebStorm中文HTML编辑开发工具

WebStorm中文是一款功能强大的网页编程工具&#xff0c;功能非常强大&#xff0c;HTML5/JavaScript Web前端开发工具用户可以利用软件实现在线编程&#xff0c;为你提供最为专业的开发服务&#xff0c;让你的工作学习事半功倍被广大中国JS开发者誉为“Web前端开发神器”、“最强…

用于编写HTML代码的常见工具

1、记事本&#xff08;不推荐&#xff09; 特点&#xff1a;记事本编写页面代码不适合初学者使用&#xff0c;因为无代码提示、无代码高亮显示、用户界面不友好&#xff1b; 使用步骤&#xff1a; 首先任选一个位置新建一个记事本 打开记事本&#xff0c;写上代码并保存 将文件…

HTML标签及网页开发工具的使用(VSCode)

一、HTML语法规范 1.1所有的标签都应该包括在<>里面&#xff0c;如<html>或</html>等&#xff0c;大部分的标签都是成对出现的&#xff0c;<>里没/的为开始标签&#xff0c;<>里有/的为结束标签&#xff0c;因为这些标签是成对出现的&#xff0c…

【HTML】前端网页开发工具Vscode中DOCTYPE和lang以及字符集的作用

&#x1f60a;博主页面&#xff1a;鱿年年的学习之路 &#x1f449;博主推荐专栏&#xff1a;《前端基础学习》&#x1f448; ​&#x1f493;博主格言&#xff1a;追风赶月莫停留&#xff0c;平芜尽处是春山❤️ 目录 前言 Vscode工具生成骨架标签新增代码 一、<!DOCT…

HTML(一):开发工具

1.1、开发工具 目前前端开发工具繁多&#xff0c;例如Dreamweaver、Sublime、Hbuilder、Vscide等等。对于新手开发来说&#xff0c;我比较推荐使用HBuilder。 1.2、使用HBuilder 我们在开发的时候&#xff0c;都需要新建一个HTML页面&#xff0c;我都在页面中编写代码。 HBu…

Html5开发工具介绍

14款主流HTML5开发工具 http://sanwen8.cn/p/273vS6p.html HTML5被看做是web开发者创建流行web应用的利器&#xff0c;增加了对视频和Canvas 2D的支持。HTML5的诞生还让人们重新审视浏览器专用多媒体插件的未来&#xff0c;如Adobe的Flash和微软的Silverlight&#xff0c;HTML…

HTML(四)——HTML标签(三)——开发工具插件安装

目录 开发工具 VScode的使用 VScode工具生成骨架标签新增代码 4.3.1 文档类型声明标签 4.3.2 lang语言种类 4.3.3 字符集 总结 VSCode插件安装 安装方法 推荐插件 代码实现 实现结果 开发工具 VScode的使用 双击打开软件新建文件&#xff08;ctrlN&#xff09;保…

HTML简介与开发工具推荐[初学HTML](一)

HTML简介 HTML&#xff08; Hyper Text Markup Language&#xff09;&#xff0c;即超文本标记语言。 1. 基础结构 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible"…

HTML的怎么使用,开发工具以及常用标签。

HTML的怎么使用&#xff0c;开发工具以及常用标签。 欢迎大家去博客冰山一树Sankey&#xff0c;浏览效果更好。直接右上角搜索该文字标题即可 CSDN主页&#xff1a;CSDN主页-冰山一树Sankey 博客园主页&#xff1a;博客园主页-冰山一树Sankey 前端学习&#xff1a;学习地址&…

html - 1.开发工具

HTML简介 HTML(Hyper Text Markup Language)超文本标记语言&#xff0c;是一种标记语言。它包括一系列标签&#xff0e;通过这些标签可以将网络上的文档格式统一&#xff0c;使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本&#xff0c;HTML命令…

HTML的开发工具

主要是Visual Studio Codehttps://download.zol.com.cn/tuiguang/detail/48/470292.shtml?qw &#xff08;这个是下载地址&#xff09; https://www.jb51.net/softjc/733119.html&#xff08;这个是设置为中文&#xff09;

HTML学习(四):开发工具(编辑器)

一、Dreamweaver Adobe Dreamweaver&#xff0c;简称“DW”&#xff0c;中文名称 "梦想编织者"。最初为美国Macromedia公司开发 &#xff0c;2005年被Adobe公司收购。DW是集网页制作和管理网站于一身的所见即所得网页代码编辑器。 官方地址&#xff1a; Dreammwea…

常用HTML5开发工具有哪些?

常用HTML5开发工具有哪些&#xff1f; 在开发前端页面时&#xff0c;为了快速、高效地完成任务&#xff0c;通常会使用一些具有代码高亮显示、语法提示等便捷功能的HTML5开发工具。常见的HTML5开发工具有Sublime、Visual Studio Code、webstorm、Dreamweaver、Hbuilder等&…