一、JSTL标签和EL表达式
1.EL表达式
(一)主要功能
EL表达式简化了JSP的表达式写法,可以使得我们更方便地去访问和获取各种数据。 主要功能有:
依次访问(依次尝试获取)pageContext、request、session和application作用域对象存储的数据。获取请求参数值。访问Bean对象的属性。访问集合中的数据。输出简单的运算结果
(二)访问类型
(1)内置对象
特意标黑 是为了表明两者的对应关系
JSP传统表达式:<%=request.getAttribute(“ varName”)%>用EL实现: ${ varName } 为方便大家理解,给出以下执行流程图(图片来自于拉勾教育):
(2)请求参数
在EL之前使用下列方式访问请求参数的数据 request.getParameter(name); request.getParameterValues(name);在EL中使用下列方式访问请求参数的数据 param:接收的参数只有一个值。 paramValues:接受的参数有多个值
示例:
<!-- 获取指定参数的数值
-->
$
{param
.name
}
<!-- 获取指定参数中指定下标的数值
-->
<!-- 如复选框组和下拉列表组等
-->
$
{paramValues
.hobby
[0]}
(3)JavaBean对象
方式一: $ { 对象名 . 属性名 },例如:${user.name}方式二: $ { 对象名 [“属性名”] },例如:${user[“name”]}方式二与方式一效果相同,但是,当属性中的值包含一些特殊字符如非字符或数字的字符时,我们一定要使用方式二去访问。方式二可以实现动态取值:
<%
Student s
=new Student();
s
.setId("1");
s
.setName("尔康");
request
.setAttribute("prop","id");
request
.setAttribute("prop","name");
%>
<!-- JSP表达式
-->
<%= s
.getId
%>
<%= s
.name
%>
<!-- EL表达式
-->
$
{ user
[prop
] }
(4)集合
<!-- student为ArrayList类型的对象
-->
$
{student
[0].name
}
(三)常用内置对象
(图片来源于拉勾教育)
2.JSTL
(一)基本概念
JSTL( JSP Standard Tag Library ) 被称为JSP标准标签库。库中包含多种类型标签,可替代传统HTML文档中的许多标签,可以提高程序可读性,降低维护难度。
(二)标签
(1)常用核心标签
<c
:out
></c
:out
> 用来将指定内容输出的标签
<c
:set></c
:set> 用来设置属性范围值的标签
<c
:remove
></c
:remove
> 用来删除指定数据的标签
<c
:if test
=“
EL条件表达式”
>
满足条件执行
</c
:if >
<c
:choose
>
<c
:when test
=“
EL表达式”
>
满足条件执行
</c
:when
>
html标签或
JSTL标签 或
EL表达式 jsp表达式都可
<c
:otherwise
>
不满足上述when条件时执行
</c
:otherwise
>
</c
:choose
>
<c
:forEach
var=“循环变量” items
=“集合”
>
执行语句
</c
:forEach
>
(2)常用函数标签
<%@ taglib prefix
="fn"
uri
="http://java.sun.com/jsp/jstl/functions" %>
(3)常用格式化标签
<%@ taglib prefix
="fmt"
uri
="http://java.sun.com/jsp/jstl/fmt" %>
二、过滤器(Filter)和监听器(Listener)
1.Filter
(一)基本概念
JavaWeb三大组件Servlet、Fillter、Listener 工作方式如下图(过滤器的功能不限于以下所示的举例): 过滤器的执行顺序取决于web.xml文件中标签对的位置先后。
(二)使用方式
自定义类实现Filter接口并重写doFilter方法
chain.doFilter(request,response)相当于放行的意思 web.xml配置过滤器(与Servlet配置方式一致)
<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
>
2.Listener
Servlet规范中定义的一种特殊的组件,用来监听Servlet容器产生的事件并进行相应的处理。容器产生的事件分类如下:
生命周期相关的事件。属性状态相关的事件。存值状态相关的事件。 底层原理是采用接口回调的方式实现 使用方式自定义类实现所需监听事件的类型的接口,重写接口中的方法在对应事件发生的方法中 自定义需实现的操作。如实现统计在线人数或者新用户增加至群组等。web.xml中配置监听器 注意HttpSessionBindingListener监听器和类绑定的时候不需要在web.xml中配置
三、Linux系统
1.安装方式
(一)镜像系统
这里以CentOS系统为例:
Vmware的下载和安装 下载地址:https://www.vmware.com/cn.html 所有步骤均可以默认执行,安装路径不能存在中文CentOS系统的下载和安装 下载地址:https://www.centos.org/ 下载好镜像文件后,在Vmware软件中选择以镜像方式安装系统
(二)云服务器
镜像市场选择自己喜欢的Linux系统,我自己选择的是CentOs7没有带图形界面的,刚学Linux的童鞋建议先安装个有界面的熟悉熟悉操作。云服务器安装前有设置用户密码的选项,密码为登录系统时的密码。
2.目录结构
(一)框架结构
具体介绍如下图(图片来源拉勾教育):
(二)Vi工具的使用
vi和vim是Linux系统命令行下的文本编辑器,通常格式为:vi 文件名 或 vim 文件名。
(1)三种模式
四、Linux系统开发环境安装
1.Xshell工具
主机框中为云服务器公网IP或者虚拟机中系统的静态IP
(一)遇到的问题
自己笔记本配置环境时,电脑死机重启后Mysql服务如何也启动不了,折腾了一天多,最后还是没解决,应该是机器的问题,暂时先挂号在这,到时候回头有眉目了再来完善解决思路。 无奈之下,突然想起自己的云服务器还在跑着,上去把还没过期的Windows系统镜像换成了CentOs7,按照JDK->Tomcat->Mysql的顺序安装完以后,接下来要想远程与云服务器连接,还需要配置好云服务器的安全组,我因为之前搭WordPress时有现成的安全组,直接添加了,总结一下就是以下几步: 1.云服务器安装好后,阿里云服务器会自行启动,可以远程连接也可以用Xshell工具连接 2.配置云服务器安全组,放行所需的端口 3.CentOs系统中:会用到的指令
输入指令 firewall-cmd --state 查看防火墙是否开启 如果没有开启,则需要开启防火墙 指令 systemctl start firewalld.service输入指令 firewall-cmd --zone=public --add-port=8080/tcp --permanent 开放8080端口 (mysql的话 将8080改为3306即可)输入指令 firewall-cmd --reload 重新加载 显示success即表示成功 4.配置完防火墙以后,远程连接数据库和服务器就都可以正常访问了。