jsp课堂笔记2
- jsp页面的基本结构
- jsp标记
- 普通html标记
- 变量和方法的声明
- java程序片
- java表达式
- 变量和方法的声明
- <%! %> 标记符号之间声明变量和方法
- 成员变量即全局变量,每次操作会影响其他用户
- 一般写在文件的前面
- 当一个线程执行java程序片期间调用synchronized时,其他线程同样调用该方法就必须等待上一个结束
- java程序片
- <% %>
- 操作成员变量
- 调用页面方法
- 声明和操作局部变量
- 声明的变量在当前页面有效
- 页面中多个程序片按顺序 执行
- 程序片插入在html标记中,可以灵活处理和显示数据
- java表达式
- <%= %>
- 表达式的值被表示成一个字符串形式发送给浏览器
- 这个表达式必须能求值
- 注释
- <%-- 注释内容 --%>
- 比起Html<!-- -->标记相比,jsp的注释不被编译,返回的页面中用户看不到注释
- JSP指令标记
- page 指令标记
- <%@page 属性1 = “ 属性1的值” %>
- 与书写位置无关,对当前整个jsp页面有效,习惯写在前面
- contenType :用于确定jsp页面的MIME类型和字符编码
- 默认“text/html;charset=IOS-8859 -1”
- “MIME类型;charset=编码”
- 页面只能设置有一次
- language 说明脚本语言
- import 引入java语言需要的包
- 默认有“java.lang.* " ,"javax.servlet.* " 、”javax.servlet.jsp“、”javax.servlet.http“
- session 是否需要内置的sesion对象,默认true
- buffer 设置内置流对象out缓冲区大小
- 内置输出流对象out负责将服务器某些信息或运行结果发送到用户端显示
- buffer就是来设置out缓冲区的大小,默认8k
- autoFlush 设置缓冲区满是否自动刷新,默认true
- isThreadSafe 是否支持多线程访问
- 默认true,jsp能同时响应多个·用户的请求
- 如果为false,则其他用户要等前面那个用户响应完请求后再响应
- info 设置页面常用可能经常修改的字符串
- 在页面的程序片中可以用getServletInfo()方法获取info属性值
- include指令标记
- 在页面某处嵌入嵌入一个文件
- 文件必须可使用访问
- 必须保证新和成的jsp文件符合jsp语法规则
- Tomcat4中,被嵌入的文件不能使用page指令contentType属性
- JSP动作标记
- include动作标记
- <jsp:include page="文件的url”/>
- <jsp:include page="文件的url”> param 子标记 <j/sp:include>
- 没有子标记时,必须使用第一种
- 与进后台插入的include不同
- 动态的插入,在jsp文件编译时候不直接合并编译,而是在jsp文件运行时后才包含进来
- 如果文件是普通文本文件时,就将文件内容发送到用户端,由浏览器负责显示
- 如果是jsp文件则由jsp引擎执行后发送结果到用户端,浏览器负责显示
- 被处理文件在逻辑和语法都独立于当前jsp页面
- param动作标记
- 以键值对的方式为其他标记提供附加信息
- 不能单独使用,需要配合上面include
- <jsp:param name="名字“ value=”指定给param的值“>
- 跟随include文件,将键值对传递过去
- 被加载jsp文件可使用request对象进行接收 request.getParameter()
- 也就是可以在一个页面,利用include动态标记中使用,将param的键值对传递到指定页面,那个页面计算后生成一个(结果)页面,再把这显示的东西返回到原页面中
- forward动作标记
- 停止当前页面执行,转向page指向的页面
- <jsp:forward page="要转向的页面" />
- <jsp:forward page="要转向的页面" > param标记 </jsp:forward>
- 尽管用户看见的是跳转后的页面,但是地址栏依然是转向前的链接
- useBean动作标记
- 负责存储数据
jsp课堂笔记2的更多相关文章
- jsp课堂笔记5 Java servlet
servlet的创建 servlet类就是一个包含javax.servlet.http包中的HttpServlet类 部署web.xml文件 在<sevlet>标签中创建 <serv ...
- jsp课堂笔记4 javabean
Javabean是一个可重复使用的软件组件,实际上是一种java类 实现代码重复利用 易编写易维护易使用 jsp页面的主要任务是显示页面,不负责数据的逻辑业务处理 将数据处理过程中指派一个或多个bea ...
- jsp课堂笔记3
Http协议是一种无状态协议,一个用户向服务器发出请求(request),然后服务器返回响应(response),在服务端不保留链接相关信息.session对象可以使服务器记住当前用户 reque ...
- jsp课堂笔记1
http协议:规范浏览器和服务器交互或通信的规则 https:基于http实现,比http更加安全,提供了身份验证和通信内容加密 服务器:1.配置比较高的电脑 2.他就是一个应用 http1.0: ...
- JSP学习笔记
JSP学习笔记 Jsp网页主要分为Elements与Template Data两部分. Template Data:JSP Container不处理的部分,例如HTML内容 Elements:必须经由 ...
- JSP学习笔记(三):简单的Tomcat Web服务器
注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...
- 九章算法系列(#3 Binary Tree & Divide Conquer)-课堂笔记
前言 第一天的算法都还没有缓过来,直接就进入了第二天的算法学习.前一天一直在整理Binary Search的笔记,也没有提前预习一下,好在Binary Tree算是自己最熟的地方了吧(LeetCode ...
- 九章算法系列(#5 Linked List)-课堂笔记
前言 又是很长时间才回来发一篇博客,前一个月确实因为杂七杂八的事情影响了很多,现在还是到了大火燃眉毛的时候了,也应该开始继续整理一下算法的思路了.Linked List大家应该是特别熟悉不过的了,因为 ...
- 九章算法系列(#4 Dynamic Programming)-课堂笔记
前言 时隔这么久才发了这篇早在三周前就应该发出来的课堂笔记,由于懒癌犯了,加上各种原因,实在是应该反思.好多课堂上老师说的重要的东西可能细节上有一些急记不住了,但是幸好做了一些笔记,还能够让自己回想起 ...
随机推荐
- 用Creator实现一个擀面的效果
先上几张效果图 怎么实现的呢? 节点介绍 1是背景图,可以忽略:2 是准备好的面团:3 是擀好的面饼先隐藏:4 是需要绘制的节点:5 是擀面杖. 制作开始 首先在view上挂一个mask,并且设置为模 ...
- python检测“无内容”图片
思路1:通过图像熵检测,“无内容”图像熵较小,可通过设置阈值检测“无内容”图像,计算图像熵可参考:https://www.cnblogs.com/niulang/p/12195152.html 思路2 ...
- vue全家桶(2.5)
3.8.动态路由匹配和路由组件传参 3.8.1.动态路由匹配 动态路由意味着不固定,具有某种模式,我们希望通过某种匹配方式,把这种不固定的路由形势映射到同一个组件,例如:一个User组件,不同的ID表 ...
- 看看有哪些 Web 攻击技术.
一.前言 HTTP 协议具有无状态.不连接.尽最大努力的特点,对于 Web 网站的攻击基本也是针对 HTTP 协议的这些特点进行的.比如无状态的特点,就要求开发者需要自行设计开发"认证&qu ...
- 半导体质量管理(LineWorks)_SPACE(统计过程分析和控制环境)
LineWorks作为SEMI的质量管理,可为半导体制造商提供对实施标准,产品质量,质量和指标验证的全面控制.有许多附加模块和SPACE-Chart插件,可根据个人需求进行灵活调整. 三个主要特征是: ...
- STL初步学习(set)
2.set set可以看作一个集合,可以实现自动排序(升序)和去重 在许多题目中,都可以使用这个模板库,减少很多操作,例如P1923 第k小数,当然,这道题有很多奇奇怪怪的做法,分值都不同,之后会讲解 ...
- HTML5全局属性汇总
局部属性和全局属性 局部属性:有些元素能规定自己的属性,这种属性称为局部属性.比如link元素,它具有的局部属性有href. rel. hreflang. media. type. sizes这六个. ...
- Oracle 对表的基本CURD操作
Oracle对表的基本Curd操作: 样式表: 接下来对这张(表明:Stud)表进行Curd操作(请看面SQL代码) 增加新的字段列:alter table Stud add(heigh ...
- 赋值,逻辑,运算符, 控制流程之if 判断
赋值运算 (1). 增量运算 age += 1 # age = age + 1 print(age) age -= 10 # age = age - 10 (2).交叉赋值 x = 111 y = 2 ...
- day38 作业
实现并发的里两种方式 # 第一种 from multiprocessing import Process import time class MyProcess(Process): def run(s ...