zoukankan      html  css  js  c++  java
  • java_day26_jsp

    一.jsp的简介

      1.jsp是java server pages允许在页面中使用java作为脚本语言动态生成html代码

      2.jsp首先和html的区别,html可以直接放在浏览器中执行但是jsp必须把tomcat启动起来才能看到效果

      3.组成部分:1.静态内容;2.指令;3.表达式;4.脚本;5.声明;6.注释

        3.1注释:jsp有html使用的注释,java使用的注释,和自己的注释

           第一种:跟html注释一样,此注释是第一种,在客户端可以看见

           第二种jsp注释,在客户端看不见,在编译时,会被擦除<%--注释-->

           第三种是标准java注释,这种注释只能写在jsp脚本中 //注释 ; /*注释*/

        3.2指令:jsp页面可以在最上方加入当前页面的配置等信息叫做jsp指令

           page指令:当前页面的配置信息,最为常用

           include:在一个页面中,将另一个文件嵌入其中

           taglib:引入标签库

        3.3脚本:<%--jsp脚本--%>可以写任何java代码,但是不能够定义方法,全局变量.所有的jsp脚本,都会和html代码混合复制进_jspService方法中.

        3.4静态内容:所有被写在jsp文件中的没有被任何jsp标签包裹的,就是静态内容,即,所有的html代码,都是静态内容

        3.5声明:用来写自定义方法,成员变量的

        3.6表达式:是在html代码中,是为了使用声明中定义的全局变量,或脚本中定义的局部变量而存在的即表达式是没有复杂逻辑,只能取值使用

    二.jsp的九大内置对象

      内置对象:在java中,一定是对象.方法()去调用,而在所有jsp页面中,这九个对象不需要new,可以直接使用

      1.out对象:out对象是jspWriter的实例,用来向客户端输出文本信息的,将内容写到out中,会默认写到out的缓冲区,当jsp执行完成后统一输出到客户端,默认页面中的静态内容也是使用out来输出

        1.1,out.flush();//把缓冲区的内容写到浏览器

        1.2,out.clear();//清空缓冲区,缓冲区的内容不会写到页面上;

        注意:不能在flush()之后调用,如果就是要调用可以用clearBuffer()

      2.request对象:request对象封装了http请求的所有信息,不分get还是post,用法和servlet中的request没有什么区别

        2.1,request.setAttribute("key",value);//存值

        2.2,request.getAttribute("key");//取值

      3.response对象:这里面的response就是servlet中的response,在jsp中用处很小

      4.session对象:session是httpSession的对象,是用来进行会话跟踪的,会话跟踪,是服务器来判断是否是同一个用户发起的不同请求

        4.1,session的底层依赖于cookie

        4.2,session是保存在服务器中的

        4.3,session还是4大域对象之一

        4.4,session.setAttribute("key",value);//存值

        4.5,session.getAttribute("key");//取值

      5.page对象:page:page对象代表当前JSP页面,是当前JSP编译后的Servlet类的对象。相当于this。

      6.application对象:application 就是servletContext,只要servletContext中有的方法,application都有

      7.pageContext对象:jsp四大域对象之一,(application,session,request,pageContext)

        7.1可以实现请求包含:pageContext.include("page.jsp");//将一个页面的内容加载到另一个页面

      8.config对象:对象就是在servlet启动的时候init方法中传入进来的ServletConfig对象,基本没啥用

      9.exception对象:是一个异常对象,当一个页面在运行过程中,发生了异常,将产生这个对象,它是Throwable的对象

        9.1,exception这个内置对象,默认是用不了的,编译过不去,想要用,必须把这个页面指定为isErrorPage,即,在page指令中添加isErrorPage= "true" 这条指令,抛异常的页面指令中添加errorPage="跳转的页面".

     

    三,EL表达式,可以从域对象中取值

      1.el表达式语法是${要取的值},它不是java代码,所以没有对象.方法

      2.取值的时候,这些值需要从其他内置对象中获得,或者从javabean中获得

      3.从域对象中取值,实际上是获得applicationScope这个map,直接map.key就可以获得这个map对应的value

      4.如下图,在test04中向域对象中传值

       5.在test03中用el表达式取值

      

  • 相关阅读:
    关于协同过滤技术
    一些数据上的概念
    Simple HBase query bridge
    leveraging
    Ajax.NET
    怎样实现给DEDE的栏目增加栏目图片(2)
    怎样实现给DEDE的栏目增加栏目图片(1)
    更改dede网站地图模板样式
    sublime如何实现函数折叠
    一步一步CCNA之五:交换机vlan配置
  • 原文地址:https://www.cnblogs.com/memo-song/p/9047578.html
Copyright © 2011-2022 走看看