Java web课程学习之JSP
JSP
jsp隐式对象:JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐式对象也被称为预定义变量。
- jsp脚本片段
l jsp脚本片段是指嵌套在<%和%>之间的一条或多条java程序代码。
l 在一个jsp页面中可以有多个脚本片段,每个脚本片段都必须嵌套在<%和%>之间。
l 多个脚本片段中的代码可以互相访问
- jsp表达式
l jsp表达式将要输出的变量或表达式直接封装在<%=和%>之中,例如Current time:<%=new java.util.Date()%>
l jsp表达式的变量或表达式后面不能有分号(;)
- jsp指令
l jsp指令的基本语法格式<%@ 指令 属性名=”值”%>
l 在目前的jsp2.0中,定义了page、include和taglib三种指令
- jsp九大内置对象
ü 九大内置对象就是没有声明就可以使用的对象
ü request:HttpServletRequest的对象,代表客户端请求信息,用于接收http传送到服务器的数据(重要)
ü session:HttpSession的对象,代表依次会话(重要)
ü PageContext:页面的上下文,该对象可以获取其它八个内置对象(重要)
ü application:ServletContext的对象,代表当前web应用(域对象,重要)
ü response:HttpServletResponse的对象,代表客户端的响应信息
ü config:ServletConfig的对象,代表当前servlet,用于读取当前servlet的配置信息
ü out:JSPWriter的对象,调用print方法可以把字符串输出到浏览器
ü page:指的是当前jsp对应的servlet对象的引用
ü exception:异常对象
- jsp页面上的四大域对象
ü 分别是:application、session、request、pageContext
ü 1.application:最大域范围,但进限于当前web应用
ü 2.session:范围仅限于一次会话,浏览器打开到关闭的过程
ü 3.request:范围仅限于同一次请求
ü 4.pageContext:范围仅限于当前页面
- EL表达式
- 语法:${表达式},例如${name}就等价于<%=request.getAttribute%>
- 11个内置对象
① pageScope:表示pageContext的域对象
② requestScope:表示request
③ sessionScope:表示session
④ applicationScope:表示application
⑤ param:获取参数
⑥ paramValues:获取所有的参数的值
⑦ header:获取http头
⑧ headerValues
⑨ initParam:获取配置信息
⑩ cookie
⑪ pageContext:最重要的对象-工具类,可获取其他对象例如${pageContext.request}
- 从某个范围内取值
四个域的寻找顺序为:pageContext、request、session、application、若找不到键值为name的属性值,不会显示null,会显示空字符串。也可以从指定范围内取值
${pageScope.name}
${requestScope.name}
${sessionScope.name}
${applicationScope.name}
- 支持运算符
判断是否为空:${empty name},返回值为Boolean类型
① 用于判断是否某个值为空。如果一个字符串为“”也是true
② 用于判断集合类是否存在没有数据的项,或该集合为空
- JSTL标签
² c:if判断
<c:if test=”${param.age<20}”>
未成年
</c:if>
² c:choose判断,相当于if elseif else
<c:when test=”${param.age<20}”>
小于20....
<c:when>
<c:when test=”${param.age>=20 && param.age<=100}”>
20-100...
</c:when>
<c:otherwish>
大于100..
</c:otherwise>
</c:choose>
² c:forEach遍历
① items 要循环的信息
② begin 开始的元素(0=第一个元素,1=第二个元素)
③ end 最后一个元素(0=第一个元素,1=第二个元素)
④ step 每一次迭代的步长
⑤ var 代表当前条目的变量名称
⑥ varStatus 代表循环状态的变量名称 .count表示迭代计数

- MVC设计模式
u MVC模式(Model-View-Controller)是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑
u Model(模型):表示应用程序核心,(比如数据库记录列表)--Bean,封装数据
u View(视图):显示数据,如jsp/html页面
u Controller(控制器):控制页面流转的, 如servlet负责转发
Java web课程学习之JSP的更多相关文章
- Java web课程学习之Servlet
		Servlet简介 (1) Servlet本质上就是一个Java类,只不过运行在Servlet容器中 (2) Servlet的功能: ① 创建并返回客户请求的动态HTML页面 ② 创建可嵌入到现有 ... 
- Java web课程学习之会话(Session)
		Session会话 l web应用中的会话是指一个客户端浏览器与web服务器之间连续发生一系列请求和响应过程 l web应用的会话状态是指web服务器与浏览器在会话过程中产生的状态信息,借助会话状 ... 
