首页 > SEO建站 > 建站百科JSP是什么意思?详解JSP技术的优缺点、三大框架及常见问题

JSP是什么意思?详解JSP技术的优缺点、三大框架及常见问题

2023-09-10 09:24:52

JSP是什么意思

一、JSP是什么意思

JSP是Java Server Pages英文首字母的缩写,中文翻译为JAVA服务器页面,是由Sun Microsystems公司主导创建的一种动态网页技术标准。其核心技术是 Java 技术,以 Servlet 的形式接受用户的访问和处理数据,在服务器端 JSP 文件会被编译为类文件,其扩展名为 .class。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成Html、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。

JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为"JSP动作"的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。

二、JSP的特点

1、实现跨平台操作

JSP 技术的最大特点是其编写的代码与设计平台完全无关,用户可以将在任何平台上编写的 JSP 页面拿来在任何 Web 服务器或 Web 应用服务器上运行,然后通过任何 Web 浏览器访问。

除此之外,JSP 还可以在任何平台上建立服务器组件,在任何服务器上运行程序。从 JSP 的这个特点可以看出,应用程序开发者只要在自己选用的任意平台上编写 Web 页面,就可以将编写好的页面放在任意服务器上运行,当需要对页面进行修改时,也无须考虑开发运行平台。

JSP 页面的内置脚本语言是基于 Java 编程语言的,因此,JSP 页面都要被编译为 Servlet。

2、可重复使用组件

JSP 页面依赖于可重用的、跨平台的组件来执行应用程序中所要求的更为复杂的处理。基于组件的方法的特点是:能够提高总体开发过程的效率,使得各种组织在他们现有优点的基础上得到更好的优化处理。

开发人员能够共享并且交换执行普通操作的组件,这些组件除了可以将网页的设计与逻辑程序的设计分离以节约开发时间,还可以充分利用 Java 以及其他脚本语言的跨平台的能力及其灵活性。

3、标记简化的语言

标准的 JSP 标记可以访问和实例化JavaBean组件,并且可以设置或检索组件属性,以及下载Applet,执行用其他方法更难以编码和耗时的功能。

JSP技术可以将许多功能封装起 来,在进行Web页面开发时,利用这些封装的功能就可以方便地使用与JSP相关的XML 标记进行动态内容的生成。

4、实现应用程序与页面显示的分离化

应用程序与页面显示的分离化可以使 Web 页面的设计者和管理人员能够互不影响地编辑和使用 JSP 页面,而不影响其内容的生成。

Web 页面的开发人员可以利用 HTML 或 XML 标记来设计和格式化最终页面,而利用 JSP 标记或 Scriptlet 来生成页面上的动态内容。生成的内容被封装在标记和 JavaBean 组件中,并将它们捆绑在 Scriptlet中,使得所有的脚本程序都运行在服务器端。

通常,在服务器端由 JSP 引擎解释 JSP 标记和 Scriptlet,生成所请求的内容,同时,将结果以 HTML 或者 XML 页面的形式发送回浏览器。这样做,不但可以对程序代码进行保密,又可以保证任何基于 HTML 的 Web 浏览器的跨平台使用。

三、JSP的优点

1、一次编写,到处运行。除了系统之外,代码不用做任何更改。

2、系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP的局限性JSP的优势是显而易见的。

3、强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

4、多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

5、支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。

四、JSP的缺点

1、JSP技术极大的增加了产品的复杂性,为了获得 系统的跨平台功能和产品伸缩能力,java系统开发了多种产品,如JRE、JDK、J2EE、EJB、JSWDK、JavaBeans,只有有效地将它们组合在一起,才能产生强大的功能.(部署有难度)

2、java的高效率运行需要占用大量的内存和硬盘空间,一方面,java的高速运行是通过.class文件常驻内存来实现的。另一方面,还需要硬盘空间来存储一系列的.java 文件和.class文件以及对应的版本文件。

3、JSP程序调试困难,JSP页面执行时, 首先被转换为.java文件(Servlet), 然后将.java文件编译为字节码文件,这样,出错信息实际上指向的是转换后的那个.java文件(Servlet), 而不是JSP本身。

五、JSP三大框架

Jsp三大框架分别是:struts、hibernate、spring。struts充当视图层和控制器,hibernate能够让我们通过面向对象的方式操作数据库,spring降低里各层之间的耦合。

1、Struts:基于MVC的充当了其中的视图层和控制器;

2、Hibernate:做持久化的,对JDBC轻量级的封装,使得我们能过面向对象的操作数据库;

3、Spring: 采用了控制反转的技术,管理Bean,降低了各层之间的耦合。

六、JSP与Javascript区别

1、JSP属于java的组件,使用的是java语言,所以JSP与javascript的区别就是JAVA与JAVASCRIPT的区别。

2、JavaScript是一种动态、弱类型、基于原型的语言,通过浏览器可以直接执行;而Java(JSP)是面向对象的编程语言,必须先进行编绎和连接等动作才可执行。

3、JavaScript编写在HTML文件中,直接查看网页的原始码,就可以看到JavaScript程式,所以没有保护,任何人都可以透过HTML文件复制程式;而Java应用在网页的程式称为Java Applet(Applet是[小程序]的意思),是和HTML文件分开的。

4、JavaScript的结构较为自由松散,而Java和正统的编程语言一样,结构较为严谨。

5、JavaScript不具有读写档案及网络控制等功能,Java则提供了这些功能,但是JavaScript在网页内容的控制和互动性方面,比较方便快捷的。

6、javascript多运行于客户端,而java多运行于服务器端。

七、JSP常见问题

1、Jsp文件怎么打开?

Jsp文件可以用记事本、EditPlus打开,或者直接将jsp格式的文件拖拽到浏览器上可以直接解析出来网页。

2、jsp是前端还是后端技术?

在jsp刚出来的时候是直接在jsp上直接写代码(后端),后来mvc模式出现,为了规划就只能充当页面,也就是视图(前端)。

3、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?

JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

总结

优化猩SEO:JSP是 Java 平台上用于编写包含诸如 HTML、DHTML、XHTML 和 XML 等含有动态生成内容的 Web 页面的应用程序的技术。JSP 技术的功能强大,使用灵活,为创建显示动态 Web 内容的页面提供了一个简捷而快速的方法。

参考链接:

JSP(java服务器页面)_百度百科

https://baike.baidu.com/item/JSP/141543

jsp的主要特点是什么-java教程-PHP中文网

https://m.php.cn/article/421463.html

JSP的优缺点-CSDN博客

https://blog.csdn.net/u013628152/article/details/42456237

什么是JSP - 简书

https://www.jianshu.com/p/cbf60b954d40

修改于2023-09-11

想了解更多建站百科的内容,请访问:建站百科

本文来源:https://www.youhuaxing.cn/seojianzhan/17794.html

免责声明:部分文章信息来源于网络以及网友投稿,本网站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性,不承担任何法律责任。

相关建站百科

用我们的专业,做您满意的SEO+高端网站建设服务商!