您现在的位置是:探索 >>正文
javaweb是前端还是后端
探索6人已围观
简介JavaWeb既不是纯粹的前端,也不是纯粹的后端。它是一个夹在两者之间的过渡地带,准确说,是后端技术栈里负责处理HTTP请求和响应的那一层。但你要是去招聘网站看,JavaWeb岗位几乎都写着“后端开发 ...
JavaWeb既不是端还纯粹的前端,也不是后端纯粹的后端。它是端还一个夹在两者之间的过渡地带,准确说,后端是端还后端技术栈里负责处理HTTP请求和响应的那一层。但你要是后端去招聘网站看,JavaWeb岗位几乎都写着“后端开发”。端还
我见过不少刚入行的后端新人,拿着Servlet和JSP的端还教程学了一个月,心里犯嘀咕:这玩意儿写出来的后端页面丑得没法看,怎么跟那些花里胡哨的端还前端框架比?他们没搞明白一件事——JavaWeb从来就不是为了做页面而生的。它的后端核心任务是处理业务逻辑、操作数据库、端还管理会话状态,后端至于返回给浏览器的端还是HTML还是JSON,那只是输出格式的问题。
回到技术本身。JavaWeb的经典链路是:浏览器发请求 → Tomcat接收 → Servlet处理 → 调用Service层 → 访问DAO层 → 返回响应。这条链路上,Servlet和JSP确实包含了一些视图层的成分,比如JSP里可以直接嵌Java代码生成HTML。但你要看清楚,那些Java代码是在服务器上跑的,不是像JavaScript那样在浏览器里执行。换句话说,JavaWeb里哪怕写了HTML,那也是后端拼好字符串扔给浏览器的——这是典型的服务端渲染。
后来前后端分离成了主流,JavaWeb里那点视图功能基本被废弃了。现在的Java后端项目,Controller层直接返回JSON,前端用Vue或React自己渲染。这时候JavaWeb的角色就更纯粹了——它就是一套API接口的骨架。你甚至可以说,Spring Boot项目本质上就是JavaWeb的现代化封装,但没人会管Spring Boot叫前端工具。
有个细节能帮你彻底分清界限:看报错信息。如果你的页面在浏览器里按F12能看到JavaScript报错,那是前端问题;如果打开浏览器直接显示500或者堆栈跟踪,那是JavaWeb后端抛出来的。前者改代码在浏览器里立刻生效,后者要重新编译打包重启服务。这个区别,干过活的人秒懂。
还有个容易混淆的场景——JSP。当年JSP盛行时,很多人觉得JavaWeb是“全栈”的,因为一个文件里既有Java逻辑又有HTML标签。但JSP最终会被翻译成Servlet,本质还是后端在干活。你现在去写个纯JSP项目试试,维护起来能把你逼疯。所以后来Thymeleaf、FreeMarker这些模板引擎虽然还在用,但主流早就转向纯API了。
所以我的结论很直接:JavaWeb是后端。它只是借了个“Web”的名头,实际上跟浏览器里的页面长什么样没多大关系。你写JavaWeb的时候,脑子里想的应该是接口、事务、连接池、并发控制,而不是按钮颜色、弹窗动画。如果哪天你发现自己在一个JavaWeb项目里大段大段地调CSS,那这个项目八成架构有问题——要么是没做前后端分离,要么是后端干了前端的活。
最后说个观察。现在很多大学课程还在教JSP,学生做完作业看到浏览器里能出个表格就觉得“我会JavaWeb了”。但到公司面试时,问他们怎么处理跨域、怎么做接口鉴权、怎么优化慢查询,一脸茫然。这说明什么?说明JavaWeb的边界早已被重新划定——它属于后端,而且只是后端庞大体系中的一小块。别被名字里的“Web”骗了,那只是个历史遗留的命名习惯。
Tags:
相关文章
如何登录web服务器
探索登录web服务器,本质上就是一次加密的HTTP请求。你打开浏览器输入地址,敲下回车,浏览器把一串字符打包发给服务器,服务器验证你的身份,然后丢给你一个会话凭证。就这么简单,但很多人卡在了“验证”这一步 ...
【探索】
阅读更多黑盒测试软件
探索打开一个登录页面,输入用户名和密码,点击“登录”——你看到“欢迎回来”或者“密码错误”。至于后台到底怎么比对数据库、怎么生成会话令牌、怎么处理加密,你完全不知道。这就是黑盒测试的日常:不关心内部逻辑, ...
【探索】
阅读更多零日漏洞
探索2010年6月,一个叫Sergey Ulasen的年轻研究员在Windows系统里发现了一个从没见过的驱动程序文件。他把它拖进反编译工具,看了几分钟,后背发凉。这个文件不依赖任何已知漏洞,因为它利用的 ...
【探索】
阅读更多