- Java web课程学习之Request和Response
		request和response l HttpServletRequest l 请求转发 l HttpServletResponse l 请求重定向 请求流程 每次请求service(),都会由容 ... 
- 【Java Web开发学习】Spring4整合thymeleaf视图解析
		[Java Web开发学习]Spring4整合thymeleaf视图解析 目录 1.简单介绍2.简单例子 转载:https://www.cnblogs.com/yangchongxing/p/9111 ... 
- java web中servlet、jsp、html 互相访问的路径问题
		java web中servlet.jsp.html 互相访问的路径问题 在java web种经常出现 404找不到网页的错误,究其原因,一般是访问的路径不对. java web中的路径使用按我的分法可 ... 
- 【Java Web开发学习】跨域请求
		[Java Web开发学习]跨域请求 ================================================= 1.使用jsonp ===================== ... 
- 【Java Web开发学习】Spring MVC 使用HTTP信息转换器
		[Java Web开发学习]Spring MVC 使用HTTP信息转换器 转载:https://www.cnblogs.com/yangchongxing/p/10186429.html @Respo ... 
- 【Java Web开发学习】Spring JPA
		[Java Web开发学习]Spring JPA 转载:https://www.cnblogs.com/yangchongxing/p/10082864.html 1.使用容器管理类型的JPA JND ... 
- 【Java Web开发学习】Spring MVC添加自定义Servlet、Filter、Listener
		[Java Web开发学习]Spring MVC添加自定义Servlet.Filter.Listener 转载:https://www.cnblogs.com/yangchongxing/p/9968 ... 
随机推荐
- XSS Chanllenges 1-5
			XSS Chanllenges XSS Chanllenges 是一个XSS的练习平台,可以借助这个平台练习各种绕过,以及手工进行XSS的学习 平台链接:https://xss-quiz.int21h ... 
- NOIP2018提高组金牌训练营——动态规划专题
			NOIP2018提高组金牌训练营——动态规划专题 https://www.51nod.com/Live/LiveDescription.html#!#liveId=19 多重背包 二进制优化转化成01 ... 
- 《代码敲不队》第八次团队作业:Alpha冲刺 第三天
			项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 代码敲不队 作业学习目标 掌握软件编码实现的工程要求. 团队项目github仓库地址链接 GitH ... 
- php输出网页源代码莫名奇妙的多了一堆方框,导致ajax验证失败.
			今天在用一个ajax验证用户名的功能,返回值报错,抓包看了下,多出来一堆点,源代码里显示方框和6个空行 这堆东西导致ajax判断返回值会错误,度娘了一下午(皇天不负游戏人啊),原来是一个坑爹的BOM头 ... 
- 在android平台打印C语言日志
			在android平台打印C语言日志 1.操作平台:AS2.0 2.步骤如下: 在C代码中添加如下代码: #define LOG_TAG "我的C语言日志:" #define LOG ... 
- 基于redis的分布式锁实现方案--redisson
			实例代码地址,请前往:https://gitee.com/GuoqingLee/distributed-seckill redis官方文档地址,请前往:http://www.redis.cn/topi ... 
- elasticsearch(七)java 搜索功能Search Request的介绍与使用
			目录 1,首先创建主搜索请求: 2,对主搜索请求进行参数设置 前端几节都是介绍的基于单个文档或着单个文档库的操作, 本节开始将介绍基于所有或指定的任何个数文档库的操作的api SearchReques ... 
- CF909A Generate Login
			CF909A Generate Login 题意翻译 给定两个用空格分隔的字符串,分别取两字符串的任意非空前缀,将两前缀合并为一个新的字符串,求可行字典序最小的字符串. 题目描述 The prefer ... 
- OC第三天(内存管理)
			内存管理: 1.作用范围: 不论什么继承了NSObject的对象,堆基本数据类型无效如:int a ,float price;;等 2.原理: 每一个对象内部都保存了一个与之相关的整数,称为引用计数器 ... 
- insmod: error inserting 'hello.ko': -1 Invalid module format
			在学习编写linux驱动程序的时候,一般都是从写一个helloworld的模块開始. 可是在编译完毕后,进行模块载入的时候,有时会出现例如以下错误: insmod: error inserting ' ... 
