带你吃透Servlet技术(一)

2年前其他教程15182
带你吃透Servlet技术(一) 几分醉意. 已于2022-10-18 10:57:53修改 1721 收藏 81 分类专栏: JavaWab 文章标签: servlet java 前端 tomcat 于2022-10-12 18:51:19首次发布 JavaWab 专栏收录该内容 8 篇文章 3 订阅 订阅专栏

本文目录 💖什么是 Servlet✨第一个Servlet程序✨常见的错误✨url地址定位Servlet程序去访问详解✨Servlet 的生命周期✨GET 和 和 POST 请求的分发处理

💖什么是 Servlet

1、Servlet 是 JavaEE 规范之一。规范就是接口 2、Servlet 就 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。 3、Servlet 是运行在服务器上的一个 java 小程序, 它可以接收客户端发送过来的请求,并响应数据给客户端。

✨第一个Servlet程序

1、编写一个类去实现 Servlet 接口。 2、实现 service 方法,处理请求,并响应数据。 3、到 web.xml 中去配置 servlet 程序的访问地址。

Servlet 程序的示例代码:

public class HelloServlet implements Servlet { /** * service 方法是专门用来处理请求和响应的 * @param servletRequest * @param servletResponse * @throws ServletException * @throws IOException */ @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("Hello Servlet 被访问了"); } }

web.xml 中的配置:

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!-- servlet 标签给 Tomcat 配置 Servlet 程序 --> <servlet> <!--servlet-name 标签 Servlet 程序起一个别名(一般是类名) --> <servlet-name>HelloServlet</servlet-name> <!--servlet-class 是 Servlet 程序的全类名 --> <servlet-class>com.atguigu.servlet.HelloServlet</servlet-class> </servlet> <!--servlet-mapping 标签给 servlet 程序配置访问地址 --> <servlet-mapping> <!--servlet-name 标签的作用是告诉服务器,我当前配置的地址给哪个 Servlet 程序使用 --> <servlet-name>HelloServlet</servlet-name> <!--url-pattern 标签配置访问地址 <br/> / 斜杠在服务器解析的时候,表示地址为: http://ip:port/ 工程路径 <br/> /hello 表示地址为: http://ip:port/ 工程路径 /hello <br/> --> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app> ✨常见的错误

常见的错误 1:url-pattern 中配置的路径没有以斜杠打头。 常见错误 2:servlet-name 配置的值不存在: 常见错误 3:servlet-class 标签的全类名配置错误:

✨url地址定位Servlet程序去访问详解

✨Servlet 的生命周期

第一步:执行 Servlet 构造器方法。 第二步:执行 init 初始化方法。 第一、二步,是在第一次访问,的时候创建 Servlet 程序会调用。 第三步:执行 service 方法。第三步,每次访问都会调用。 第四步:执行 destroy 销毁方法。第四步,在 web 工程停止的时候调用。

✨GET 和 和 POST 请求的分发处理 public class HelloServlet implements Servlet { /** * service 方法是专门用来处理请求和响应的 * @param servletRequest * @param servletResponse * @throws ServletException * @throws IOException */ @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("3 service === Hello Servlet 被访问了"); // 类型转换(因为它有 getMethod() 方法) HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest; // 获取请求的方式 String method = httpServletRequest.getMethod(); if ("GET".equals(method)) { doGet(); } else if ("POST".equals(method)) { doPost(); } } /** * 做 get 请求的操作 */ public void doGet(){ System.out.println("get 请求"); System.out.println("get 请求"); } /** * 做 post 请求的操作 */ public void doPost(){ System.out.println("post 请求"); System.out.println("post 请求"); } }

相关文章

MySQL 5.7详细下载安装配置教程

MySQL 5.7详细下载安装配置教程...

cookie是什么?有什么用?cookie详解,一篇文章彻底搞懂cookie

cookie是什么?有什么用?cookie详解,一篇文章彻底搞懂cookie...

springboot整合elasticsearch

springboot整合elasticsearch...

MySQL中的事务和事务隔离级别

MySQL中的事务和事务隔离级别...

❤️爆肝十二万字《python从零到精通教程》,从零教你变大佬❤️(建议收藏)

❤️爆肝十二万字《python从零到精通教程》,从零教你变大佬❤️(建议收藏)...

如何在Linux服务器上安装Anaconda(超详细)

如何在Linux服务器上安装Anaconda(超详细)...