JSP入门:介绍什么是JSP和Servlet

开发 后端
本文为JSP入门,为大家讲解JSP的基本原理和基本结构。

JSP入门:什么是jsp?

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。

简单地说,jsp就是可能包含了java程序段的html文件,为了和普通的html区别,因此使用jsp后缀名。很多jsp教程的开篇总是喜欢拿jsp和asp比较,可是很多jsp的初学者根本不知道什么是asp,有意思么?

下面这个图是普通的HTML请求流程:

普通的HTML请求流程

因为JSP包含了java程序代码段,因此JSP在web server里面就要有个更多的处理步骤。如下图所示:

JSP在web server里面就要有个更多的处理步骤

你会发现,这里多了一个JSP Container的东西,然后多了一个转换到 名叫xxxServlet的java文件并编译成class类文件的过程。这里就展示出了java服务器的核心部分——Servlet。

JSP入门:什么是Servlet?

Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。 它担当Web浏览器或其他HTTP客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。

Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

在通信量大的服务器上,Java servlet的优点在于它们的执行速度更快于CGI程序。各个用户请求被激活成单个程序中的一个线程,而创建单独的程序,这意味着各个请求的系统开销比较小。

简单地说,servlet就是在服务器端被执行的java程序,它可以处理用户的请求,并对这些请求做出响应。Servlet编程是纯粹的java编程,而jsp则是html和java编程的中庸形式,它更有助于美工人员来设计界面。正是如此,所有的jsp文件都将被最终转换成java servlet来执行。

从jsp到java到class,jsp在首次被请求时是要花费一定的服务器资源的。但庆幸的是,这种情况只发生一次,一旦这个jsp文件被翻译并编译成对应的servlet,在下次请求来临时,将直接由servlet来处理,除非这个jsp已经被修改。

从上面两幅图的比较也可以看出,作为jsp服务器,要比普通的web服务器多出一个JSP Container的东西,用来负责jsp的解释执行。对于初学者来说,Tomcat将是一个这种应用服务器的非常好的选择。http://tomcat.apache.org/ 上面列出了最新的tomcat下载。这里推荐解压运行版本,而非安装版本。其实解压运行版本并不比安装版复杂多少,一个JAVA_HOME的环境变量,就足够了。

【编辑推荐】

  1. 浅谈JSP的Forward及sendRedirect方法
  2. 浅析JSP HTTP服务器支持CGI
  3. 使用JSP页面生成PDF报表
  4. JSP自定义标签定义步骤
  5. 详解测试JSP容器
责任编辑:杨鹏飞 来源: javaeye
相关推荐

2009-07-03 11:21:43

Servlet和JSPJSP路径

2009-07-02 09:13:25

什么是JSPServlet

2009-07-02 10:27:20

JSP技术JSP入门

2009-07-09 10:49:56

Servlet和JSP

2009-07-06 15:34:56

JSP和Servlet

2009-06-25 14:26:07

JSPJavaBeanServlet

2009-07-08 09:22:03

Servlet和JSP

2009-08-20 17:35:47

Servlet和JSP

2009-08-10 09:19:28

Servlet JSP

2009-07-08 15:25:56

Servlet和JSP

2009-07-07 13:29:33

Servlet和JSP

2009-07-06 15:03:53

JSP向Servlet

2009-07-03 14:02:51

2009-09-02 09:44:01

JSP和JavaBea

2009-07-02 10:13:47

ASP和JSPJSP页面

2009-06-29 15:39:53

Servlet和JSPServlet引擎

2009-07-01 14:09:24

Servlet和BeaJSP

2009-07-07 17:10:57

JSP和Servlet

2009-07-07 14:33:44

JSP入门

2010-12-10 14:24:02

JSPServlet
点赞
收藏

51CTO技术栈公众号