1. jsp页面的基本结构
    1. jsp标记
    2. 普通html标记
    3. 变量和方法的声明
    4. java程序片
    5. java表达式
      1. 变量和方法的声明
        1. <%!    %>   标记符号之间声明变量和方法
          1. 成员变量即全局变量,每次操作会影响其他用户
          2. 一般写在文件的前面
          3. 当一个线程执行java程序片期间调用synchronized时,其他线程同样调用该方法就必须等待上一个结束
      2. java程序片
        1. <%    %> 
          1. 操作成员变量
          2. 调用页面方法
          3. 声明和操作局部变量
          4. 声明的变量在当前页面有效
          5. 页面中多个程序片按顺序 执行
          6. 程序片插入在html标记中,可以灵活处理和显示数据
      3. java表达式
        1. <%=    %> 
        2. 表达式的值被表示成一个字符串形式发送给浏览器
        3. 这个表达式必须能求值
      4. 注释
        1. <%-- 注释内容  --%>
        2. 比起Html<!-- -->标记相比,jsp的注释不被编译,返回的页面中用户看不到注释
  2. JSP指令标记
    1. page 指令标记  
      1. <%@page 属性1 = “ 属性1的值” %>
      2. 与书写位置无关,对当前整个jsp页面有效,习惯写在前面
      3. contenType :用于确定jsp页面的MIME类型和字符编码
        1. 默认“text/html;charset=IOS-8859 -1”
        2. “MIME类型;charset=编码”
        3. 页面只能设置有一次
      4.  language  说明脚本语言
      5. import  引入java语言需要的包
        1. 默认有“java.lang.* "  ,"javax.servlet.* "  、”javax.servlet.jsp“、”javax.servlet.http“
      6. session  是否需要内置的sesion对象,默认true
      7. buffer  设置内置流对象out缓冲区大小
        1. 内置输出流对象out负责将服务器某些信息或运行结果发送到用户端显示
        2. buffer就是来设置out缓冲区的大小,默认8k
      8. autoFlush  设置缓冲区满是否自动刷新,默认true
      9. isThreadSafe 是否支持多线程访问
        1. 默认true,jsp能同时响应多个·用户的请求
        2. 如果为false,则其他用户要等前面那个用户响应完请求后再响应
      10. info  设置页面常用可能经常修改的字符串
        1. 在页面的程序片中可以用getServletInfo()方法获取info属性值
    2. include指令标记
      1. 在页面某处嵌入嵌入一个文件
      2. 文件必须可使用访问
      3. 必须保证新和成的jsp文件符合jsp语法规则
      4. Tomcat4中,被嵌入的文件不能使用page指令contentType属性
  3. JSP动作标记
    1. include动作标记
      1. <jsp:include page="文件的url”/>
      2. <jsp:include page="文件的url”>  param 子标记  <j/sp:include>
      3. 没有子标记时,必须使用第一种
      4. 与进后台插入的include不同
        1. 动态的插入,在jsp文件编译时候不直接合并编译,而是在jsp文件运行时后才包含进来
        2. 如果文件是普通文本文件时,就将文件内容发送到用户端,由浏览器负责显示
        3. 如果是jsp文件则由jsp引擎执行后发送结果到用户端,浏览器负责显示
        4. 被处理文件在逻辑和语法都独立于当前jsp页面
    2. param动作标记
      1. 以键值对的方式为其他标记提供附加信息
      2. 不能单独使用,需要配合上面include
      3. <jsp:param name="名字“ value=”指定给param的值“>
      4. 跟随include文件,将键值对传递过去
      5. 被加载jsp文件可使用request对象进行接收 request.getParameter()
      6. 也就是可以在一个页面,利用include动态标记中使用,将param的键值对传递到指定页面,那个页面计算后生成一个(结果)页面,再把这显示的东西返回到原页面中
    3. forward动作标记
      1. 停止当前页面执行,转向page指向的页面
      2. <jsp:forward page="要转向的页面" />
      3. <jsp:forward page="要转向的页面" > param标记 </jsp:forward>
      4. 尽管用户看见的是跳转后的页面,但是地址栏依然是转向前的链接
    4. useBean动作标记
      1. 负责存储数据
 
 

