EL和JSTL核心技术
4.1 EL表达式
4.1.1 基本概念
- EL(Expression Language)表达式提供了在JSP中简化表达式的方法,可以方便地访问各种数据并输出。
4.1.2 主要功能
- 依次访问pageContext、request、session和application作用域对象存储的数据。
- 获取请求参数值。
- 访问Bean对象的属性。
- 访问集合中的数据。
- 输出简单的运算结果。
4.1.3 访问内置对象的数据
(1)访问方式
- <%=request.getAttribute(“ varName”)%>
- 用EL实现: ${ varName }
(2)执行流程
4.1.4 访问请求参数的数据
- 在EL之前使用下列方式访问请求参数的数据
request.getParameter(name);
request.getParameterValues(name); - 在EL中使用下列方式访问请求参数的数据
param:接收的参数只有一个值。
paramValues:接受的参数有多个值。
4.1.5 访问Bean对象的属性
(1)访问方式
- 方式一: $ { 对象名 . 属性名 },例如:${user.name}
- 方式二: $ { 对象名 [“属性名”] },例如:${user[“name”]}
(2)主要区别
当要存取的属性名中包含一些特殊字符,如: . 或 ,等并非字母或数字的符号,就一定要使用 [ ]而不是.的方式
4.1.6 访问集合中的数据
<!-- student为ArrayList类型的对象 -->
${student[0].name}
4.1.7 常用的内置对象
4.1.8 常用的运算符
(1)常用的算术运算符
(2)常用的关系运算符
(3)常用的逻辑运算符
(4)条件运算符
- ${条件表达式? 语句1 : 语句2}
(5)验证运算符
${empty 表达式} 返回布尔值判断表达式是否为"空"值,null值、无元素的集合或数组、长度为零的String被认为是空值。
Filter+Listener核心技术
Filter过滤器
5.1.1 基本概念
- Filter本意为”过滤“的含义,是JavaWeb的三大组件之一,三大组件为:Servlet、Filter、Listener。
- 过滤器是向 Web 应用程序的请求和响应处理添加功能的 Web 服务组件。
- 过滤器相当于浏览器与Web资源之间的一道过滤网,在访问资源之前通过一系列的过滤器对请求
进行修改、判断以及拦截等,也可以对响应进行修改、判断以及拦截等。
5.1.2 工作方式
5.1.3 使用方式
- 自定义类实现Filter接口并重写doFilter方法。
public class LoginFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException,ServletException {
//TODO 处理逻辑,必须调用下面的方法
chain.doFilter(request,response);
}
}
- 在web.xml文件中配置过滤器。
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>com.lagou.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
5.1.4 Filter接口
(1)基本概念
- javax.servlet.Filter接口主要用于描述过滤器对象,可以对资源的请求和资源的响应操作进行筛选操作。
(2)常用的方法
5.1.5 FilterConfig接口
(1)基本概念
- javax.servlet.FilterConfig接口主要用于描述过滤器的配置信息。
(2)常用方法
5.1.6 多个过滤器的使用
- 如果有多个过滤器都满足过滤的条件,则容器依据映射的先后顺序来调用各个过滤器。
5.1.7 过滤器优点
- 实现代码的“可插拔性”,即增加或减少某个功能模块,不会影响程序的正常执行。
- 可以将多个相同处理逻辑的模块集中写在过滤器里面,可实现重复利用、也方便代码的维护。
5.2 Listener监听器
5.2.1 基本概念
- Servlet规范中定义的一种特殊的组件,用来监听Servlet容器产生的事件并进行相应的处理。
- 容器产生的事件分类如下:
生命周期相关的事件。
属性状态相关的事件。
存值状态相关的事件。 - 底层原理是采用接口回调的方式实现。
5.2.2 基本分类
5.2.3 监听器详解
(1)ServletRequestListener监听器
- 在ServletRequest创建和关闭时都会通知ServletRequestListener监听器。
- 常用方法如下:
(2)ServletRequestAttributeListener监听器
- 向ServletRequest添加、删除或者替换一个属性的时候,将会通知ServletRequestAttributeListener监听器。
- 常用方法如下:
(3)HttpSessionListener监听器
- 当一个HttpSession刚被创建或者失效(invalidate)的时候,将会通知HttpSessionListener监听器。
- 常用方法如下:
(4)HttpSessionAttributeListener监听器
- HttpSession中添加、删除或者替换一个属性的时候,将会通知HttpSessionAttributeListener监听器。
- 常用方法如下:
(5)ServletContextListener监听器
- 在ServletContext创建和关闭时都会通知ServletContextListener监听器。
- 常用方法如下:
(6)ServletContextAttributeListener监听器
- 向ServletContext添加、删除或者替换一个属性的时候,将会通知ServletContextAttributesListener监听器
- 常用方法如下:
(7)HttpSessionBindingListener监听器
- HttpSession中绑定和解除绑定时,将会通知HttpSessionListener监听器。
- 常用方法如下:
(8)HttpSessionActivationListener监听器
- 当有session数值的钝化和活化操作时,将会通知HttpSessionActivationListener监听器。
- 常用方法如下:
Linux系统概述和编程基础
Linux系统概述
6.1.1 计算机的体系结构
- 计算机由计算机硬件和计算机软件两个部分组成,其中计算机软件(Computer Software)可分为系
统软件和应用软件,系统软件就是操作系统,是其他软件的基础。
- 计算机由计算机硬件和计算机软件两个部分组成,其中计算机软件(Computer Software)可分为系
统软件和应用软件,系统软件就是操作系统,是其他软件的基础。
6.1.2 Linux系统的概述
- Linux系统诞生于1991年,在林纳斯·托瓦兹(Linus Torvalds)上大学期间因不满意教学中使用的
MINIX操作系统并出于个人爱好设计和研发的。 - Linux系统是一套免费、自由、开发源代码的类Unix操作系统,是一个基于Posix(Portable
Operating System Interface)标准和多用户、多任务、支持多线程的操作系统。 - Linux能运行主要的Unix工具软件、应用程序和网络协议,支持32位和64位硬件。
6.1.3 主要发行版本
- Redhat:目前最大的Linux发行商,功能全面并且稳定,于2018年10月被IBM以340亿美元的价格收购。
- Ubuntu:目前最好的Linux桌面版,拥有很人性化的亮丽的交互界面,强大的软件源支持。
- CentOS:是RHEL的克隆版本,可以认为是免费版本的Redhat系统。
CentOS系统安装
6.2.1 Vmware的下载和安装
- 下载地址:https://www.vmware.com/cn.html
6.2.2 CentOS系统的下载和安装
- 下载地址:https://www.centos.org/
6.3 目录结构
6.3.1 框架结构
6.3.2 目录详解
6.4 常用命令
6.4.1 Shell的概念
- Shell俗称外壳,是提供用户使用界面的一种软件,叫做命令解释器。
- 主要负责接受用户输入的命令,然后调用相应的应用程序,最后向用户输出程序运行的结果。
6.4.2 命令的格式
- 命令 [-选项] [参数]
- 命令区分大小写,其中选项和参数是可选的,中间采用空格隔开。
6.4.3 常用命令的详解
(1)查看目录下文件/目录
(2)目录切换
(3)查看完整路径
(4)查看当前用户
(5)用户切换
(6)管理用户
(7)查看命令的所在目录
(8)文件操作
(9)目录操作
(10)查找操作
(11)权限管理
(12)进程管理
(13)其它命令
6.5 vi工具的使用
6.5.1 基本概念
- vi和vim是Linux系统命令行下的文本编辑器,通常格式为:vi 文件名 或 vim 文件名。
6.5.2 三种模式
6.5.3 使用方式
(1)命令模式的编辑命令
- i:在当前位置之前插入
- a:在当前位置之后插入
- o:在当前行下插入
(2)命令行模式的删除命令
- x 删除一个字符
- dw 删除当前词
- 3dw 删除三个词
- dd 删除当前行
- 5dd 删除五行
(3)命令行模式的修改命令
- r 替换一个字符
- cw 替换一个单词
- cc 替换一行
- C 替换从光标至行尾
(4)命令行模式的拷贝命令
- yw 拷贝词
- yy 拷贝行(或Y)
- dd 剪切行
- p 当前行下粘贴
- u 撤销
- ctrl+r 取消撤销
(5)底行模式的命令
- :w 存盘
- :w newfile 存成新文件
- :wq 存盘退出Vi(或ZZ,或:x)
- :q! 强行退出不存盘
- :1,2co3 拷贝行1,行2在行3之后
- :4,5mo6 移动行4,行5在行6之后
- :%s /源字符串/目标字符串
- :%s /源字符串/目标字符串/g 替换每一行中的所有
(6)注意使用
- 使用vimtutor 命令用来练习vi命令。
- 用户主目录下.vimrc文件可以实现vi的简单设置。