什么是jsp?为什么要学jsp和用jsp呢?
Jsp的全称是java server pages,它是用于开发含有动态内容的Web页面的技术 ,jsp是将html标签和java逻辑代码结合在一起的。这是简单的理解jsp,只是jsp中的脚本元素,后几节我们还会讲到jsp有自己的标签,那时我们会详细跟大家讲的。我们为什么要学习jsp和使用jsp呢?在web开发的初期,CGI(Command Gateway Interface ,通用网关接口) 是开发动态web内容的唯一工具。但是CGI并非一个高效的解决法案。对于到来的每一个请求,web服务器不得不完成以下的工作,即创建一个新的操作系统进程,加载一个解释器和一个脚本,并执行次脚本,然后将此进程释放。对于服务器来说这样开销过大,而且不能很好地应对数据流量的增加,即可扩展性不好。而jsp页面总是在得到服务器的处理之前先行编译,而CGI则要求加载一个解释器和一个脚本,jsp则巧妙的绕开这种策略,它在各个jsp页面首次请求时将其编译为可执行代码,即字节码(.class文件)。这样以后相应的页面请求则可直接调用前面所得到的字节码,这样做可以快速的处理jsp页面。我们可以用一张图来说明jsp的访问过程。如图 1-1
图 1-1
图中的Http GET/POST和java servlet下节会给大家讲解,这节我们只是大体的了解一下jsp。下面我们做jsp的小程序。我们写一个获得当时时间的例子。我们用html中嵌入java逻辑代码(脚本元素)的方法来写。代码如下:
<%@ page import ="java.util.*" pageEncoding="gb2312"%>
<html>
<head><title>百家拳软件技术研究室</title></head>
<body>
你好,今天是
<%Date date = new Date();%>
<!--getMonth方法是从0 开始计数的,所以的加一才是当前的月份 -->
<%=date.getMonth()+1 %>月
<%=date.getDate()%>号
星期<%=date.getDay()%>
<%=date.getHours()%>点
<%=date.getMinutes()%>分
<%=date.getSeconds() %>秒
</body>
</html>
程序结果如下图1-2
例子代码下载
本节我们就讲到这里,讲到这里大家会有疑问了,jsp和html运行时一样的吗?只要我在记事本里写入html代码,然后保存为后缀名为html,是不是就能看到上面的结果?答案是:不是的,Jsp的运行需要容器来作为支持的。我们下节就为大家来解开这个疑问,下节我们讲一讲jsp和tomacat的关系。
本节例子使用方法:将例子jsprumen1直接复制到tomcat的webapps目录下,输入http://localhost:8080/jsprumen1/time.jsp tomcat的安装方法详细的请看下一节。