A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 2018-2-8 15:05 编辑

Web阶段总结
EL表达式
EL表达式:
EL的概述:表达式语言
简化JSP代码的写法,而且减少<% %>
使用EL的表达式
语法:${ EL表达式 }
EL的功能:
获取数据(JSP的)
执行运算
操作WEB开发的常用对象
调用Java中的方法-----很少用
获取数据
${ name }----------类似于findAttribute("name")

.和[]的区别:
[]用于有下表的数据,如数组和list集合,用于有属性的数据(map,对象)
如果属性中有

执行运算
可以执行算数运算
逻辑运算:既可以用运算符也可以用缩写

${ n1 + n2 + n3 }
<h3>EL执行逻辑运算</h3>
${ n1 < n2 } - ${ n1 lt n2 } <!-- less than --><br/>
${ n1 > n2 } - ${ n1 gt n2 } <!-- great than --><br/>
${ n1 <= n2 } - ${ n1 le n2 } <!-- less equal --><br/>
${ n1 >= n2 } - ${ n1 ge n2 } <!-- great equal --><br/>
${ n1 == n2 } - ${ n1 eq n2 } <!-- equal --><br/>

<h3>EL执行关系运算</h3>
${ n1<n2 && n3 < n4 } - ${ n1<n2 and n3 < n4 }<br/>
${ n1<n2 || n3 < n4 } - ${ n1<n2 or n3 < n4 }<br/>
${ !(n1 < n2) } - ${ not(n1<n2) }
<h3>EL执行三元运算</h3>
${ n1 < n2 ? "正确":"错误" }
操作WEB开发常用的对象:
pageScope
requestScope 获取JSP中域中的数据
sessionScope
applicationScope
param,paramValues 接收参数.
header,headerValues 获取请求头信息
initParam 获取全局初始化参数
cookie WEB开发中cookie
pageContext WEB开发中的pageContext.
JSTL---JSP标砖的标签库
JSTL1.0 不支持EL表达式
JSTL1.1和1.2类 支持EL表达式
core(核心标签),fmt(国际化标签),xml(XML标签),sql(SQL标签),fn(JSTL提供EL函数库)
使用JSTL:
* 引入JSTL的相关的jar包.
* 在页面中引入标签库.<%@ taglib uri=”” prefix=””%>
JSTL提供的EL函数库:fn
MVC设计模式完成转账的功能
设计页面输入三个值:付款人,收款人,转账金额------不能出现付款人的钱被扣但收款人的钱还 没收到
动态开发模式:
JSP的开发模式:
Servlet缺点:显示HTML页面元素时候麻烦
JSP优点数据显示方便,缺点:在封装数据和处理数据上麻烦
模式一 JSP+JavaBean的优点:显示数据和封装都很方便,缺点:维护很麻烦
模式二 JSP+Servlet+JavaBean优点:JSP用于显示数据JavaBean用于封装处理数据Servlet控制数据
MVC
M:模型层Model JavaBean
V:视图层View JSP
C:控制层Controller Servlet
Session部分
Cookie保存300个,有大小限制,Cookie的数据保存在服务器端
Session执行的原理
Session是域对象:有get方法
Session是何时创建和何时销毁?
创建:服务器端第一次调用创建Session
销毁:Session关闭浏览器不销毁,关闭是保存,只是id找不到了
1.session过期默认时间是30分钟,把web.xml的配制文件session设置为0就可以永久保存
2.非正常关闭,正常关闭是序列化到了硬盘
3.手动调用session.invalidate();
作用范围:多次请求(一次会话)
JSP是第二个动态页面:
Java Server Pages Java服务器端的页面
学习JSP
JSP=HTML+JAVA代码+JSP自身的东西
JSP的脚本
<%! %> :翻译成了Servlet中的成员变量,定义变量,方法,类---不建议
<% %> :翻译成了Servlet中service方法中的内部内容,定义类,变量
<%= %> :翻译成了Servlet中service方法中的out.print();
JSP的自身的东西:
注释
<!--注释 -->
//单行 ---------存在JSP源代码中,执行完JSP中
/*多行*/
/**文档*/
<%--JSP自己的注释--%>-------只会存在于JSP的源代码中,翻译成Servlet后,
指令
指令的语法:三个,配制指令,include指令,taglib指令
<%@ 指令名称 属性名称=" 属性值" %>
page指令 <%@ page %> 设置JSP的
language:JSP脚本中使用的语言,现在只能写Java
contentType:浏览器打开JSP的默认的字符集的编码
pageEncoding:
import:在JSP中引入jar包,可以出现多次
extends:设置JSP后默认的类
autoFlush;设置JSP缓存自动刷出
session:设置JSP是否可以直接使用session的
设置全局的错误友好页面的提示
在web.xml中设置error-page在里面设置error-code和location
JSP中的include指令:指示JSP包含其他的页面.
<%@ include file="logo.jsp" %>
<%@ include file="menu.jsp" %>
<h1>BODY部分</h1>
<%@ include file="footer.jsp" %>
JSP中的taglib指令:指示JSP引入标签库.
<%@ taglib uri="标签的URI的路径" prefix="标签的别名" %>
内置对象(面试常考)
9大内置对象:
request
response
session
application
page
pageContext
out
exception
page内置对象: 真实对象是Object就是翻译成Servlet后类的引用,是单例的
out内置对象: out和getWriter是不是同一个?区别是什么?
不是out真实对象JspWriter ,response获得Writer是PrintWriter.
pagecontext内置对象:
获得其他8个内置对象: 主要在编写编写框架或者通用性很强的代码中
向JSP的4个域中存取数据:
jsp的4个域范围:
PageScope 当前页面有效
RequestScope 一次请求范围
SessionScope 一次会话范围
ApplicationScope 应用范围
动作标签:列举出6个(面试题)
<jsp:forward /> 用于页面转发的
<jsp:include /> 用于页面的包含(动态包含)
*****静态包含和动态包含的区别?(<%@ include%>和<jsp:include>)
静态包含:相当于复制源码(相当同一个类)
动态包含:只要运行结果
<jsp:param /> :用于带有路径的标签下,传递参数.
<jsp:useBean /> :用于在JSP中使用JavaBean.
<jsp:setProperty /> :用于在JSP中向JavaBean设置属性的.
<jsp:getProperty /> :用于在JSP中获得JavaBean的属性.

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马