第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()

相关推荐
柒和远方8 小时前
从审计日志到可下载证据包:事务型 Outbox、租约 fencing 与保留水位
前端·后端·架构
minglie19 小时前
npm ali-oss库依赖冲突
前端·npm
CryptoPP9 小时前
BSE股票K线数据接入实战:从接口调用到前端图表展示
大数据·前端·网络·人工智能·websocket·网络协议
没落英雄11 小时前
5. 从零开始搭建一个 AI Agent —— 人机协作与中断恢复
前端·人工智能·架构
品尚公益团队11 小时前
C#在asp.net网页开发中的带cookie登录实现
前端·c#·asp.net
没有了遇见12 小时前
AI Agent 是什么?—— 一文理解 LLM、Memory、Skills、Tools、MCP、Workflow,Context
android·前端·程序员
后台开发者Ethan13 小时前
setState组件更新
前端·javascript·react
谙忆102413 小时前
大文件上传实战:前端分片、断点续传、秒传与并发控制怎么落地
前端
轻动琴弦13 小时前
VoltTool —— 一站式在线开发者工具平台,69+实用工具免费使用
前端·chrome
就叫飞六吧13 小时前
不同站点iframe嵌套种cookie、localstorege.set() 关系
前端