当前位置: 首页 > news >正文

学习Java第57天,Servlet的基本使用步骤

步骤1 开发一个web类型的module

步骤2 开发一个UserServlet

public class UserServlet  extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 获取请求中的参数String username = req.getParameter("username");if("atguigu".equals(username)){//通过响应对象响应信息resp.getWriter().write("NO");}else{resp.getWriter().write("YES");}}
}
  • 自定义一个类,要继承HttpServlet类

  • 重写service方法,该方法主要就是用于处理用户请求的服务方法

  • HttpServletRequest 代表请求对象,是有请求报文经过tomcat转换而来的,通过该对象可以获取请求中的信息

  • HttpServletResponse 代表响应对象,该对象会被tomcat转换为响应的报文,通过该对象可以设置响应中的信息

  • Servlet对象的生命周期(创建,初始化,处理服务,销毁)是由tomcat管理的,无需我们自己new

  • HttpServletRequest HttpServletResponse 两个对象也是有tomcat负责转换,在调用service方法时传入给我们用的

步骤3 在web.xml为UseServlet配置请求的映射路径

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"version="5.0"><servlet><!--给UserServlet起一个别名--><servlet-name>userServlet</servlet-name><servlet-class>com.atguigu.servlet.UserServlet</servlet-class></servlet><servlet-mapping><!--关联别名和映射路径--><servlet-name>userServlet</servlet-name><!--可以为一个Servlet匹配多个不同的映射路径,但是不同的Servlet不能使用相同的url-pattern--><url-pattern>/userServlet</url-pattern><!-- <url-pattern>/userServlet2</url-pattern>--><!--/        表示通配所有资源,不包括jsp文件/*       表示通配所有资源,包括jsp文件/a/*     匹配所有以a前缀的映射路径*.action 匹配所有以action为后缀的映射路径--><!-- <url-pattern>/*</url-pattern>--></servlet-mapping></web-app>
  • Servlet并不是文件系统中实际存在的文件或者目录,所以为了能够请求到该资源,我们需要为其配置映射路径

  • servlet的请求映射路径配置在web.xml中

  • servlet-name作为servlet的别名,可以自己随意定义,见名知意就好

  • url-pattern标签用于定义Servlet的请求映射路径

  • 一个servlet可以对应多个不同的url-pattern

  • 多个servlet不能使用相同的url-pattern

  • url-pattern中可以使用一些通配写法

    • / 表示通配所有资源,不包括jsp文件

    • /* 表示通配所有资源,包括jsp文件

    • /a/* 匹配所有以a前缀的映射路径

    • *.action 匹配所有以action为后缀的映射路径

步骤4 开发一个form表单,向servlet发送一个get请求并携带username参数

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><form action="userServlet">请输入用户名:<input type="text" name="username" /> <br><input type="submit" value="校验"></form>
</body>
</html>

最后启动项目测试.

http://www.lryc.cn/news/248004.html

相关文章:

  • 解决:ValueError: must have exactly one of create/read/write/append mode
  • 大数据-之LibrA数据库系统告警处理(ALM-37014 Gaussdb进程锁文件已经存在)
  • STM32 基础知识
  • JVM——产生内存溢出原因
  • 关于X86机器上运行GnuCobol的研究
  • open与openat的区别
  • 人工智能与供应链行业融合:预测算法的通用化与实战化
  • Cytoscape学习教程
  • computed和watch相关
  • 反思一次效能提升
  • ElasticSearch之cat indices API
  • Composer update 跳过指定依赖
  • @RequestMapping详解:请求映射规则
  • C#中密封类和密封方法
  • Pytorch中的Net.train()和 Net.eval()函数讲解
  • 氪了几百亿,字节游戏停止了“跳动”
  • 进入docker容器
  • C陷阱与缺陷——第5章库函数
  • 【C++上层应用】6. 信号 / 中断
  • 树与二叉树堆:堆的意义
  • 什么时候适合做ui自动化测试?什么时候做接口自动化测试
  • [ABC261E] Many Operations(dp,位运算,打表)
  • 一、爬虫-爬取豆瓣电影案例
  • 4G5G防爆执法记录仪、防爆智能安全帽赋能智慧燃气,可视化巡检巡线,安全生产管控
  • 武汉数字孪生赋能工业制造,加速推进制造业数字化转型
  • 安卓密码框、EditText
  • ROS命令行工具
  • 深入浅出 Golang 中的直接依赖和间接依赖管理
  • 深入Python元编程:了解声明与初始化定制元类
  • [传智杯初赛] 期末考试成绩