JSP 简析

1、JSP的概念html

这节课咱们的目标是要搞清楚什么是JSP,他和HTML的静态页面有什么区别呢?java

  • jsp是运行在服务器端的,它的实质是一个java文件,
  • 而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网页。程序员

2、JSP的优势web

一、平台无关性。数据库

它拥有Java语言跨平台的特性,以及业务代码分离、组件重用、基础Java Servlet功能和预编译等特征。它也是跨平台的,能够应用在不一样的系统中,如Windows、Linux、Mac和Solaris等。这同时也拓宽了JSP可使用的Web服务器的范围。编程

二、将内容与表示分离。浏览器

采用JSP技术开发的项目,一般使用HTML语言来设计和格式化静态页面的内容,而使用JSP标签和Java代码片断来实现动态部分。程序开发人员能够将业务处理代码所有放到JavaBean中,或者把业务处理代码交给Servlet、Struts等其余业务控制层来处理,从而实现业务代码从视图层分离。这样JSP页面只负责显示数据便可,当须要修改业务代码时,不会影响JSP页面的代码。tomcat

三、强调可重用组件。服务器

JSP中可使用JavaBean编写业务组件,也就是使用一个JavaBean类封装业务处理代码或者做为一个数据存储模型,在JSP页面甚至整个项目中均可以重复使用这个JavaBean。JavaBean也能够应用到其余Java应用程序中,包括桌面应用程序。jsp

简化页面开发-Web 设计人员和 Web 程序员使用 Web 开发工具开发 JSP 页面

四、高速。

JSP会预编译,就是在用户第一次经过浏览器访问JSP页面时,服务器将对JSP页面代码进行编译,而且仅执行一次编译。编译好的代码将被保存,在用户下一次访问时,直接执行编译好的代码。这样不只节约了服务器的CPU资源,还大大提高了客户端的访问速度。

3、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文件了。

相关文章
相关标签/搜索