JAVA安全基础(一)JAVA EE分层模型以及MVC框架简述
字数 1662 2025-08-12 11:34:35
Java安全基础教学文档:Java EE分层模型与MVC框架
一、Java基础知识回顾
1. Java面向对象核心概念
-
对象:类的实例,具有状态和行为
- 示例:狗对象的状态(颜色、名字、品种)和行为(摇尾巴、叫、吃)
-
类:描述一类对象行为和状态的模板
-
方法:类的行为实现,包含逻辑运算、数据修改等操作
-
实例变量:决定对象状态的变量
2. Java标识符
- 所有组成部分都需要名字
- 包括:类名、变量名、方法名
3. Java修饰符
访问控制修饰符
- default
- public
- protected
- private
非访问控制修饰符
- final
- abstract
- static
- synchronized
二、Java EE分层模型
1. 分层背景
- 早期Web开发:静态HTML → 动态页面与数据库混合
- 问题:代码混乱、维护困难(单个文件可能上万行)
2. Java EE标准分层
-
Domain Object层
- 由POJO(Plain Old Java Object)组成
- 包含业务逻辑方法
-
DAO(Data Access Object)层
- 实现数据库CRUD操作
- 为业务逻辑层提供数据访问服务
-
Service层
- 业务逻辑对象集合
- 实现系统业务逻辑方法
-
Controller层
- 控制器集合
- 拦截用户请求,调用业务逻辑方法
- 根据处理结果转发到不同View
-
View层
- 页面及视图组件
- 收集用户请求,显示处理结果
3. 分层优势
- 易于维护
- 简化管理
- 适应大规模复杂应用
- 提高系统并发处理能力
三、MVC框架详解
1. MVC核心概念
- Model(模型):数据模型,Java POJO
- View(视图):用户界面
- Controller(控制器):确保M和V同步
2. MVC处理流程
- Controller接收用户请求
- 决定调用哪个Model处理
- Model处理请求并返回数据
- View呈现数据给用户
3. MVC优势
- 视图层和业务层分离
- 修改View不影响Model和Controller
- 业务规则变更只需修改Model
- 便于工程化管理代码
4. Java MVC架构模式
层次结构
-
View层
- 技术实现:JSP, Structs, SpringMVC等
-
Controller层
- 技术实现:Servlet/Filter, Spring等
-
Service层
-
DAO层
- 技术实现:JDBC, ORM框架(Spring JDBC, JPA, Hibernate, Mybatis)
-
Model层
- JavaBean对象
-
Utilities层
- 公共工具
架构演进阶段
-
阶段一:Servlet/Filter架构
- Controller: Servlet/Filter
- View: JSP
- Model: JavaBean
- 数据库访问: JDBC
-
阶段二:SSH架构
- Controller: Spring
- View: Structs
- DB访问: Hibernate
- 特点:专业化分工但笨重
-
阶段三:SSM架构
- Controller: Spring
- View: SpringMVC
- DB访问: Mybatis
- 特点:轻量灵活
四、Java安全审计要点
1. 审计方法论
- 关注输入、处理和输出环节
- 遵循MVC思想分离关注点
2. 审计建议
-
重点审计数据库"增删改查"操作
- 大多数Java应用核心功能围绕数据库操作
-
理解三层架构
- 展示层
- 业务处理层
- 数据访问层
- 关注安全验证和业务逻辑
-
掌握DEBUG技能
- 从展示层→业务层→数据层跟踪流程
- 定位输入输出点和变量走向
-
分析配置文件
- 请求映射
- 访问路径
- 参数设置
-
研究开源框架文档
- 了解框架配置和运作机制
-
实践漏洞复现
- 根据原理编写漏洞代码加深理解
五、总结
Java EE分层模型和MVC框架是Java安全审计的基础知识,理解这些概念有助于:
- 快速定位代码结构
- 分离关注点进行针对性审计
- 理解数据流向和控制逻辑
- 识别潜在的安全风险点
掌握这些基础知识后,可以更有效地进行Java应用的安全审计工作。