ssm框架属于前端还是后端
SSM框架属于后端技术栈。架属这一点没什么好含糊的于前。Spring、端还Spring MVC、后端MyBatis,架属这三个凑在一起,于前管的端还是服务器上的事——接收请求、处理业务、后端读写数据库、架属返回数据。于前浏览器里那点花哨的端还按钮和动画,跟它们没关系。后端 有人看到Spring MVC里带个“MVC”,架属就以为它管前端。于前MVC是端还个架构模式,Model-View-Controller,其中View确实指界面。但SSM里的View通常是JSP、Thymeleaf或者干脆就是JSON——后端把数据塞进View,再吐给浏览器。浏览器拿到HTML后怎么渲染、怎么交互,那是前端框架(Vue、React)的事。Spring MVC只负责“把数据交给谁”,不负责“数据在屏幕上长什么样”。 我见过一个真实项目。团队用SSM做后台,前端用jQuery写页面。有个新来的小伙子把JavaScript文件塞进Spring MVC的视图解析器目录里,结果访问时被DispatcherServlet拦截,返回404。他问我:“Spring MVC不是管页面的吗?”我让他把JS放到webapp/static下,问题就没了。这个细节说明:Spring MVC的职责边界在“控制器”和“视图解析”,静态资源和浏览器端脚本不在它的管辖范围内。 MyBatis更直接。它就是个持久层框架,写SQL、映射结果集、管理数据库连接。你让它去操作DOM试试?它连HTML标签都不认识。Spring呢,核心是IoC容器和AOP,管的是Java对象的生命周期和事务切面。这些东西跑在Tomcat、Jetty这类Servlet容器里,跟浏览器隔着网络呢。 那为什么有人会搞混?因为SSM项目里确实有“前端代码”。JSP页面里可以写Java,HTML里嵌着 另一个混淆点:Spring Boot出现后,很多项目用Thymeleaf或Freemarker做模板。这些模板文件放在 判断一个技术属于前端还是后端,看代码运行在哪里。SSM的代码运行在JVM上,部署在服务器端。它处理HTTP请求,操作数据库,返回响应。浏览器端只负责展示和用户交互。两者通过HTTP协议通信,界限清晰。 当然,现代开发中前后端分离已成主流。SSM常被用来提供RESTful API,返回JSON。前端用Axios或Fetch调用这些接口。这时候SSM的后端属性更明显——它连View都不管了,只输出数据。Spring MVC的 所以,别被“MVC”里的“V”骗了。SSM是彻头彻尾的后端框架。它管的是业务逻辑、数据持久化、请求路由。前端的事——布局、样式、交互、动画——它不碰,也碰不了。如果你在SSM项目里写前端代码,那只是把前端文件放在了后端项目的目录里,不代表SSM变成了前端框架。 最后说个观察:招聘网站上搜“SSM”,岗位名称基本都是“Java后端开发工程师”。搜“Vue”或“React”,才是“前端开发工程师”。市场已经用脚投票了。<c:forEach>标签。这种“后端渲染”的模式让人误以为后端在干前端的活。但本质上,JSP在服务器上被编译成Servlet,生成纯HTML字符串,再通过网络发给浏览器。浏览器收到的只是结果,不是逻辑。逻辑还在后端。src/main/resources/templates下,看起来像前端文件。但它们的解析、数据填充、条件判断,全在服务器完成。浏览器拿到的已经是最终HTML。这跟Vue那种在浏览器里跑JavaScript、动态改DOM的模式,有本质区别。@ResponseBody注解就是干这个的。