zoukankan      html  css  js  c++  java
  • 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用户组
    用心-细心-专心-决心 学习就像爬大山,一步一步向前走 -态度决定高度-
  • 相关阅读:
    使用 yo 命令行向导给 SAP UI5 应用添加一个新的视图
    SAP Fiori Elements 应用的 manifest.json 文件运行时如何被解析的
    SAP UI5 标准应用的多语言支持
    微软 Excel 365 里如何设置下拉菜单和自动高亮成指定颜色
    SAP Fiori Elements 应用里的 Title 显示的内容是从哪里来的
    本地开发好的 SAP Fiori Elements 应用,如何部署到 ABAP 服务器上?
    如何在 Cypress 测试代码中屏蔽(Suppress)来自应用代码报出的错误消息
    教你一招:让集群慢节点无处可藏
    应用架构步入“无服务器”时代 Serverless技术迎来新发展
    MySQL数据库事务隔离性的实现
  • 原文地址:https://www.cnblogs.com/xianyou-liang/p/8503340.html
Copyright © 2011-2022 走看看