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

第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.dtcms.com/a/27501.html

相关文章:

  • C#```
  • Server-Sent Events(SSE)协议详解
  • 千峰React:组件使用(1)
  • 基于Spring Boot的售楼管理系统设计与实现(LW+源码+讲解)
  • Spring Cloud中如何使用Eureka:超详细指南
  • 产业园区数字孪生规划方案(40页PPT)
  • 嵌入式学习(18)---Linux文件编程中的进程
  • 代码随想录算法训练营第六天| 242.有效的字母异位词 、349. 两个数组的交集、202. 快乐数 、1. 两数之和
  • 《Kettle保姆级教学-性能调优,抽取速率提升800%》
  • java网络编程02 - HTTP、HTTPS详解
  • 若依-@Excel新增注解numberFormat
  • 【SFRA】笔记
  • 【可实战】Linux 常用统计命令:排序sort、去重uniq、统计wc
  • idea连接gitee完整教程
  • 精通特征选择:过滤器方法提升机器学习模型的技巧
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • docker中pull hello-world的时候出现报错
  • javaSE学习笔记20-线程(thread)的状态以及控制
  • Day6 25/2/19 WED
  • Win10下安装 Redis
  • ssh免密登录配置
  • 【前端】使用WebStorm创建第一个项目
  • 【笑着写算法系列】位运算
  • Python常见面试题的详解13
  • Linux | 进程控制(进程终止与进程等待)
  • 鱼皮面试鸭30天后端面试营
  • MySQL 如何使用EXPLAIN工具优化SQL
  • 知识拓扑-xmind
  • 第四章:高级特性与最佳实践 - 第三节 - Tailwind CSS 性能优化策略
  • QSNCTF-WEB做题记录