Javaweb技术中Java和JSP有什么关系?

怀特滴旅行

30天以前 4浏览
Javaweb技术中Java和JSP有什么关系?

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开发
大家都在看
javascript、JSP、JS有什么区别和联系?

javascript、JSP、JS有什么区别和联系?

java开发
8浏览
如何使用Java代码访问HDFS.docx?

如何使用Java代码访问HDFS.docx?

java开发
10浏览
现在JAVA和前端哪个需求量大一点?

现在JAVA和前端哪个需求量大一点?

java开发
9浏览
WEB前端和JAVA哪个需求量大?

WEB前端和JAVA哪个需求量大?

java开发
10浏览
Java程序猿与网络安全哪个行业前景更好?

Java程序猿与网络安全哪个行业前景更好?

java开发
7浏览
web编程用JavaScript怎么样?

web编程用JavaScript怎么样?

java开发
7浏览
Java中常用的开发工具有哪些?

Java中常用的开发工具有哪些?

java开发
9浏览
javascript、JSP、JS有什么区别和联系?

javascript、JSP、JS有什么区别和联系?

java开发
8浏览
作为一个java程序员经常上的网站?

作为一个java程序员经常上的网站?

java开发
6浏览
java的web开发需要用多线程吗?

java的web开发需要用多线程吗?

java开发
5浏览
java开发app案例教程,java开发手机app教程

案例app开发app开发手机app教程手机开发手机appjavajava开发
75浏览
Java开发程序员该如何应对公司的笔试题?

Java开发程序员该如何应对公司的笔试题?

java开发
5浏览
作为java初级程序员,该去国企还是私企?

作为java初级程序员,该去国企还是私企?

java开发
6浏览
哪些网站可以在线构建java框架?

哪些网站可以在线构建java框架?

java开发
7浏览
Java编程中的性能优化如何实现?

Java编程中的性能优化如何实现?

java开发
7浏览
web前端和java,哪个比较好一些呢?

web前端和java,哪个比较好一些呢?

java开发
6浏览
java微信开发框架使用文档,如何新建微服务?

java微信开发框架使用文档,如何新建微服务?

java开发
9浏览
什么场景用java,什么场景用python?

什么场景用java,什么场景用python?

java开发
6浏览
java如何实现对象的深克隆?

java如何实现对象的深克隆?

java开发
3浏览
Java网站系统建设有什么好处?

Java网站系统建设有什么好处?

java开发
2浏览
点赞
收藏
分享