JSP是传统JavaWeb开发的核心组成部分,主要的作用是构建呈现端(View)。
传统JavaWeb开发方案中还有Servlet和JavaBean,Servlet充当控制器,而JavaBean则充当模型,也就是经典的Model2解决方案。
JSP能做哪些事呢?JSP能做两件事,一件事是做展现,另一件事是做业务处理,传统的Model1解决方案就是采用JSP+JavaBean的方式来实现(这已经是将近20年前的解决方案了),简单的说JSP既能做html的事情,又能做业务调度的事情(Servlet)。虽然建议JSP只做展示层的事情,但是JSP完全能嵌入可执行的Java代码,也就是可以把展示逻辑和业务逻辑整合在一起。也正是因为如此,目前在大型项目中已经很少能看到JSP的影子了。
传统方案的请求流程是当用户请求发送到服务器以后,由Servlet接收用户的请求(提取数据、验证数据、功能匹配等),然后调用JavaBean的业务方法完成业务处理,最终跳转到JSP页面,由JSP页面把结果呈现出来。
这种方式目前只在一些小型的Web开发中还能看到,在一些大型Web开发方案中,已经很少采用JSP了,原因有以下几点:
第一,JSP本质上是Servlet。JSP是要转换成Servlet执行的,这就要求JSP必须在WebContainer中,而WebContainer往往还要负责业务逻辑的处理,这对性能有较大的影响。
第二,动静资源耦合。这是JSP被诟病的一个主要原因,早期是优点,后期就是一个最大的缺点了。
第三,JSP内容多,加载慢。前端工程师还要了解各种JSP标签的使用,往往很容易出错。
目前大型Web开发方案是前端访问直接到达html页面,html页面由单独的服务器处理(比如Nginx),提高了访问的效率,然后由html页面发起接口调用。这样能够完成动静的分类,提高了开发效率,也提高了服务器的稳定性。
当然,对于初学者来说,学习JSP的使用也是没有坏处的,毕竟现在有大量的项目依然在采用JSP作为呈现端。如果项目的并发请求量不高的情况下,采用JSP还是很方便的。
我使用Java编程多年,目前也在带Java开发团队(移动互联、大数据方向),我会陆续在头条写一些关于Java开发方面的文章,感兴趣的朋友可以
本文仅代表作者观点,版权归属原创作者,如需转载请在文中标注来源及作则名字。
免责声明:本文系转载编辑文章,仅做分享只用,如有疑问请联系邮箱:110@zbj.com
java软件开发可以用哪些软件?
Java程序猿与网络安全哪个行业前景更好?
web编程用JavaScript怎么样?
现在JAVA和前端哪个需求量大一点?
WEB前端和JAVA哪个需求量大?
java如何实现对象的深克隆?
javascript、JSP、JS有什么区别和联系?
JAVA大家都用什么开发环境?
java和javaWeb的区别关系?
java的web开发需要用多线程吗?
Java的前景真的就比web前端好吗?
javascriptxxs攻击如何解决?
想从事于开发岗位,JAVA和HTML5选择哪个好?
Java中常用的开发工具有哪些?
PHP和Java相比哪个更好?为什么?
怎么看JAVA开源项目的源码?
作为一个java程序员经常上的网站?
Javaweb技术中Java和JSP有什么关系?
java软件开发可以用哪些软件?
Java和web前端那个更有发展前进呢?