jsp是前端还是后端(JSP 真的很丑,但它教会了我 MVC)

jsp是前端还是后端(JSP 真的很丑,但它教会了我 MVC)
JSP 真的很丑,但它教会了我 MVC

在 HTML 里写 Java 代码很痛苦,但正是这种痛苦,让我理解了什么是真正的分离。

01 第一次见到 JSP

2008 年,我第一次看到 JSP 代码:

<%@ page import="java.util.*" %><%@ page import="com.blog.*" %><%    List posts = (List) request.getAttribute("posts");    for (BlogPost post : posts) {%>    

<%= post.getTitle() %>

<%= post.getContent() %>

<% }%>

我愣住了。

Java 代码嵌在 HTML 里,HTML 标签混在 Java 里。

带我的老说:"这就是 MVC,View 层。"

我当时想:这玩意儿真的有人用?

02 JSP 的本质

JSP(JavaServer Pages)= HTML + Java 代码片段

看起来很美好:

  • Servlet 处理业务逻辑
  • JSP 负责页面展示
  • 通过 request.setAttribute() 传递数据

实际上很痛苦:

  • Java 和 HTML 混在一起
  • 前端看不懂 Java
  • 后端写不好 HTML
  • 改一行代码,整个页面报错

我们管这叫"意大利面条代码"。

03 MVC 的演进

Model 1:纯 JSP(1999-2003)

用户 → JSP → 数据库 → JSP 渲染 → 用户

问题:JSP 里既有 HTML,又有 Java,还有 SQL。

Model 2:JSP + Servlet(2003-2010)

用户 → Servlet → JSP → 用户

进步:业务逻辑和视图分离。

Spring MVC:注解时代(2010-2015)

终于不用配置 XML 了!

jsp是前端还是后端(JSP 真的很丑,但它教会了我 MVC)

04 我学到了什么

MVC 的本质不是框架,而是分离。

JSP 很丑,但它教会了我:

  • 什么是关注点分离
  • 为什么需要 MVC
  • 框架是如何演进的

理解了过去,才能更好地理解现在。

文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有

相关阅读