jsp课堂笔记2的更多相关文章

  1. jsp课堂笔记5 Java servlet

    servlet的创建 servlet类就是一个包含javax.servlet.http包中的HttpServlet类 部署web.xml文件 在<sevlet>标签中创建 <serv ...

  2. jsp课堂笔记4 javabean

    Javabean是一个可重复使用的软件组件,实际上是一种java类 实现代码重复利用 易编写易维护易使用 jsp页面的主要任务是显示页面,不负责数据的逻辑业务处理 将数据处理过程中指派一个或多个bea ...

  3. jsp课堂笔记3

    Http协议是一种无状态协议,一个用户向服务器发出请求(request),然后服务器返回响应(response),在服务端不保留链接相关信息.session对象可以使服务器记住当前用户   reque ...

  4. jsp课堂笔记1

    http协议:规范浏览器和服务器交互或通信的规则 https:基于http实现,比http更加安全,提供了身份验证和通信内容加密  服务器:1.配置比较高的电脑  2.他就是一个应用 http1.0: ...

  5. JSP学习笔记

    JSP学习笔记 Jsp网页主要分为Elements与Template Data两部分. Template Data:JSP Container不处理的部分,例如HTML内容 Elements:必须经由 ...

  6. JSP学习笔记(三):简单的Tomcat Web服务器

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  7. 九章算法系列(#3 Binary Tree & Divide Conquer)-课堂笔记

    前言 第一天的算法都还没有缓过来,直接就进入了第二天的算法学习.前一天一直在整理Binary Search的笔记,也没有提前预习一下,好在Binary Tree算是自己最熟的地方了吧(LeetCode ...

  8. 九章算法系列(#5 Linked List)-课堂笔记

    前言 又是很长时间才回来发一篇博客,前一个月确实因为杂七杂八的事情影响了很多,现在还是到了大火燃眉毛的时候了,也应该开始继续整理一下算法的思路了.Linked List大家应该是特别熟悉不过的了,因为 ...

  9. 九章算法系列(#4 Dynamic Programming)-课堂笔记

    前言 时隔这么久才发了这篇早在三周前就应该发出来的课堂笔记,由于懒癌犯了,加上各种原因,实在是应该反思.好多课堂上老师说的重要的东西可能细节上有一些急记不住了,但是幸好做了一些笔记,还能够让自己回想起 ...

随机推荐

  1. Flask-install-python2.6

    命令: # 安装virtualenv $ sudo yum install python-setuptools $ sudo easy_install virtualenv OR sudo pip i ...

  2. caffe的python接口学习(4)mnist实例手写数字识别

    以下主要是摘抄denny博文的内容,更多内容大家去看原作者吧 一 数据准备 准备训练集和测试集图片的列表清单; 二 导入caffe库,设定文件路径 # -*- coding: utf-8 -*- im ...

  3. Nuxt+Express后端api接口配置与实现方式

    Nuxt.js 是一个基于 Vue.js 的轻量级应用框架,可用来创建服务端渲染 (SSR) 应用.本文带你了解在 Nuxt.js 中使用 Express 如何编写实现后端的 api 接口. 创建接口 ...

  4. C++版的网络数据包解析策略(升级版)

    初版:http://www.cnblogs.com/wjshan0808/p/6580638.html 说明:在实现了对应的接口后该策略可以适合绝大多数的网络数据包结构 首先,是三个接口 IProdu ...

  5. 电脑添加多个SSH key

    创建新得ssh key ssh-keygen -t rsa -C "excem@excemple" -f ~/.ssh/id_rsa.gitlab 编辑config vim ~/. ...

  6. 深入Mybatis源码——配置解析

    @ 目录 前言 正文 配置解析 1. cacheRefElement/cacheElement 2. resultMapElements 3. sqlElement 4. buildStatement ...

  7. 简单了解一下 Swagger

    一.Swagger 1.什么是 Swagger ? Swagger 是一个规范和完整的框架,用于生成.描述.调用以及可视化的 Restful 风格的 Web 服务. 简单的理解:是一款 REST AP ...

  8. day28 封装

    目录 一.什么是封装 二.将封装的属性进行隐藏操作 1 如何隐藏: 1.1 强行访问: 1.2 内部逻辑 三.为何要封装 一.什么是封装 封装是面向对象的三大特性中最核心的一个特性 封装<==& ...

  9. 为什么有时候人们用translate来改变位置而不是定位?

    translate()是transform的一个值. 改变transform或opacity不会触发浏览器重新布局(reflow)或重绘(repaint),只会触发复合(compositions)(复 ...

  10. JavaWeb基础(day11)

    HTML HTML是超文本标记语言.HTML就 是普通的文本文件,只不过在文本中的内容如果被一些 特殊的标签进行包裹就有了特殊的含义,这些被那些标签标记文本,就成了超文本. 网页的组成 网页的组成 H ...