为什么要放弃 JSP?他们终于给出了答案

发布网友 发布时间:1天前

我来回答

1个回答

热心网友 时间:23小时前

随着时代的发展,大中型公司开始明确前后端界限,专业人才得以发挥所长。个人职业发展建议专攻特定领域,如专注于Java、JVM原理、Spring原理、MySQL锁与事务、多线程、大并发、分布式架构、微服务等。这能提高核心竞争力,因为投入什么,生活就会反馈什么。在Java Web项目中,使用后台框架(如Spring、Spring MVC、MyBatis、Hibernate等)进行开发,项目通常分为控制层、业务层和持久层。控制层负责参数接收、业务调用与数据封装,JSP页面则将后台数据展现出来。然而,这样的设计存在多处痛点:动态资源与静态资源耦合,导致服务器压力大,用户体验差;前端工程师修改页面时需与Java工程师协作,效率低下;JSP需在支持Servlet的服务器上运行,性能受限;初次请求JSP时需编译为servlet,首次运行较慢;JSP使用输出流生成HTML,效率低于直接使用HTML;JSP内标签与表达式较多,前端工程师操作受限;大量内容的JSP页面响应速度慢。因此,应实现前后端真正的解耦,提高效率与用户体验。新的开发方式中,浏览器直接请求HTML页面,HTML页面通过AJAX等技术调用后端接口获取数据,填充页面并展现动态效果。这种方式可以实现真正的前后端解耦,前端服务器使用Nginx,前端负责控制页面引用、跳转与调用后端接口,后端服务器使用如Tomcat的容器。这种方式能实现页面的快速定位与问题解决,支持水平扩展前后端服务器,减少后端服务器的并发压力,即使后端服务暂时超时或宕机,前端页面仍可正常访问,只是数据加载失败。此外,使用前端工程化框架(如Node.js、React、Redux、Webpack等)能解决页面嵌套、分页、页面跳转控制等需求。在开需求会议时,前后端工程师应共同参与,并制定好接口文档与测试用例,避免前端工程师兼任测试工作。通过这种方式,前端团队的工作量加重,后端团队工作量减轻,整体性能与可扩展性提升。对于小型项目或内网项目,无需复杂的架构,但对项目,此架构尤为关键。以前使用Velocity/Freemarker等模板框架生成静态页面的方式已被淘汰,学习与掌握Java Web基础对于学生与开发者同样重要,因为Spring MVC等框架正是基于这些基础构建的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com