1.2.1 什么是jsp
jsp技术是有sun公司,(现被oracle收购)提出,多家公司参与的,于1999年推出的一款建设动态网页的方法。它基于java servlet技术来开发动态的、高性能的web应用程序。jsp的网页实际上是由在html文件中加入java代码片段和jsp的特殊标记构成的。
因为jsp是java 的成员,所以jsp具有平台无关性,即实现跨平台功能,实现了用户界面和程序代码的解耦合。
1.2.2 jsp的优势
jsp可以看作是java servlet 的扩展,jsp在使用前必须被编译成servlet,也就是java类。jsp中的java代码可以是javabean,sql语句,rmi(远程方法调用)等。
1.开发简单方便
在jsp中的编辑跟编写html文件基本一样,在处理表单方面很方便。对于设置http报头,jsp同样提供了丰富的方法,使得jsp开发者在编写通用功能时很便捷,从而花费更多的是假在业务逻辑上。
2.跨平台
java本身就有跨平台行。
3.高效率和高性能
jsp是servlet的扩展,因此jvm为每一个请求创建一个单独的线程,而不是进程,如此系统就能很快的处理请求。同时jsp只会被编译一次,即在首次加载时需要编译,这样就加快了系统的响应速度。当一个请求处理结束之后,相关jsp映射的java类并不会从内存中删除,而是被保留在内存中,当下次同样的请求发生时,系统会提供更快的相应速度。
4.低成本
1.2.3 jsp的执行顺序
大致如下:首先,客户端向web服务器提出请求,然后jsp引擎负责将页面转化为servlet,此servlet经过虚拟机编译成类文件,然后再把类文件加载到内存中执行。最后有服务器将结果返回给客户端。
jsp页面代码会被编译成servlet代码,所以从执行效率上说肯定是没有servlet快,但并不是每一次都需要编译jsp页面。当jsp第一次被编译成类文件后,重复调用该jsp页面时,jsp引擎发现该jsp页面没有改动过,那就会直接使用之前的类文件。如果有变动,需要重新编译。
1.2.4 一个jsp的简单实例
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>jsp简单例子</title>
</head>
<body>
<%
int count=0;
for (int i=1;i<10;i++){
count+=i;
}
out.print("1到10的相加结果是"+count);
%>
</body>
</html>