您的位置:首页 > Web前端 > JavaScript

JSP基本语法总结【1】(jsp工作原理,脚本元素,指令元素,动作元素)

2017-07-03 23:30 591 查看
  时隔半年,回头对jsp复习整理一下,温故而知新。


 


jsp工作原理:


  jsp服务器管理jsp页面分两个阶段:转换阶段(translation phase)和执行阶段(execution phase)。


  客户发送请求时,服务器检验jso语法是否正确,然后转换成servlet源文件,然后调用javac工具类便宜servlet源文件生成class文件,此阶段为转换阶段。


  接下来,servlet容器加载转换后的servlet类,实例化一个对象来处理客户端的请求。请求处理后,响应对象被jsp服务器接收,服务器以html格式的响应信息发送到客户端。此阶段为执行阶段。





 


web应用的目录结构:


这个是有了解一下的必要的,无论你用什么IDE,你创建一个web project,都会默认给你一个目录结构。常见的如下:


目录


描述


/jsp_example


根目录,放置所有jsp和html文件


/jsp_example/WEB-INF


存放web.xml和自定义标签文件*.tld


/jsp.example/WEB-INF/classes


存放各种class文件,servlet文件


/jsp.example/WEB-INF/lib


放置web应用所需的各种jar文件(例如连接数据库的驱动加载类)


▲此处解读一下web.xml


javaweb应用通过一个基于xml的发布描述符文件来配置其发布信息。该文件中主要包含如下配置信息:


1’servlet定义;


2‘servlet的初始化参数;


3’servlet以及jsp的映射;


4‘Filter的定义;


5’安全域配置参数;


6‘welcome文件清单;


7’资源引用;


8‘环境变量的定义。


 


jsp基本语法


  jsp网页分为脚本和网页数据两部分。



    后者为jsp服务器不处理的部分;而脚本必须经由jsp服务器处理,大部分脚本以xml作为语法基础,大小写必须一致。


    脚本分为四种类型:编译指令;jsp脚本;动作标签;表达式语言(EL)。  



 


(1)jsp两种注释方法:


  1‘  html注释,客户端可以看到(浏览器页面,右击查看源代码时)


        <!--  comment -->


  2’  jsp注释,程序员的批注,不显示在客户端上(反上)


        <%-- comment --%>


(2)脚本元素:


  1‘  声明语句,声明变量或者函数


        <%!  int i=0;  %>


  2'  jsp脚本(scriptlet),包含一个有效的程序段


        <%   out.println("lalala,la!");   %>


  3'  表达式,直接输出显示(结果)



        <%= expression %>


   (3) jsp三个编译指令:


  格式:  <%@    ........   %>


  1'  page指令,为设定整个jsp网页的属性以及相关功能。语法如下:



        <%@ page   language="java"  import="java.util.*"   pageEncoding="ISO-8859-1"   %>


▲常见指令参数:   


1、language属性


 


设置jsp页面使用的语言,目前只支持java,默认值为java


 <%@ page language="java" %>   2、extends属性


 


设置jsp页面继承的java类,jsp页面在执行之前都会被服务器解析成Servlet,而Servlet是由java类定义的,所以jsp和Servlet都可以继承指定的父类,该属性不常用,可能影响服务器的性能优化。


 


3、import属性


 


设置JSP导入的类包,嵌入的java代码片段需要导入相应的类包。


 <%@ page import="java.util.*" %>   4、pageEncoding属性


 


指定页面编码格式,如果设置为ISO-8859-1,则页面不支持中文,通常设置为GBK或者UTF-8


 <%@ page pageEncoding="GB18030"%>   5、contentType属性


设置页面的MIME类型和编码


 <%@ page contentType="text/html; charset=UTF-8"%>   6、session属性


指定页面是否使用HTTP的session会话对象,默认值为true


 <%@ page session="true"%>   7、buffer属性


设置页面out输出对象的缓冲区大小,默认为8KB,单位只能使用KB,建议使用8的倍数作为属性值


 <%@ page buffer="128kb"%>   8、autoFlush属性


 


设置页面缓存满时,是否自动刷新缓存,默认为true,如果设置成false,则缓存满时会抛出异常


<%@ page autoFlush="false"%>    


9、isErrorPage属性


 


可以将当前页面设置成错误处理页面来处理另一个JSP页面的错误,也就是作为异常处理页面


 


<%@ page isErrorPage="true"%>  


10、errorPage属性


 


设置当前页面的异常处理页面,对应的异常处理页面isErrorPage必须设置为true,如果设置该属性,那么在web.xml文件中定义的任何错误处理页面都将被忽略,优先使用该属性定义的异常处理页面。


 


  


  2’  include指令,在jsp文件中包含一个静态的文件,同时解析文件中的jsp语句


          <@ include file="a.jsp"  @>


      ▲注意与  jsp:include  的区别


  3‘  taglib指令,引入标签库,能够让用户自定义新的标签。例如:



          <%@ taglib   uri="URIToTagLibrary"   prefix="tagprefix"  %>


        uri指指定标签库存放位置,prefix指指定标签库使用的前缀,用来区分多个自定义标签。


 


  (4)jsp动作元素


      1’  <jsp:forward   page="loginsuccess.jsp"   />     forward标签跳转页面,page值可以给出,也可以在请求时动态计算。


        2'  <jsp:include  page="a.jsp"   />    动态插入文件


        3‘  <jsp:useBean   id="name"  class="package.class"  />   可发挥java组件重用,通过<jsp:setProperty  />设置Bean属性,通过<jsp:getProperty  />读取Bean。



        4’  <jsp: param   />


        5'  <jsp: plugin  />



        6'  <jsp:params   />


        7'  <jsp:fallback   />       (后几个不常用,不做详解)


 


 


                路漫漫其修远兮,吾将上下而求索。


                穷则独善其身,学习之路深远!甚远!


 


    (本人原创,未经同意,不得转载,谢谢)


 


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