JSP概原
1. 概念
- **概念:** -  - **原理:** - JSP本质上就是一个Servlet - **JSP的脚本**:JSP定义JAVA代码的方式 - <% 代码 %>:定义的java代码,service中定义啥,这里就可以定义啥 - <%! 代码 %>:在jsp转换后的java类的成员位置. - <%= 代码 %>:会全员输出到页面上,相当于println();<br /> - **JSP内置对象(9个)**: - 在JSP页面中不需要获取和创建,可以直接使用的对象 - **其中的三个:(注意response输出的最早即可,最好只用out)** - 注:在jsp中可以任意截断代码(使用<% %> 来添加html标签),而且不用声明编码
2. 指令(第一行)
- 作用:用于配置JSP页面,导入资源文件 - 格式:(一般放在JSP文件的第一行) -  - 分类: - **page**:配置JSP页面的<br /> - **include**:页面包含的,导入页面的资源文件(可以直接展示另一个页面,也就是把代码的一部分放到了另一个文件中了)<br /> - **taglib:**导入资源(如果不导入,只能使用jsp自带的标签和html的标签)<br />
3. 注释
- **html注释**(注释完之后还可以在网页的response响应中获取源码)<br /><!-- -->:只能注释html代码 - **jsp注释**:推荐使用(注释完网页无法获取代码信息)<br /><%-- --%>:可以注释所有
4. 内置对象
- 概念:在jsp页面中不需要创建,直接使用的对象(笔试经典,写名字) - 
5. MVC开发模式
- jsp演变历史 - 早期的servlet,只能使用response输出标签,非常麻烦 - 后来的jsp,简化了servlet的开发,如果过度的使用jsp,在jsp中写大量的其他代码,会难以维护与分工 - 再后来,java的web开发借鉴了mv开发模式,使得程序的设计更加的合理 - MVC: - 逻辑原理<br /> - 解释 - 优缺点 - 优点<br />1. 耦合性低,方便维护,可以利于分工协作<br />2. 重用性高 - 缺点<br />1. 使得项目架构变得复杂,对开发人员要求高
EL表达式
1. 概述
- 概念:Expression Language 表达式语言 - 作用:替换和简化jsp页面中java代码的编写 - 语法:${ 表达式 } - 注意: -  - 使用: - 运算<br />
2. 获取值
- el表达式只能从域对象中获取值 - 语法 - ${ 域名称 . 键名 }:从指定域中获取指定键的值<br /> - ${ 键名 }:依次从最小的域中查找是否有该键对应的值,直到找到为止 - 如果这个值是个对象,那么可以直接使用getxxx的方法获取值,将get去掉,其余小写,加在建名后边,用点隔开 -  - 直接获取值(这样比较准确,去掉requestScope也可以)<br /> - 日期格式中的getMonth也可以直接.month - 可以自定义方法,返回一个字符串,可以展示在页面<br /> - 获取对象,List集合,Map集合的值 - 对象:${ 域名称 . 键名 . 属性 }<br /> - List集合:${ 域名称 . 键名 [ 索引 ] } - Map集合:<br />
3. 隐式对象
- el表达式中有11个隐式对象 - pageContext:(用来获取jsp其他八个内置对象,最重要的用法如下) -  - 这个东西可以直接添加到目录中,返回的本质就是字符串
JSTL相关
1. 概念
- 概念: - JavaServer Pages Tag Library (JSP标准标签库) - 由Apache组织提供的开源的免费的jsp标签 <标签> - 作用: - 用于简化和替换jsp页面上的java代码 - 使用步骤 - 导入jstl相关的jar包 - 引入标签库:taglib指令:<%@ taglib %> - 使用标签
2. 标签的添加
- 先创建两个package,命名一定<br /> - 再将官网下载的html文件导入lib中(这奇怪的绿色不知道哪里来的。。。)<br /> - 右键lib文件添加为library<br /> - 选择这个(然后文件就安排了)<br /> - 配置问题(没错,就是这个最新的版本的,虽然下载的版本有点老)<br /> - 然后就可以用了<br />
3. 标签的使用
- if标签:相当于java中的if -  -  - choose标签:相当于switch -  -  - foreach:相当于java中的for -  - <br />
三层架构