• jsp由浅入深开发必备


    jsp由浅入深开发必备

    author:lxy

    学习整理笔记仅供回顾知识





    jsp简介:
    1、jsp = html + java。
    2、jsp原理:
            jsp就是Servlet,容器会把jsp翻译成Servlet,并编译Servlet源码,执行Servlet。
    3、编程中的分工:
            Servlet作为控制器来用
            jsp显示数据
            两种一般各自明确分工是良好的编码风格

    jsp的基本语法
    1、jsp的模板元素,jsp中用html标签来输出排版
    2、jsp脚本表达式:把内容输出到页面,<%=表达式%>  对应Servlet中out.print()
            jsp脚本片段:jsp中实现java逻辑代码,<%语句%>        对应方法中的语句,
            jsp声明:定义一些成员变量,<%!定义变量%> 对应全局区变量
            jsp注释:注释的内容不会被翻译为Servlet语句,<%--注释--%>
            
    jsp的指令
    1、作用:
            是为jsp引擎(服务器)而设计,指示服务器如何处理jsp页面中的内容
    2、有哪些指令:
            page:定义jsp页面中的各种属性
            taglib:引入外部标签库(uri:外部空间的名称空间,prefix:前缀)
            include:页面包含(静/动)
            语法:<%@指令名 指令属性="指令值"... %>

    jsp的动作元素
    1、动作元素即内置标签
    2、几个内置标签
            <jsp:include >动态包含
            <jsp:forward >请求转发
            
    jsp的九大隐式对象||对应的Servlet
    1、request (HttpServletRequest)
    2、response (HttpServletRequest)
    3、session (HttpSession)
    4、application (ServletContext)
    5、config (servletConfig)
    6、page (Servlet)
    7、exception (Throwable)
    8、out (JspWriter)
    9、pageContext (PageContext)

    pageContext对象详解
    1、本身是一个域对象,还可以操作ServletContext、ServletRequest、HttpSession

    2、pageContext是一个页面域对象,

    <%pageContext.setAttribute("p","pp",PageContext.REQUEST_SCOPE)%>

            <%pageContext.setAttribute(KEY,VALUE,SCOPE)%>        

    SCOPE取值: P AGE/REQUEST/SESSION/APPLICATION


    3、Object findAttribute(String key);//依次从页面、请求、会话、应用范围获取值(从小到大找)

    4、Request getRequest();//获取其他八个隐式对象
    5、提供转发和包含功能
            pageContext.forward("/1.jsp");
            pageContext.include("/1.jsp");

    四大域对象
    在不同的资源之间传递数据
    1、PageContext(页面)
    2、ServletRequest(一次请求)
    3、HttpSession(一次会话)
    4、ServletContext(应用级)

    EL表达式
    1、主要作用:
            向页面输出数据,替换jsp(<%=...%>)中的java代码,
    2、语法就像写html标签一样
            ${EL表达式} 

    3、EL从四大域对象获取数据
            运算符:点运算符和中括号运算符,就是调用对象的getter方法

    4、原理:通过四大域对象获取到java类对象,然后调用get方法获得数据,最后通过out隐式对象的Writer方法写到页面。

    5、empty运算符,判断一个对象是否为null,字符串是否为"",集合数组中是否有元素。

    十一个隐式对象||类型除了pageContext外别的都是map型的
    1、pageContext(pageContext)
    2、pageScope
    3、requestScope
    3、sessionScope
    4、applicationScope
    5、param
    6、paramValues
    7、header
    8、headerValues
    9、initParam
    10、cookie

    自定义EL函数
    1、定义一个public的类,提供静态的实现方法。
    2、在web-info下建立一个扩展名为tld的xml文件,在文件中
            在文件中定义EL函数的短名称,绑定空间名,定义函数。
    3、在web.xml中把tld和名称空间绑定起来
    4、在jsp页面中通过taglib的指令标签引入命名空间,页面中使用自动以EL函数
            使用自动以EL函数进行防止表单重复提交的实现。(对此稍后具体做个简单实现说明)

    javabean概念
    1、什么才是合格的JavaBean:
            类必须是public的,
            有无参数构造,
            字段都是私有,
            提供公有的gette、setter
            一般需要实现序列化接口
    2、jsp中操作JavaBean的动作元素
            <jsp:useBean id="" class="" scope=""/>
            原理:先在指定的范围中查找id指定名称的JavaBean,如果没有找到,就实例化一个并放到域中。

            <jsp:getProperty property="" name=""/>
            <jsp:setProperty property="" name="" value=""/>
            property:属性名称(get去掉首字母小写)
            name:id指定的对象
            value:赋给的值
            
    自定义标签
    1、标签的作用:
            替换jsp中的java脚本<%%>

    2、自定义标签开发步骤
            a、直接或间接实现SimpleTag接口,一般继承SmpleTagSupport,
            b、重写doTage,传入当前页面PageContext对象,容器在调用此方法之前已经调用过setJspContext
            c、在web-info目录下建立tld
            d、jsp页面中调用标签
    标签的生命周期,每次访问都会重新实例化。





    来自群组: Java用户组
    用心-细心-专心-决心 学习就像爬大山,一步一步向前走 -态度决定高度-
  • 相关阅读:
    Eureka获取服务列表源码解析
    Eureka客户端续约及服务端过期租约清理源码解析
    Eureka应用注册与集群数据同步源码解析
    Eureka重要对象简介
    EurekaClient自动装配及启动流程解析
    idea2019注册码
    EurekaServer自动装配及启动流程解析
    程序员的算法课(5)-动态规划算法
    程序员的算法课(4)-二分查找
    程序员的算法课(3)-递归(recursion)算法
  • 原文地址:https://www.cnblogs.com/xianyou-liang/p/8503340.html
Copyright © 2020-2023  润新知