zoukankan      html  css  js  c++  java
  • 第四阶段模块二 学习笔记

    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中,变量默认类型都是字符串类型,无法直接进行数值运算。
    • 变量的值如果有空格,需要使用双引号或单引号括起来。

    常用运算符

     

    流程控制语句

     

     

     

     

     

  • 相关阅读:
    Educational Codeforces Round 20 D. Magazine Ad
    Educational Codeforces Round 20 C. Maximal GCD
    紫书第三章训练2 暴力集
    Educational Codeforces Round 20 B. Distances to Zero
    Educational Codeforces Round 20 A. Maximal Binary Matrix
    紫书第三章训练1 D
    紫书第一章训练1 D -Message Decoding
    HAZU校赛 Problem K: Deadline
    Mutual Training for Wannafly Union #8 D
    紫书第三章训练1 E
  • 原文地址:https://www.cnblogs.com/zhf123/p/14398590.html
Copyright © 2011-2022 走看看