黑马程序员技术交流社区

标题: javaEE [打印本页]

作者: 付茂10086    时间: 2019-3-20 13:52
标题: javaEE
##MVC(Modle View controller):开发模式
        1. JSP的演变历史
                1. 早期只有servlet,只能使用response输出标签数据,非常麻烦
                2. 后来有JSP,简化了servlet的开发,如果过度使用JSP,在大量的html和Java混合后,会造成后期难以维护,难以分工合作
                3. 再后来,Java的web开发,借鉴mvc开发模式,使得程序的设计更加合理性
        2. MVC:
                1. M: modle ,模型 :JavaBean       
                        1. 业务逻辑操作,如:数据查询,封装对象
                2. V: View ,视图 :jsp
                        1. 展示数据
                3. C: Controller ,控制器:Servlet
                        1. 获取客服端的输入
                        2. 调用模型
                        3. 将数据交给视图展示
                * 优缺点:
                        * 优点:
                                1. 耦合性低,方便维护,便于分工合作
                                2. 重用性高
                        * 缺点:
                                * 使项目结构变复杂,对开发人员要求高,不适于小型项目

##EL表达式:
        1. 概念:Expression Language 表达式语言
        2. 作用:替换个简化JSP页面中的Java编写
        3. 语法:${表达式}
        4. 注意:
                1. JSP默认支持EL表达式。如果要忽略EL表达式       
                        1. isELIgnored :设置为true,就忽略EL表达式
                        2. \${表达式}也可以忽略当前EL表达式
        5. 使用
                1. 运算:
                        1. 运算符
                                1. 算术运算符:+ - * /(div) %(mod)
                                2. 比较运算符:< > <= >= == !=
                                3. 逻辑运算符:&&(and) ||(or) !(not)
                                4. 空运算符: empty
                                        * 功能:判断字符串,集合,数组对象是否为null或者长度是否为0
                                        * ${empty list}
                                        * ${not empty list}:判断字符串,集合,数组对象是否不为null或者长度是否大于0
                2. 获取值:
                        1. EL只能从域对象中获取值
                        2. 语法:
                                1. ${域名城.键名}:从指定域中获取指定键的值
                                        * 域名称:
                                                * pageScope     ——————> pageContext
                                                * requestScope         ——————> request
                                                * sessionScope  ——————> session
                                                * applicationScope ————> appliction(ServletContext)
                                2. ${键名}:表示从最小范围的域中开始寻找是否有该键对应的值,直到找到键名,没有找到就不输出
                                3. 获取对象、list集合、Map集合中的值
                                        1. 通过对象的属性来获取:${域名称.键名.属性名}
                                                * 对象的属性是其getter或setter方法去掉get或set将剩下的首字母小写,剩下的就是其属性。
                                                * 本质就是调用对象的getter方法
                                        2. 获取List集合里的值:${域名称.键名[索引]}
                                        3. 获取Map集合里的值:${域名称.键名.key名称}或者        ${域名.键名["key名称"]}
                3. 隐式对象:
                        1. EL表达式中有11个隐式对象
                                * pageContext:
                                        1. 获取其他八个内置对象
## JSTL
        1. 概念:JavaServer Pages Tag Library JSP标准标签库
                * 是由Apache组织提供的开源的免费的JSP标签
        2. 作用:用于简化和替换JSP页面上的Java代码
        3. 使用步骤:
                1. 导入jstl相关jar包
                2. 映入标签库 taglib指令:<%@ taglib perfix="c" url=""%>
                3. 使用标签
        4. 常用的JSTL标签
                1. if :相当于Java代码的if语句
                        1. 属性:
                                * test :必须属性,接受boolean表达式
                                        * 如果为true,则显示标签体的内容,如果为false,则不显示标签体的内容
                                        * 一般test的属性值会结合EL表达式来使用
                        2. 注意:标签内没有else判断,如果需要则在添加一个if标签       
                2. choose:相当于Java代码的switch语句
                        1. choose相当于switch
                        2. when相当于case
                        3. otherwise相当于default
                3. foreach:相当于Java代码的for语句
                        1. 完成重复的操作
                                1. 属性:
                                        * begin:开始值
                                        * end: 结束值
                                        * var:临时变量
                                        * step:步长
                                        * varStatus:循环状态对象
                                                * index:容器中元素的索引,从零开始--指的是高级for循环
                                                * count:循环次数,从1开始
                        2. 遍历容器
                                1. 属性
                                        * items:容器对象
                                        * var:容器中元素的临时变量
                                        * varStatus:循环状态对象
                                                * index:容器中元素的索引,从零开始
                                                * count:循环次数,从1开始

























欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2