当前位置:首页 » 网页前端 » web为什么会放弃jsp
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

web为什么会放弃jsp

发布时间: 2023-08-30 23:47:30

㈠ html5 能接数据吗,能取代jsp吗

不能。html5是一个页面显示的语言,他是html4标准的延伸,本质上,他就是为了显示页面。html5其实就是增加了许多动态显示的标签,本质上是为了页面显示更美观,可以显示更多的功能。虽然html5增加了本地数据库支持,但是并不能取代服务端数据库,除非这不是一个网络应用。html5或者说html是一个前台展示语言。

jsp是javaWeb的一个规范,他的本质是servlet。jsp其实就是把servlet和html结合在一起了。当jsp被编译的时候,会被编译成一个servlet的class,而里面的显示页面的html语句会被out出来。简单来说jsp是为了接收后端数据,输出到前端的一个技术。除了jsp,java还可以使用velocity、Freemaker模版等技术结合html来显示页面。
就是说jsp技术和html是不可分割的,使用jsp来显示一个页面时,必须使用html技术,当然也可以是html5。只不过html被整合在jsp里面或者说jsp其实就是servlet和html的结合体,并且html和servlet是版本无关的,就是说你只要使用html就可以,至于是哪个版本无所谓。

㈡ java web开发都用jsp吗

在jsp刚刚兴起的时候,一些比较优秀的J2EE框架还没有出现的时候,开发都是用只jsp来做,这样会造成前台的UI和业务逻辑还有db的交互全部在jsp中完成,这样做会造成代码的耦合性过高,不易于维护。

后来有了MVC类型的架构--jsp+servlet+javabean,这样一来的话,jsp只承担了views的作用。所以我觉得“不用jsp开发”应该是指“不只是用jsp开发”。

还有你很多网站的页面后缀是HTM的问题,我觉得应该是开发者考虑到了SEO,搜索引擎对动态的页面的敏感性不高,所以开发者选择了用html作为视图,还有一种可能是开发者用了“伪静态”方式把原本不是动态页面伪装成了静态页面,来让搜索引擎对网站敏感。

㈢ 做WEB前端是不是会了JS 就不需要JSP 了

jsp可以说跟前端几乎毛关系都没有,搞前端,js肯定要学,CSS也得学。jsp是服务器端执行的代码,前端主要是搞浏览器渲染的那部分。结构化稍微好一点点的网站程序前后端都是通过模板机制等方式分离的。前端专心搞界面即可

㈣ 我们还需要JSP吗

jsp还是需要的,现在很多大型的电商网站都是采用jsp做的,jsp就有以下特点:
1 跨平台
既然JSP是基于Java语言的,那么它就可以使用Java API,所以它也是跨平台的,可以应用在不同的系统中,如Windows、Linux、Mac和Solaris等。这同时也拓宽了JSP可以使用的Web服务器的范围。另外,应用于不同操作系统的数据库也可以为JSP服务,JSP使用JDBC技术操作数据库,从而避免了代码移植导致更换数据库时的代码修改问题。

正是因为跨平台的特性,使得采用JSP技术开发的项目可以不加修改地应用到任何不同的平台上,这也应验了Java语言的"一次编写,到处运行"的特点。

2 业务代码分离
采用JSP技术开发的项目,通常使用HTML语言来设计和格式化静态页面的内容,而使用JSP标签和Java代码片段来实现动态部分。程序开发人员可以将业务处理代码全部放到JavaBean中,或者把业务处理代码交给Servlet、Struts等其他业务控制层来处理,从而实现业务代码从视图层分离。这样JSP页面只负责显示数据即可,当需要修改业务代码时,不会影响JSP页面的代码。

3 组件重用
JSP中可以使用JavaBean编写业务组件,也就是使用一个JavaBean类封装业务处理代码或者作为一个数据存储模型,在JSP页面甚至整个项目中都可以重复使用这个JavaBean。JavaBean也可以应用到其他Java应用程序中,包括桌面应用程序。

