jsp知识

生命周期

  1. 编译:浏览器请求jsp页面,jsp引擎会检查是否已经编译过该文件

    编译步骤
    1. 解析jsp文件
    2. 将jsp文件转为servlet文件
    3. 编译servlet
  2. JSP初始化
    容器载入JSP文件后,它会在为请求提供任何服务前调用jspInit()方法。如果您需要执行自定义的JSP初始化任务,复写jspInit()方法

  3. JSP执行
    JSP网页完成初始化后,JSP引擎将会调用_jspService()方法

     void _jspService(HttpServletRequest request,HttpServletResponse response)
     {
        // 服务端处理代码
     }
    
  4. jsp清理
    需要执行任何清理工作时复写jspDestroy()方法,比如释放数据库连接或者关闭文件夹等等。

     jspDestroy()方法的格式如下:
     
     public void jspDestroy()
     {
        // 清理代码
     } 
    

语法

  1. 脚本程序

     <% 代码片段 %>  -----任何文本、HTML标签、JSP元素必须写在脚本程序的外面。
    
  2. 定义变量

     <%!   定义变量   %>
     <%! int i = 0; %> 
    
  3. jsp表达式 ,会将表达式的值转为字符串

    <%= 表达式 %>
    

jsp指令

指令描述
<%@ page attribute=“值”%>定义网页依赖属性,如脚本语言、error页面、缓存需求等
<%@ include file=“path”%>包含其他文件,会被同时执行编译(编译为servlet时执行)
<%@ taglib uri=“标签库地址” prefix=“标签库前缀”%>引入标签库的定义

jsp动作元素

语法描述
jsp:include在页面被请求的时候引入一个文件。
jsp:useBean寻找或者实例化一个JavaBean。
jsp:setProperty设置JavaBean的属性。
jsp:getProperty输出某个JavaBean的属性。
jsp:forward把请求转到一个新的页面。
jsp:plugin根据浏览器类型为Java插件生成OBJECT或EMBED标记。
jsp:element定义动态XML元素
jsp:attribute设置动态定义的XML元素属性。
jsp:body设置动态定义的XML元素内容。
jsp:text在JSP页面和文档中使用写入文本的模板

隐式对象

对象描述
requestHttpServletRequest类的实例
responseHttpServletResponse类的实例
outPrintWriter类的实例,用于把结果输出至网页上
sessionHttpSession类的实例
applicationServletContext类的实例,与应用上下文有关
configServletConfig类的实例
pageContextPageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
page类似于Java类中的this关键字
ExceptionException类的对象,代表发生错误的JSP页面中对应的异常对象

核心标签库

  1. <c:out> 于在JSP中显示数据

     <c:out value="变量名" default="默认值" escapeXml="是否转义"/>
    
  2. <c:set> 设置变量值和对象属性

     <c:set
        var="变量名"
        value="值"
        target="属性所属对象"
        property="属性名"
        scope="var作用域"/>
    
  3. <c:remove> 移除一个变量

     <c:remove var="移除的变量名称" scope="作用域"/>
    
  4. <c:catch> 用来处理产生错误的异常状况,并且将错误信息储存起来

       <c:catch var ="变量名">
       	 <% int x = 5/0;%>
       </c:catch>
    
  5. <c:if> 如果表达式的值为真则执行

     <c:if test="条件" var="存储结果" scope="var作用域">
        ...
     </c:if>
    
  6. <c:choose> <c:when> <c:otherwise>

     <c:choose>
     <c:when test="<boolean>"/>
         ...
     </c:when>
     <c:when test="<boolean>"/>
         ...
     </c:when>
     <c:otherwise>
         ...
     </c:otherwise>
    

    </c:choose>

  7. <c:import> 检索一个绝对或相对 URL,然后将其内容暴露给页面

     <c:import
        url="引入的url"
        var="存储引入的变量"
        scope="var作用域"
        charEncoding="存储引入的编码集"/>
    
  8. <c:forEach> 基础迭代标签

     <c:forEach								例子:<c:forEach var="i" begin="1" end="5">
     items="被循环的变量"	 						<c:out value="${i}"/>
     begin="首元素下标"							 </c:forEach>
     end="尾元素下标"						输出:1 2 3 4 5
     step="步长"
     var="当前变量">
    
  9. <c:forTokens> 根据分隔符来分隔内容并迭代输出

     <c:forEach								例子:<c:forTokens items="google,w3cschool,taobao" delims="," var="name">
     items="被循环的变量"	 						 <c:out value="${name}"/>
     begin="首元素下标"							  </c:forTokens>
     end="尾元素下标"						输出:google  w3cschool  taobao
     step="步长"
     var="当前变量"
     delims="分隔符" >
    
  10. <c:param>给url添加参数

  11. <c:url>创造一个URL

    <c:url var="myURL" value="main.jsp">				
    	<c:param name="aaa" value="123"/>
    	<c:param name="bbb" value="456"/>
    </c:url>
    <a href="/<c:out value="${myURL}"/>">
    结果:
    /main.jsp?aaa="123"&bbb="456"
    
  12. <c:redirect> 重定向至一个新的URL.

    <c:redirect url="目标URL"/>	
    

EL表达式

  1. 操作符描述
    . 访问一个Bean属性或者一个映射条目
    [] 访问一个数组或者链表的元素
    emp4ty 测试是否空值
    2.使用:${expression}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值