一、JSP的演变过程
早期JSP出现之前,所有网页都是基于HTML所编写出来,用户访问一个站点流程:
由于WEB服务器的功能限制,其存储器中只能存储数量有限的静态HTML页面,维护及其不便,CGI(Common Gateway Interface 公共网关接口)诞生:
到此表面上似乎CGI已经很完美,但是当多个用户同时访问该CGI的时候,其缺陷就会暴露无遗:每个用户的请求,操作系统都会开辟一个进程,带来很大开销,基于Java平台可以在运行时动态加载类,servlet诞生:
从上图可以很容易的看出servlet的缺点--繁琐,程序员每次要维护网站,都必须对sevlet源码进行修改,然后编译,部署,测试,JSP诞生:
JSP优点:
1. 提供模板机制,事实上JSP就是带有一些特殊标记(称为:模板)的HTML页面;
2. 只要JSP有修改,JSP容器会自动检测和重新编译。
一、第一个JSP
1. 安装环境:
安装前先确保已经安装JDK(下载),进行简单的配置后便可安装Tomcat,配置方法网上有很多介绍,在此不再赘述。Tomcat安装完成后安装开发工具,在这我选择Myeclipse AllInOne版(下载),安装Myeclipse有一个过程很漫长,耐心等待.(本人非常支持正版,但网上有很多注册码),安装完在Myeclipse中对Tomcat进行配置,同样配置教程网上有很多,不再赘述。
2. 创建一个JSP看看效果:
运行Myeclipse->File->New->Web Project起名HelloProject,展开项目看看都有些什么:
其中有个index.jsp这就是我们这个项目的入口,双击index.jsp打开将原来的程序替换为下面的程序(看不懂没关系,复制粘贴就可以):
<%@taglib prefix="CoffeeTree" tagdir="/WEB-INF/tags"%>
<html>
<head>
<title>My first jsp</title>
</head>
<body>
<h1>This is my first jsp page</h1><hr>
I want to say:<CoffeeTree:hello/>
</body>
</html>
在WEB-INF目录下新建文件夹tasgs,在tags目录下新建文本文件hello.tag,在hello.tag中写入:<b>hello everyone!</b>
启动Tomcat,通过刚才配置的Tomcat发布该项目(如何发布网上介绍很多),打开浏览器,在地址栏输入:http://localhost:8080/HelloProject如果显示如下,那么恭喜你的第一个JSP创建成功了!
3. 上面程序的解释:
前面提过其实JSP就是一个带有特殊标签的HTML页面,特殊标签什么意思呢?就是指不是HTML定义的标签,JSP将这些特殊标签放在一个叫“标签库”的地方:
<%@taglib prefix="CoffeeTree" tagdir="/WEB-INF/tags"%>
上面这句话就是告诉JSP解释器,这张JSP中要用到些标签的定义所在,并且告诉JSP解释器,这些标签有个标记CoffeeTree,即所有标签前面都有个标记,如:<CoffeeTree:hello/>,tagdir告诉标签放在什么地方,即WEB-INF下tags目录下。当JSP解释器遇到该标签的时候就通过该路径找到标签的定义,并按照定义的约定去解释。