4 继承Java Servlet功能
Servlet是JSP出现之前的主要Java Web处理技术。它接受用户请求,在Servlet类中编写所有Java和HTML代码,然后通过输出流把结果页面返回给浏览器。其缺点是:在类中编写HTML代码非常不便,也不利于阅读。使用JSP技术之后,开发Web应用便变得相对简单快捷多了,并且JSP最终要编译成Servlet才能处理用户请求,因此我们说JSP拥有Servlet的所有功能和特性。

5 预编译

预编译就是在用户第一次通过浏览器访问JSP页面时,服务器将对JSP页面代码进行编译,并且仅执行一次编译。编译好的代码将被保存,在用户下一次访问时,直接执行编译好的代码。这样不仅节约了服务器的CPU资源,还大大提升了客户端的访问速度。

㈤ JSP现在是不是过时了

jsp永不会过时,除非java过时了。本人将近二十年javaweb项目经验来看,一会流行ssh,一会ssm,一会springmvc,springboot,一直在更新换代,其实这些玩意核心都是servlet,这些个框架只是拐弯抹角定义一些规则,为开发者提供某些便利而已,最终运行的还是servlet,这些框架大都依赖xml配置,当一个项目过大时,xml文件就变得臃肿不堪,启动一下web服务都得半天,万一有点啥错误,直接gg,头疼要命,最头疼的是这些框架一旦过时,其规则慢慢被人淡忘,你再维护这些框架项目时,那就有好戏看了。
而jsp是最直接编译为servlet的,相对性能最高的。假如一个项目为jsp+javabean时,Web服务基本是秒启动。单个jsp错误对服务没有任何影响。大厂用jsp是有原因的,任何懂java人都能维护,任你千框万架,他永不过时。

㈥ 现在什么技术取代了jsp

Spring Boot一部分取代了jsp:
以前老的方式是:
1.客户端请求
2.服务端的servlet或controller接收请求(路由规则由后端制定,整个项目开发的权重大部分在后端)
3.调用service,代码完成业务逻辑
4.返回jsp
5.jsp展现一些动态的代码
新的方式是:
1.浏览器发送请求
2.直接到达html页面(路由规则由前端制定,整个项目开发的权重前移)
3.html页面负责调用服务端接口产生数据(通过ajax等等)
4.填充html,展现动态效果。
(有兴趣的童鞋可以访问一下阿里巴巴等大型网站,然后按一下F12,监控一下你刷新一次页面,他的http是怎么玩的,大多数都是单独请求后台数据,使用json传输数据,而不是一个大而全的http请求把整个页面包括动+静全部返回过来)
这样做的好处是:
1.可以实现真正的前后端解耦,前端服务器使用nginx。
前端服务器放的是css,js,图片等等一系列静态资源(甚至你还可以css,js,图片等资源放到特定的文件服务器,例如阿里云的oss,并使用cdn加速),前端服务器负责控制页面引用,跳转,调用后端的接口,后端服务器使用tomcat。
(这里需要使用一些前端工程化的框架比如nodejs,react,router,react,rex,webpack)
2.发现bug,可以快速定位是谁的问题,不会出现互相踢皮球的现象。
页面逻辑,跳转错误,浏览器兼容性问题,脚本错误,页面样式等问题,全部由前端工程师来负责。
接口数据出错,数据没有提交成功,应答超时等问题,全部由后端工程师来解决。
双方互不干扰,前端与后端是相亲相爱的一家人。
3.在大并发情况下,我可以同时水平扩展前后端服务器,比如淘宝的一个首页就需要2000台前端服务器做集群来抗住日均多少亿+的日均pv。
(去参加阿里的技术峰会,听他们说他们的web容器都是自己写的,就算他单实例抗10万http并发,2000台是2亿http并发,并且他们还可以根据预知洪峰来无限拓展,很恐怖,就一个首页。。。)
4.减少后端服务器的并发压力,除了接口以外的其他所有http请求全部转移到前端nginx上。
5.即使后端服务暂时超时或者宕机了,前端页面也会正常访问,只不过数据刷不出来而已。
6.也许你也需要有微信相关的轻应用,那样你的接口完全可以共用,如果也有app相关的服务,那么只要通过一些代码重构,也可以大量复用接口,提升效率。
7.页面显示的东西再多也不怕,因为是异步加载。