第四阶段模块二 学习笔记

EL表达式

  • EL(Expression Language)表达式提供了在JSP中简化表达式的方法,可以方便地访问各种数据并输出。

 主要功能

  • 依次访问pageContext、request、session和application作用域对象存储的数据。
  • 获取请求参数值。
  • 访问Bean对象的属性。
  • 访问集合中的数据。
  • 输出简单的运算结果。

执行流程

 访问请求参数的数据

  • 在EL之前使用下列方式访问请求参数的数据
  • request.getParameter(name);
  • request.getParameterValues(name);
  • 在EL中使用下列方式访问请求参数的数据
  • param:接收的参数只有一个值。
  • paramValues:接受的参数有多个值。

访问Bean对象的属性

  • 方式一: $ { 对象名 . 属性名 },例如:${user.name}
  • 方式二: $ { 对象名 [“属性名”] },例如:${user["name"]}

常用的内置对象

 常用的运算符

 

 

 

 

  JSTL标签

  • JSTL( JSP Standard Tag Library ) 被称为JSP标准标签库。
  • 开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。

 使用方式

  • 下载JSTL的jar包并添加到项目中,下载地址为:https://tomcat.apache.org/download-taglibs.cgi
  • 在JSP页面中使用taglib指定引入jstl标签库,方式为:
<!-- prefix属性用于指定库前缀 -->
<!-- uri属性用于指定库的标识 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

常用核心标签

<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><c:otherwise>
   不满足上述when条件时执行
</c:otherwise>
</c:choose >
<c:forEach var=“循环变量” items=“集合”></c:forEach>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

自定义标签

  • 如果上面几个标签不能满足需求,程序员也可以自定义标签,步骤如下:
  • 编写标签类继承SimpleTagSupport类或TagSupport类并重写doTag方法或doStartTag方法。
  • 定义标签库文件(tld标签库文件)并配置标签说明文件到到WEB-INF下
  • 在JSP中添加taglib指令引入标签库使用

编码如下:

public class HelloTag extends SimpleTagSupport {
  private String name;
  public String getName() {
    return name;
 }
  public void setName(String name) {
    this.name = name;
 }
  @Override
  public void doTag() throws JspException, IOException {
    JspWriter out = this.getJspContext().getOut();
    out.println("自定义标签的参数为:" + name);
 }
}


<tag>
<name>helloTag</name>
  <tag-class>com.lagou.demo02.HelloTag</tag-class>
  <body-content>empty</body-content>
  <attribute>
 <name>name</name>
    <required>true</required>
  </attribute>
</tag>


<%@ taglib prefix="hello" uri="http://lagou.com" %>

Filter过滤器

  • Filter本意为”过滤“的含义,是JavaWeb的三大组件之一,三大组件为:Servlet、Filter、Listener。
  • 过滤器是向 Web 应用程序的请求和响应处理添加功能的 Web 服务组件。
  • 过滤器相当于浏览器与Web资源之间的一道过滤网,在访问资源之前通过一系列的过滤器对请求
  • 进行修改、判断以及拦截等,也可以对响应进行修改、判断以及拦截等。

使用方式

自定义类实现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>

Filter接口

  • javax.servlet.Filter接口主要用于描述过滤器对象,可以对资源的请求和资源的响应操作进行筛选操作。

常用的方法

 FilterConfig接口

  • javax.servlet.FilterConfig接口主要用于描述过滤器的配置信息。

常用方法

 多个过滤器的使用

如果有多个过滤器都满足过滤的条件,则容器依据映射的先后顺序来调用各个过滤器。

 过滤器优点

  • 实现代码的“可插拔性”,即增加或减少某个功能模块,不会影响程序的正常执行。
  • 可以将多个相同处理逻辑的模块集中写在过滤器里面,可实现重复利用、也方便代码的维护。

Listener监听器

  • Servlet规范中定义的一种特殊的组件,用来监听Servlet容器产生的事件并进行相应的处理。
  • 容器产生的事件分类如下:
    • 生命周期相关的事件。
    • 属性状态相关的事件。
    • 存值状态相关的事件。
  • 底层原理是采用接口回调的方式实现。

 基本分类

 (1)ServletRequestListener监听器

 (2)ServletRequestAttributeListener监听器

 (3)HttpSessionListener监听器

