day12_jsp
-
jsp的简单回顾&sun公司的经典面试题
Jsp 本质上就是一个servlet, jsp 首次被访问的时候 会被翻译成 servlet类, 然后编译成.class字节码文件.
然后由 jvm 加载运行.
Jsp被翻译的serlvet存在于 tomcat 服务器的work 目录下.
Jsp 不需要去做映射, 可以直接访问...
Jsp 中三种语法:
第一种:
Jsp 声明 : <%! %>
成员变量,成员方法
第二种:
Jsp脚本表达式: <%= %>
会被输出 到html页面 上
第三种:
Jsp java代码片段 : <% %>
可以写任何的 java 代码
结论: 访问 jsp 就是 访问 servlet
2.jsp中三种注释
-
JSP注释最先执行,然后是Java注释,最后是HTML注释
-
Java注释直接在work的.java文件里就可以看到,JSP的注释会消失,只有JSP文件里才能看到
HTML注释这样显示在.java文件里面
3. 不能用JSP的注释(<%-- --%>)去注释HTML的注释(<!-- -->),所有的注释都会跟JSP的注释一起消失
HTML的注释(<!-- -->)去注释 JSP的注释 (<%-- --%>),里面的JSP注释最先执行,会从HTML 注释中消失
-
jsp中的page指令(一)
JSP中lang包的类不用导入,还有下面这三个包
-
jsp中的page指令(二)
pageEncoding 表示JSP中的字符数据保存到硬盘上的编码格式
contentType是告诉浏览器这是什么类型的数据,用什么编码格式去解析
-
配置错误友好页面
不推荐用errorPage配置错误友好页面,因为那是针对单一页面的
在web.xml文件里配置全局的错误友好页面,<error-page>
错误友好页面设置,<page>指令标志属性isErrorpage为ture,就可以使用Exception.getmessage获取错误信息
-
静态包含(使用include指令包含页面)
静态包含是将 要包含的页面 的源代码 带过来, 一起去编译, 生成 一个.class文件 .
(被包含的页面 不会 单独的去编译生成 .class文件)
-
taglib指令的使用
主要用于导入标签库 .
Jsp页面中有很多 标签会使用到, 你要使用那么就必须要先导入标签库.
如何导入, 就是 使用taglib 指令 ...
其中 这里的 uri 就是 标签库的 名称空间, prefix 就是给这个名称空间起的一个 短 名字..
-
page对象和pageContext对象的使用
JSP的9大内置对象
PageContext, page , exeption
Application 翻译过来就表示应用的意思, 指的就是 servletContext对象.
其中, 对于 exception 只有在page指令的 isErrorPage="true" 的时候才会出现...
Page对象和PageContext对象
Page : page 指的就是当前的类, 一般 不 建议使用
PageContext: jsp中可以用来 操作 4 个域对象中的 数据的一个对象, 可以用它来操作 4 个域对象..
Page域 , request域对象, session域对象, servletContext 域对象..
在jsp 页面中, 你要去 操作 page域对象的数据, 需要使用pageContext 对象 .
-
jsp的out对象输出数据
Out.flush()提前清空缓冲区
-
动态包含的原理&静态包含和动态包含的对比分析
<@ include file="a.jsp">
<jsp:include page="b.jsp">
-
el表达式取值
不报错,比用get()方法好
12.el表达式做执行运算(不支持位运算)
不能拼接字符串,两个数字字符串相加时会自动转换为数字类型,如果有一方不能转换为整数类型就会报错
-
el表达式获得常用的web开发中对象
-
获得参数值两个对象
输出 [ 表示是一个数组
-
获得web应用全局初始化参数信息的对象
-
获得cookie的值的使用
-
el表达式调用java代码
TLD文件(在WEB-INF目录下,和web.xml在一起)
JSP文件
18.自定义el函数的步骤小结
19.sun公司( fn函数库)的使用
标签库(有可以操作数据库的函数库)
20.if&choose&url标签的使用
我们讲核心函数库和JSTL函数库
1.<c:if test="${el }">
没有else标签,需要用另一个else去模拟
2.<c:choose>
3.<c:url var="" value="">
21.foreach循环使用(一)
Foreach输出一个表格<table>