JSP的基本原理

一,什么是JSP?
JSP的本质就是Servlet,当用户指定Servlet发送请求时,Servlet利用输出流动态生成HTML页面,包括每一个静态的HTML标签和所有在HTML页面中出现的内容。
注:JSP技术的出现,大大提高了Java动态网站的开发效率,得到了Java动态网站开发者的广泛支持。

二,JSP的由来及作用?
由于包括大量的HTML标签,大量的静态文本及格式等,导致Servlet的开发效率极为低下。所有的表现逻辑,包括布局,色彩及图像等,都必须耦合在Java代码中,这的确让人不胜其烦。JSP弥补了这种不足,JSP通过在标准的HTML页面中嵌入Java代码,其静态的部分无须Java程序控制,只有哪些需要从数据库读取或需要动态生成的页面内容,才使用Java脚本控制。

三,JSP页面的内容由什么组成?
1.静态部分
2.动态部分

静态部分:标准的HTML标签,静态的页面内容,这些内容与静态HTML页面相同。
动态部分:受Java程序控制的内容,这些内容由Java脚本动态生成的。

一个简单的JSP页面代码如下:
这里写图片描述
上面的页面中粗体字代码放在<%和%>之间,表明这些是Java脚本,而不是静态内容,通过这种方式就可以把Java代码嵌入HTML页面中,这就变成了动态的JSP页面。
运行这个web项目后,在浏览器中浏览该页面,将看到的页面如下:
这里写图片描述
总结:动态的JSP页面必须放在Web应用中有效,所以编写该JSP页面之前应该先构建一个Web应用。

四,深入理解JSP
表面上看,JSP页面已经不需要Java类,似乎完全脱离了Java面向对象的特征。事实上,JSP的本质依然是Servlet(一个特殊的Java类),每个JSP页面就是一个Servlet实例—-JSP页面由系统编译成Servlet,Servlet再负责相应用户请求。也就是说JSP就是Servlet的一种简化,使用JSP时,其实还是使用Servlet,因为Web应用中的每个JSP页面都会由Servlet容器生成相对应的Servlet。对于Tomcat而言,JSP页面生成的Servlet放在work路径对应的Web应用下。

再看一个JSP页面如下:
这里写图片描述
当启动Tomcat之后,可以在Tomcat的该路劲如图
这里写图片描述
b_jsp.java和b_jsp.class这两个文件是由Tomcat生成,Tomcat根据JSP页面生成对应Servlet的Java文件和class文件。
下面是b_jsp.java文件的源代码,这是一个特殊的Java类,是一个Servlet类。
/*
* Generated by the Jasper component of Apache Tomcat
* Version: Apache Tomcat/7.0.52
* Generated at: 2016-12-24 05:59:48 UTC
* Note: The last modified time of this file was set to
* the last modified time of the source file after
* generation to assist with modification tracking.
*/
package org.apache.jsp;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;

public final class b_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent {

private static final javax.servlet.jsp.JspFactory _jspxFactory =
javax.servlet.jsp.JspFactory.getDefaultFactory();

private static java.util.Map

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值