(4)HttpSessionAttributeListener监听器

 (5)ServletContextListener监听器

 (6)ServletContextAttributeListener监听器

 (7)HttpSessionBindingListener监听器

 (8)HttpSessionActivationListener监听器

 配置context.xml文件的方式如下:

<Manager className="org.apache.catalina.session.PersistentManager"
saveOnRestart="true">
<!-- 配置文件存放的路径信息,可以自由指定 -->
  <Store className="org.apache.catalina.session.FileStore"
directory="C:\session"/>
</Manager>

Linux系统

Linux系统诞生于1991年,在林纳斯·托瓦兹(Linus Torvalds)上大学期间因不满意教学中使用的

MINIX操作系统并出于个人爱好设计和研发的。
Linux系统是一套免费、自由、开发源代码的类Unix操作系统,是一个基于Posix(Portable

Operating System Interface)标准和多用户、多任务、支持多线程的操作系统。

Linux能运行主要的Unix工具软件、应用程序和网络协议,支持32位和64位硬件。

centos目录结构

 常用命令

  • Shell俗称外壳,是提供用户使用界面的一种软件,叫做命令解释器。
  • 主要负责接受用户输入的命令,然后调用相应的应用程序,最后向用户输出程序运行的结果

 

 

 

 

 

 

 

 

 

 

 

 

  vi工具

 (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 替换每一行中的所有

网络ip配置

BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.72.128
GATEWAY=192.168.72.2
NETMASK=255.255.255.0
DNS1=114.114.114.114

网络ip配置后重启网络服务

使用命令使得配置文件生效:service network restart

centros java jdk 环境变量配置

  • 使用root用户打开配置文件/etc/profile,向文件末尾追加内容如下:
export JAVA_HOME=/usr/javajdk
export PATH=$JAVA_HOME/bin:$PATH
  • 保存退出后让文件生效并验证是否配置成功
source /etc/profile
javac -version

开放防火墙端口

/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 开启8080端口(暂时开通)

发布web项目

  • 将Web项目打成war包,通过Xftp工具将war包放在tomcat/webapp目录并启动

Mysql的下载和安装

(1)下载Mysql的repo源

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

(2)安装rpm包

rpm -ivh mysql57-community-release-el7-8.noarch.rpm

(3)安装Mysql

yum install mysql-server

(4)启动服务

service mysqld start

(5)查看服务状态

systemctl status mysqld

(6)使用root用户登录

mysql -u root

(7)修改临时密码

alter user 'root'@'localhost' identified by 'QiDian@666';

attention:在安装好mysql之后,默认没有设置root账号对应密码的,可以通过如下命令查看到:

grep password /var/log/mysqld.log

使用远程客户端工具访问linux数据库

访问时可能会遇到1130,连接不上的问题,还需要更改root用户对应的访问ip。

use mysql;
select host from user where user='root';
update user set host='%' where user='root';
flush privileges;

Shell编程

  •  Shell是一个命令行解释器,可以接收应用程序或用户命令,然后访问操作系统内核。
  • Shell是一个功能相当强大的编程语言,易编写、易调试、灵活性强;

编写第一个程序

使用vi工具创建xxx.sh的文件。
以#!/bin/bash开头并编写代码后保存。

执行Shell程序的方式

  • 方式一:./文件名,此方式需要执行权限。
  • 方式二:/bin/bash 文件名,此方式不需要执行权限。

变量定义

定义变量:变量=值
撤销变量:unset 变量

定义规则

  • 变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。
  • 不能使用bash里的关键字。
  • 中间不能有空格,可以有下划线。
  • 在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。
  • 变量的值如果有空格,需要使用双引号或单引号括起来。

常用运算符

 

流程控制语句

 

 

 

 

 

posted @ 2021-02-12 11:09  君莫笑我十年游  阅读(155)  评论(0编辑  收藏  举报