jsp基础学习笔记,喜欢的看看

*3 JSP工作原理
  1)Web服务器会在第一次访问某jsp时,将jsp翻译成java原码,该原码是一个servlet  
  2)jsp的三个生命周期方法:date_jsp(),_jspInit(),_jspDestory(),_jspService()方法,生命周期类似于servlet
  3)在_jspService()方法,Web服务器自动默认创建8个内置对象并设置值
  4)其中静态的资源通过out.write()方法输出,动态资源通过out.print()方法输出
  5)从最终的本质上讲,jsp都是servlet,按照servlet方式运行
  6)参见<<JSP原理.JPG>>

 
*4 JSP语法

  1)JSP模版元素
    就是JSP中的<html>静态的标签
 
  2)JSP表达式
    语法:<%="变量/常量"%>,字符串用""号定界,无需分号结束
    需要向浏览器输出内容时,可以使用JSP表达式,
    类似于Servlet中resposne.getWriter().write("哈哈");     
 
  3)JSP脚本片断
    语法:<%一行呀多行Java代码,以分号结束%>
    生成的源码,都位于_jspService()方法中,多个JSP脚本片段可以相互访问

  4)JSP声明
    语法:<%! 声明实例变量或普通方法%>
   
  5)JSP注释
    语法:<%-- JSP特有的注释 --%>
    JSP引擎不会将其翻译成Servlet源码,即忽略
    其它注释都会被翻译进Sercvlet源码
    JSP特有注释不允许嵌套
============================================================

2 JSP中九大内置对象
  request:取得请求参数
  response:响浏览器输出内容
  session:在当前会话中有效,新会话中无效
  application:在当前web应用中有效
  config:获取jsp在web.xml文件中配置的初始化参数
  exception:当jsp页面是错误处理页面,方可使用
  out:输出到浏览器
  page
  pageContext    
 
3 PageContext对象作用
  1)可以引用其它8个内置对象
      如果一个普通的java类,拥用PageContext对象,则该普通Java类就可以与Web资源交互,例如取得客户端IP地址

  2)域对象
    >>PageContext域对象只能在当前JSP页面中有效,请求出了该JSP页面,原PageContext对象内容销毁
    >>PageContext将值放入到指定的域对象,同样需要从指定的域对象中取值
    >>findAttriute()会根据name依次去JSP中四个域对象查询,找到即止,如果都找不到,返回null字符串
        
 
  3)封装Web常用的操作,例如转发/包含/。。。。
    >>PageContext.include()
    >>PageContext.forward()

      
*4 JSP中四个域对象汇总
  1)什么是域对象:在多个动态Web资源之间共享信息,需要域对象;例如:Servlet到Servlet,Servlet到Jsp,Jsp到Jsp
  2)JSP中域对象有四个:PageContext->request->session->application
  3)应用场合:
    >>PageContext:只能应用在当前面页的一次请求中
    >>request:只要在一次请求中,不论该请求经过N个动态资源,只且只能是转发
    >>session:只要在一次新会话中,不论该请求经过N个动态资源,不论转发还是重定向,例如:购物车
    >>application:只要在当前web应用中,不论该请求经过N个动态资源,不论转发还是重定向,不论多个新会话,
                       例如:在线访问计数器,QQ群聊室
  4)参见<<jsp中4个域对象.JPG>>

*5 JSP内置非JavaBean标签(美化+业务逻辑)
  1)JSP标签主要目的:替代JSP页面中的<%%>脚本符号,
  2)目标:达到美化和业务逻辑相统一的JSP页面
  3)常用的标签/动作
    <jsp:include/>(动态包含/运行/执行)
        (1)将被包含的jsp都生成对应的servlet,即如果包含3个jsp的话,则生成3个servlet
        (2)在运行jsp时,动态包含
        (3)总的jsp文件,生成的servlet结构良好    
        (4)<%@include%>指令是通过file属性,而<jsp:include>标签是通过page属性

    <jsp:forward/>
        转发到指定的jsp页面

    <jsp:param/>   
        包含一个或多个参数
   
   4)JSP错误的种类:
    >>JSP语法出错
    >>JSP语法无错,但翻译成Servlet时出错了,源码有,但字符没有
    >>JSP语法无错,翻译成Servlet时无错,执行class时出错了
   
*6 JSP中内置JavaBean标签 + Page对象
  <jsp:useBean/>
    先查询,如果查询不到,再创建新的JavaBean对象,同时绑定到指定域对象中
    对于<jsp:useBean/>标签中的内容,只能在创建新的JavaBean对象时执行        
    id=绑定到域对象的名字
  <jsp:setProperty/>
    为JavaBean设置值
    param表示参数的名
    只能当参数名和JavaBean的属性名一致的情况下,可以使用通配符收集,代码如下:
    <jsp:setProperty name="student(域对象中的name属性的值)" property="*"(属性名和参数名一致)/>

  <jsp:getProperty/>
    取得JavaBean属性的值

7 EL和JSTL快速入门
 *1)EL可以替代和简化JSP脚本的输出  
  2)语法格式:${EL语法},前提:<%@ page isELIgnored="false"%>
  3)输出普通变量/JavaBean/多个JavaBean嵌套的值
  4)EL只会从域对象中查询值,找不到返回""空串,底层就是pageContext.findAttribute()方法的封装
 * 5)JSTL替代和简化JSP脚本的迭代操作的输出
  6)JSTL的开发步骤:
    >>导入二个jar包:Jstl.jar和Standard.jar[都是class文件]
        >>在需要使用jsp的页面中导入如下代码:
        <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>    

这里好多视频下载学习http://www.itcast.cn/channel/video.shtml,喜欢的看看
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值