【jsp】 3个编译指令和7个动作指令

来源:互联网 发布:奥斯卡终身成就奖 知乎 编辑:程序博客网 时间:2024/04/28 21:33

        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>

  (3)JSP脚本:<% %>
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|requestsession|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个内置对象


0 0
原创粉丝点击