• java基础之Flex弹性布局、JSP错误处理以及Log4J


    一、Flex弹性布局

       1.产生的比较晚,目前在移动网页开发中可以使用,而且逐渐成为主流。

    在桌面网页开发中使用的比较少(主要是桌面浏览器的兼容性问题更加严重)

      

      2.开启方法:

          容器标签上加上 displayflex;

    将对容器内部的标签起到布局作用

     

     3.布局效果

        A、支持对齐:可以实现上、下、左、右4个方向停靠排列

    可以实现上下居中,左右居中

    B、排列方向支持:可以实现内部标签水平排列、垂直排列、多行排列

    C、空间分配支持:空间均分(考虑两头空间、不考虑两头空间)

        空间可以固定或弹性伸缩(可以指定伸缩比例)

    4.布局方向

    默认是水平方向为主轴,垂直方向叫做交叉轴。

    元素沿着主轴方向排列

    主轴可以通过flex-direction修改

    如下:将主轴改为列

    flex-direction:column;

    主轴居中

    justify-content:center;

    交叉轴居中

    align-items:center;

    空间均分(两头有空白)

    justify-content:space-around;

    (两头无空白)

    justify-content:space-between;

    空间分配比例

    flex-grow   控制增长比例 

    flex-shrink  控制收缩比例

     

    二、ServletJSPTomcat错误处理

    页面找不到404,有明确的Http状态码的错误

     1. 可以在web.xml中配置

      <error-page>

         <error-code>404</error-code>

         <location>跳转到的错误网页地址(/WEB-INF/404.jsp</location>

      </error-page>

    2.

      <error-page>

          <exception-type>java.lang.Exception</exception-type>

          <location>跳转到的错误网页地址(/WEB-INF/exception.jsp</location>

      </error-page>

    通过<location>节点可配置【转发】到哪个页面

    错误页面可以在<%page 指令中添加 isErrorPage = “true” 这个属性,添加之后可以在JSP中访问Exception对象,Exception代表当前抛出的异常

    (如果异常的类型是ServletException或者它的子类)那么Exception对象将指向ServletException内部包装的那个异常对象,而不是指向ServletException本身

    三、关于代码中的catch

    1.之前我们catchexception之后只调用了exception.printStackStrace()将之打印到控制台输出,页面并没有报错(但页面显示不正常,如没有数据)

    2.添加错误页之后,catch到的exception就不能只打印了之,不能让exception被忽略!

    而是应该在打印之后将之抛出,甚至不需要打印,而是抛出(抛出比打印更重要)

    3.抛出异常时会发现不是所有的异常类型都能抛出去(因为有一些方法的签名是固定的,而且是由其他人提供的,没法改,如HttpServlet中的doXXX方法)

    只能选择抛出指定

    类型的异常,将真正的异常包在里面。形成异常链

    Exception1 Caused by Exception1.1   Caused By Exception1.1.1  ....

     四、为什么要使用Log4J

       Log For Java 专门为Java项目提供日志工具,Log4J的目标是可以将日志同时写到控制台、文件、数据库、发邮件、调用网络接口等多个不同接口地方;Log4J还提供了日志级别,可以区分日志的重要性,对不同级别的日志可以传输到不同的地方,或者平时忽略掉不重要的日志,当系统出现问题时,还可以在不重启服务器的情况下,将平时忽略掉的信息全部开启。

    Log4J2会从WEB-INF中查找名字为log4j2.xml的配置文件

       在配置文件中<configuration  status> 属性是Log4J2自己内部使用的Logger的日志输入级别。如果想让Log4J2将自己内部日志信息打印出来,需要将status的级别设置的低一些,以便找到Log4J自己的错误信息。

    五、日志级别

    1.Fatal最高级  

    表示致命错误,当程序遇到这种错误时,无法恢复执行,接下来就会崩溃。

    logger.fatal“致命错误的详细信息”;

    2.Error错误级 

     捕获到异常时,通过这个级别输出、

           Logger.error(“错误消息”,exception);

    3.warn警告级别   

    当程序执行时,遇到不应该执行的代码或不应该出现的情况时通过这个级别输出

       比如: Pager 类中的total=0时,可以通过

          Logger.warn(“警告消息”);

    4.Info  消息/数据级   

    输出一些业务数据,向外部提供数据信息

    5.Debug  调试级   

    输出程序过程中关键数据,更详细的数据,甚至是方法内部的局部变量或参数的值,目的是方便查找bug

    6.Trace跟踪级  

    输出更加详细的信息,最细致的信息,通过trace信息可以看到程序执行的每一个步骤及程序当前所处的状态细节

    六、Log4j中的部分语法含义

    status    Log4J2 内部的日志输出级别

    MonotorInterval   多长时间检查一次本配置文件是否被修改

    appenders   日志追加器,可以将日志信息添加到控制台或文件的末尾

     

    Console    向控制台输出日志

    ThresholdFilter  过滤器可以根据级别过滤日志的输出

    PatternLayout   日志布局(格式),通过符号规定日志中输出什么,输出在什么位置

    RollingFile   为了防止生成巨大的无法打开的日志文件,采用滚动方式将日志拆分到小文件中,可以按文件大小滚动,也可以按时间滚动

    root   所有记录器的根,默认日志记录器,每个记录器可以指定多个追加器将日志输出到多个位置

    Loggers  日志记录器  

  • 相关阅读:
    c语言,动态数组
    利用Word来发布博客到博客园(onenote类似)
    c语言,volatile
    c语言,变长数组
    C语言,sprintf与sscanf函数[总结]
    c语言,数组和指针
    Linux的notifier机制的应用
    Linux进程上下文切换过程context_switch详解--Linux进程的管理与调度(二十一)
    内核线程的进程描述符task_struct中的mm和active_mm
    Linux用户抢占和内核抢占详解(概念, 实现和触发时机)--Linux进程的管理与调度(二十)
  • 原文地址:https://www.cnblogs.com/yangxiansen/p/7860033.html
Copyright © 2020-2023  润新知