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

 我来答
猪八戒网
2023-04-03 · 百度认证:重庆猪八戒网络有限公司官方账号
猪八戒网
猪八戒网(zbj.com)创建于2006年,现已形成猪八戒网、天蓬网和线下八戒工场的“双平台+一社区”服务模式,是中国领先的人才共享平台。
向TA提问
展开全部

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开发方面的文章,感兴趣的朋友可以

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式