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

第42天:Web开发-JavaEE应用Servlet技术路由配置生命周期过滤器Filter监听器Listen

#知识点

1、安全开发-JavaEE-Servlet技术

2、安全开发-JavaEE-监听器&过滤器

 

参考:

https://mp.weixin.qq.com/s/c_4fOTBKDcByv8MZ9ayaRg

https://blog.csdn.net/qq_52173163/article/details/121110753

一、Servlet

Servlet是运行在Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层使用Servlet可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。本章内容详细讲解了web开发的相关内容以及servlet相关内容的配置使用,是JAVAEE开发的重中之重。

二、JavaEE-IDEA开发

安装IDEA,激活后安装开发插件

安装JDK,Tomcat,新建项目并配置

1、创建和使用Servlet

①创建一个类继承HttpServlet

下面的"IndexServlet"就是一个创建的类

②web.xml配置Servlet路由

post请求

③WebServlet配置Servlet路由

2、Servlet生命周期

快捷键:alt+insert->快速调出内置方法

写入内置方法(init service(doget dopost等) destroy )

生命周期:先执行init()->service方法(doget,dopost,doput)->destroy()

3、处理接受和回显

get请求传参,数据回显

●HttpServletRequest是ServletRequest的子接口

getParameter(name) — String 通过name获得值

getParameterValues — String[ ] 通过name获得多值

●HttpServletResponse是ServletResponse的子接口

setCharacterEncoding() 设置编码格式

setContentType() 设置解析语言

getWriter() 获得一个PrintWriter字符输出流输出数据

PrintWriter 接受符合类型数据

三、JavaEE-过滤器-Filter

Filter被称为过滤器,过滤器实际上就是对Web资源进行拦截,做一些处理后再交给下一个过滤器或Servlet处理,通常都是用来拦截request进行处理的,也可以对返回的 response进行拦截处理。开发人员利用filter技术,可以实现对所有Web资源的管理,例如实现权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。

1、创建过滤器

2、过滤器内置方法

init doFilter destroy

访问路由/index

3、过滤器触发流程

在过滤器Filter里面设置过滤

重新启动,XssFilter被初始化

传入正常参数,无问题

传入xss恶意语句

路由配置

@WebFilter("/xss")

<filter>

<filter-name>xssFilter</filter-name>

<filter-class>com.example.filter.xssFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>xssFilter</filter-name>

<url-pattern>/xss</url-pattern>

</filter-mapping>

4、过滤器安全场景

Payload检测,权限访问控制,红队内存马植入,蓝队清理内存马等 

内存马参考:https://mp.weixin.qq.com/s/hev4G1FivLtqKjt0VhHKmw

5、案例演示

xss攻击的检测,管理页面的cookie检测

四、JavaEE-监听器-Listen

参考:https://blog.csdn.net/qq_52797170/article/details/124023760

-监听ServletContext、HttpSession、ServletRequest等域对象创建和销毁事件

-监听域对象的属性发生修改的事件

-监听在事件发生前、发生后做一些必要的处理

1、创建监听器

2、监听器内置方法

3、监听器触发流程

@WebListener

<listener>

.......

</listener>

4、监听器安全场景

代码审计中分析执行逻辑触发操作,红队内存马植入,蓝队清理内存马等

5、案例演示

session存在的监听

创建一个类似管理界面的类AdminServlet

编写SessionListen类里面的代码

配置路由

启动:

获取session后访问路由/admin

销毁session后访问路由/admin

总结:

a、熟练servlet,Filter过滤器,listen监听器操作

b、熟练两种路由配置方式操作

c、重点理解Servlet生命周期

生命周期:先执行init()->service方法(doget,dopost,doput)->destroy()


http://www.kler.cn/a/549488.html

相关文章:

  • 【强化学习】Q-learning算法详解:含MATLAB和Python实现代码
  • Python —— format函数的使用
  • 基于图像处理的裂缝检测与特征提取
  • Jmeter断言、关联、录制脚本
  • EasyExcel提取excel文档
  • 【Python爬虫(5)】HTTP协议:Python爬虫的基石
  • SSH IBM AIX服务器相关指标解读
  • 【第14章:神经符号集成与可解释AI—14.1 神经符号AI系统的基本原理与实现方法】
  • 怎么在智能合约中植入deepseek
  • Java程序性能优化 读书笔记
  • 2024 StoryDiffusion 文字/文字+图像----->视频
  • STM32的HAL库开发---ADC
  • C#_文件写入读取操作
  • DeepSeek教unity------MessagePack-02
  • 备战蓝桥杯 Day1 回顾语言基础
  • lec9-Sortings
  • 【ESP32】ESP-IDF开发 | WiFi开发 | HTTPS服务器 + 搭建例程
  • 【动态规划】落花人独立,微雨燕双飞 - 8. 01背包问题
  • 【Java学习】二维数组
  • 蓝桥杯---颜色分类(leetcode第75题)题解