jsp是否过时

最近做一个电商项目,前端技术选择上遇到困惑。
选择jsp还是html?
jsp是否过时?

===========
我有一个困惑,我一直认为jsp是前端显示层的技术,怎么能和php相提并论呢

===========
不是的,我后端用java,spring框架,我困惑的是前端用什么,jsp是否过时,通过以下方式获取数据与通过ajax获取数据相比有何优缺点?
图片描述

=============

servlet和jsp的区别是什么?能分离吗?只用servlet不用jsp?

=============
以下是我的最新理解,不知道对不对,请指教

使用jsp:
通过EL语言、JSP标记库等等来获取数据、构建页面以及调用方法,动态数据通过ajax获取;
压力在服务器端;
可能安全;
前端页面的实现和调试麻烦,依赖后端,不能独立开发;
部分接口可以重用原来项目代码

不使用jsp:
全异步,完全通过ajax获取数据和构建页面;
压力在客户端;
可能没有jsp安全;
开发和调试页面方便,不依赖后端;
接口代码需要新增较多(controller层)

综上,可以用html先做页面的demo,把页面布局和样式做好,数据部分不管;
与此同时,前后台的接口可同时开发;
接口和页面开发完后再把html转成jsp,通过EL语言、JSP标记库、以及ajax实现数据的获取

阅读 21.6k
19 个回答

这个不给结论,每种语言总有会有用到的地方和时代。
现在也很多项目用到jsp作为界面显示的,虽然技术一天一天更新,但这未必代表着旧知识的过时。
你学JSP如果想要精通而且靠它为生的话,那是不太明智的。但是与之相关的技术你也略懂,然后接触它们,这样才不会觉得过时。因为总有一些也是跟着一起进步的。

我最近也在学jsp,因为导师的一个项目需要。昨天刚用jsp写了一个注册登录页面,我没学过php,并不知道两者区别。不过我很喜欢java,jsp的逻辑和数据处理基本都是用java写的,所以我还是比较喜欢的。

jsp不过时啊,电商的话商品和详情的数据都可以缓存,这些只要做了缓存再做伪静态也没什么性能问题

把网站当做手机app来做。前端纯html+js。后端用php或者java写接口。前端用ajax调接口。

没有过时的技术,只有过时的用法

jsp是后端服务 和html不搭噶. 你应该是在python, php, jsp, nodejs中选择.

如果是新项目,建议用前端框架,react之类的来做前后端分离
这样可以让前端程序员和后端程序员都更幸福

虽然我对jsp没有过深的了解,说不出其技术上的优劣,但是,题主你的问题应该是jsp,php,asp.net,python,node.js 作选择吧。前端还能不用html?

JSP与PHP、ASP、ASP.NET等语言类似,运行在服务端的语言。
JSP(全称Java Server Pages)是由Sun Microsystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。
JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。
所以题主你想问什么?

jsp是后端是后端是后端
你写的那些JSP代码都是要经过容器编译生成Java代码的=.=.生成的代码里面全是out.println

怎么说呢,我应该理解题主的意思,题主的困惑主要是数据变成标签是放在页面响应到客户端前处理,还是在页面已经响应到客户端的时候处理的问题,也就是对数据处理放在服务器上还是客户端上的问题吧?
如果全部在服务器,那么数据的生成会影响页面的呈现(比如数据库的查询),而在客户端的话就可以将页面的发送和数据的生成一起处理,所以个人感觉还是分开的好。当然安全问题是要避免的,就像是本来一篮子的鸡蛋,分成两篮子送,出问题的概率会变大的。

你这就是前后端分离的想法,关于这方面的技术难点,可以先去看淘宝UED的系列文章,看完后可以了解avalon,vue

新手上路,请多包涵

题主,jsp是一个基于java的servlet实现的模板引擎而已,你写的jsp页面最终还是会翻译成html页面返回给前端,这就是server side rendering,服务器端渲染,但是!!!现在已经是前后端分离的时代啦!页面渲染这种工作交给nodejs去做才是最好的,因为js需要天生和html是兄弟啊,首次甚至首次渲染交给nodejs,然后把js包发到前端后全部渲染逻辑由前端接管,既react! ! !我写过asp jsf php,最后写了nodejs后,才发现写他妈才是html该有的吐出方式啊!!!!handblebars react webpack redux express mongo redis elasticsearch ......在node里我把这些全用上了,现在用es6写代码,清爽无比

因为学校现在安排的课程关于后端就是对JSP的学习,但是市场上PHP提及比较多,我也比较困惑,看到一篇博客上写JSP是未来的趋势。ASP、JSP、PHP 三种技术比较

前景分析   

  目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。www.2cto.com

  采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,群组成二维数组。而PHP则缺乏这种支持。还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。

  ASP和JSP则没有以上缺陷,ASP可以通过Microsoft Windowsd的COM/DCOM获得ActiveX规模支持,通过DCOM和Transcation Server获得结构支持;JSP可以通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。

  三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的Web Sphere。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务Application Server,而且声言不再开发传统软件。

新手上路,请多包涵

我觉得前后端分离更加符合时代的需求,后端MVC自然还有用武之地,看项目不同而选择不同的方法才是最佳办法。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题