一、JSP的观点

我们的目标是要搞清楚什么是JSP,他和HTML的静态页面有什么差异呢?

jsp是运行在做事器真个,它的本色是一个java文件,

JSP只能运行在服务器端jsp的本质是什么 Python

而html的静态信息,所有内容都是发送到客户端再运行的。

JSP全称是Java 做事器页面 (Java Server Page ) 以扩展名 .jsp 保存,是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技能标准。
在传统的网页HTML文件(.htm,.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所须要的功能。
有效地掌握动态内容天生,在Java Server Page里面利用 Java 编程措辞和类库,而HTML 用于表示页面,而 Java 代码用于访问动态内容。
这样大大降落了对客户浏览器的哀求,纵然客户浏览器端不支持Java,也可以访问JSP网页。

二、JSP的优点

1、平台无关性。

它拥有Java措辞跨平台的特性,以及业务代码分离、组件重用、根本Java Servlet功能和预编译等特色。
它也是跨平台的,可以运用在不同的系统中,如Windows、Linux、Mac和Solaris等。
这同时也拓宽了JSP可以利用的Web做事器的范围。

2、将内容与表示分离。

采取JSP技能开拓的项目,常日利用HTML措辞来设计和格式化静态页面的内容,而利用JSP标签和Java代码片段来实现动态部分。
程序开拓职员可以将业务处理代码全部放到JavaBean中,或者把业务处理代码交给Servlet、Struts等其他业务掌握层来处理,从而实现业务代码从视图层分离。
这样JSP页面只卖力显示数据即可,当须要修正业务代码时,不会影响JSP页面的代码。

3、强调可重用组件。

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

简化页面开拓-Web 设计职员和 Web 程序员利用 Web 开拓工具开拓 JSP 页面

4、高速。

JSP会预编译,便是在用户第一次通过浏览器访问JSP页面时,做事器将对JSP页面代码进行编译,并且仅实行一次编译。
编译好的代码将被保存,在用户下一次访问时,直接实行编译好的代码。
这样不仅节约了做事器的CPU资源,还大大提升了客户真个访问速率。

三、JSP的实行过程

JSP全名为Java Server Pages,它实现了Html语法中的java扩展(以 <%, %>形式),我们可以在jsp页面中嵌入java代码,如下面这段代码得到做事器确当前韶光,并打印

<body onload=\公众getnow()\"大众>

<%

Date now = new Date();

SimpleDateFormat sdf = new SimpleDateFormat(\公众yyyy年MM月dd日 HH:mm:ss\"大众);

String nowstr = sdf.format(now);

// System.out.println(nowstr);

out.println(\公众java:\公众+nowstr);

%>

<br/>

</body>

在做事器端实行的。
常日返回给客户真个便是一个HTML文本,因此客户端只要有浏览器就能浏览。
Web做事器在碰着访问JSP网页的要求时,首先实行个中的程序段,然后将实行结果连同JSP文件中的HTML代码一起返回给客户端。
虽然JSP页面很少进行数据处理,只是用来实现网页的静态化页面,只是用来提取数据,不会进行业务处理。

为什么我们可以在jsp中嵌入java代码呢?由于jsp在实行须要先转译成为java代码,然后在编译成为class文件,也便是jsp的本色便是一个java文件。
如下图所示:

查看tomcat目录下的\work\Catalina\localhost目录,你会创造所有的web项目都会在这里有对应的目录,打开个中一个项目一贯打开进去,会创造每一个jsp页面在都会有其对应的java文件和编译后的class文件。
,这个文件有tomcat天生。

以是我们在开拓过程会创造jsp页面在第一次访问的时候速率会比较慢,由于须要转译和编译两个步骤,但是往后就会非常快,由于直接就访问以及编译好的class文件了。