JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1] 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
JSP几个注意的点
1.jsp的本质是Servlet(一个特殊的java类)
2.在jsp中放在<% %>之间,表明这些是java脚本,而不是静态内容
3.Jsp页面生成的Servlet放在work路径对应的web应用下。
4.jsp文件必须在Jsp服务器内运行
5.Jsp文件必须生成Servlet才能执行
6.每个Jsp页面的第一个访问者速度很慢,因为必须等待JSP编译成Servlet
7.Jsp页面的访问者无需安装任何客户端,甚至不需要可以运行Java的运行环境,因为jsp页面输送到客户端的是标准HTML页面。
8.jsp页面会编译成一个Servlet类,每个Servlet在容器中只有一个实例,在JSP中声明的变量时成员变量,成员变量只在创建实例时初始化,该变量的值将一直保存,直到销毁
JSP的声明、表达式与脚本
(1)声明:<%! %>
用于声明变量和方法。在JSp中似乎不需要声明类就可以直接定义方法,方法似乎可以独立于类存在,实际上JSp声明将会转换成对应Servlet的成员变量或成员方法。
<%!
<!--声明变量-->
public int count;
<!--声明方法-->
public String info()
{
return "hello";
}
%>
(2)输出表达式 <%= %>
<strong><span style="font-size:18px;"></span></strong><pre name="code" class="html"><span style="font-size:18px;"><!--表达式-->
<%=count++%></span>
JSP脚本中可以包含任何可执行的Java代码。通常来说所有可执行性的java代码都可以通过JSp脚本来嵌入html页面。
3个编译指令
(1)page指令:
page指令用来对jsp页面文件进行全局属性进行设置,如页面编码,脚本语言,错误页面,缓冲区等.
1.page指令通常位于JSP页面的顶端,一个jsp页面可以使用多条page指令
2.语法格式如下:
<%@page import="package.class|package.*,..." %>
(2)include指令
1.include指令可以将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句,这个静态的include语句也会把目标页面中的其他编译指令也包含进来,但动态的include则不会.
2.静态的include编译指令会将被包含的页面加入本页面,融合成一个页面,因此被包含的页面甚至不需要是一个完整的页面.
3.编译指令
<span style="font-size:18px;"><%@include file="relativeURLSpec" %></span>
4.如果被嵌入的文件经常需要改变,建议使用<jsp:include>操作指令,因为他是动态的include语句
(3)taglib指令
用于定义和访问自定义标签.
7个动作指令
(1)forward指令
1.forwar指令用于将页面响应转发到另外的页面(html页面,jsp页面或者Servlet)
2.语法格式
<span style="font-size:18px;"><jsp:forward page="{relativeURL|<%=expression%>}">
{<jsp:param name="" value="" />}
</jsp:forward></span>
3.添加的参数可以通过HttpServletRequest类的getParameter()方法获取
(2)include指令
include指令是一个动态指令,也用于包含某个页面,它不会导入被include页面的编译指令,仅仅将被导入页面的body内容插入本页面。
<span style="font-size:18px;"><jsp:include page="relativeURL|<%=expression%>" >
<jsp:param name="parameterName" value="patameterValue"/>
</jsp></span>
(3)userBean、setProperty、getProperty指令
这三个指令都是与JavaBean相关的指令,其中useBean指令用于在jsp页面中初始化一个java实例,setProperty指令用于为JavaBean实例的属性设置值,getProperty指令用于输出javaBean实例属性。
如果多个jsp页面需要重复使用某段代码,我们可以把这段代码定义成java类的方法,然后让多个jsp页面调用该方法,这样可以达到较好的代码复用。
UseBean的语法格式如下
<span style="font-size:18px;"><jsp:useBean id="name" class="classname" scope="page|request
session|application" /></span>
其中id属性是javaBean的实例名,class属性确定javaBean的实现类,scope属性用于指定JavaBean实例的作用范围。
setProperty指令的语法格式
<jsp:setProperty name="BeanName" property="propertyName" value="value"/>
其中name属性确定需要设定javaBean的实例名,property属性确定需要设置的属性名,value属性则确定需要设置的属性值。
getProperty指令的语法格式
<jsp:getProperty name="BeanName" property="propertyName" />
其中name属性确定需要输出的javaBean的实例名,property属性确定需要输出的属性名
(4)plugin指令
plugin指令主要用于下载服务器端的JavaBean或Applet到客户端执行,由于程序在客户端执行,因此客户端必须安装虚拟机。
(5)param指令
param指令用于设置参数值,这个指令本身不能单独使用,因为单独使用没有什么实际意义。
所以需要结合例如jsp:include、jsp:forwrad、jsp:plugin指令。
总结
以上就是对于jsp的一点小总结,接下来的文章将会总结一下9个内置对象