<% UserService service = new UserService(); User user = service.getUser(); %> <h1><%= user.getName() %></h1>
⚠️ 问题分析
• 页面包含业务逻辑 ❌
• 强耦合 ❌
• 无法复用 ❌
✅ Spring MVC 写法
① Controller 层
@Controller public class UserController { @GetMapping("/user") public String getUser(Model model) { User user = userService.getUser(); model.addAttribute("user", user); return "user"; } }
② View 层(JSP / Thymeleaf)
<h1>${user.name}</h1>
🎯 对比总结
维度
JSP 模式
MVC 模式
职责
混乱 ❌
清晰 ✅
维护
困难 ❌
简单 ✅
扩展
差 ❌
强 ✅
测试
几乎不可 ❌
可测试 ✅
🧠 总结
❗ JSP 被淘汰,不是因为它“不能用”, 而是因为它代表了一种过时的架构模式
📈 技术的发展历程
Servlet(全手写) → JSP(混写) → MVC(分层) → Spring MVC(工程化) → 前后端分离(现代主流)