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. SSTI-服务端模板注入漏洞

      原理: 服务端模板注入是由于服务端接收了用户的输入,将其作为 Web 应用模板内容的一部分,在进行目标编译渲染的过程中,执行了用户插入的恶意内容,因而导致了敏感信息泄露.代码执行.GetShell ...

  2. git命令--使用fork模式工作

    一. 1.第一步,先将原作者项目fork到自己的目录下,这个可以直接在控制台操作 可以看到该项目在ins-product目录下,fork之后,可以去查看自己的工作目录 可以看到在本人目录下已经存在该项 ...

  3. web前端达到什么水平,才能找到工作?

    前端都需要学什么(可以分为八个阶段)<1>第一阶段: HTML+CSS:HTML进阶. CSS进阶.DIV+CSS布局.HTML+CSS整站开发. JavaScript基础:Js基础教程. ...

  4. (私人收藏)[开发必备]最全Java离线快速查找手册(可查询可学习,带实例)

    (私人收藏)[开发必备]最全Java离线快速查找手册(可查询可学习,带实例) https://pan.baidu.com/s/1L54VuFwCdKVnQGVc8vD1TQnwmj java手册 Ja ...

  5. flex-direction和flex-wrap

    当外层容器使用flex布局,并且把flex-direction设置成colum的时候,内层容器的宽度会跟外层容器的宽度保持一致. 在浏览器上的效果如下: 当把外层容器的纵向布局不适用flex-dire ...

  6. springBoot整合redis(作缓存)

    springBoot整合Redis 1,配置Redis配置类 package org.redislearn.configuration; import java.lang.reflect.Method ...

  7. Mysql常用sql语句(24)- delete 删除数据

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 delete 也属于DML语句(数据操纵语句) ...

  8. 使用Rancher在K8S上部署高性能PHP应用程序

    介 绍 PHP是网络上最流行的编程语言之一,许多被广泛使用的内容管理系统都使用它开发,如WordPress和Drupal,并为现代服务器端框架(如Laravel和Symfony)提供核心代码. 尽管P ...

  9. 从 (a==1&&a==2&&a==3) 成立中看javascript的隐式类型转换

    下面代码中 a 在什么情况下会打印 1? var a = ?; if(a == 1 && a == 2 && a == 3){ console.log(1); } 这个 ...

  10. Scala 面向对象(五):面向对象的特征一:封装性

    1 封装介绍 封装(encapsulation)就是把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作. 封装的理解和好处 隐 ...