1.flex 弹性布局

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

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

   开启方法:

 在容器标签上,加上display:flex;

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

 

开启弹性布局后,内部的标签将会失去行块性质 不再遵循流式布局的控制

布局效果:

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

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

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

空间分配支持:可以实现空间均分(考虑两头空间,不考虑两头空间)

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

 

布局方向:

默认水平方向为主轴  垂直方向为交叉轴

元素是沿着主轴方向排列

主轴可以通过flex-direction 修改

 

主轴居中:

Justify-content:center;

交叉轴居中:

Align-items:center;

空间均分:

Justify-content:space-around;   (两头有空白)

Justify-content:space-between;   (两头无空白)

空间分配比例

Flex-shrink:  控制收缩比例

Flex-grow: 控制增长比例

Servlet 和jsp 错误处理

Tomcat 错误处理

1.页面找不到404 有明确的http状态码的错误

a) 可以在wen.xml中配置

<error-page>

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

 

B)  java代码或者在Java代码中抛出异常

可以在web.xml 中配置

<error-page> <exception-type>异常类的全名</exception-type>

 

通过节点可配置{转发到那个页面}

 

错误页面可以在<%page指令中添加iserrorpage=”true”这个属性>

添加之后可以在jsp中访问exception对象

Exception代表抛出的异常(如果抛出的异常是servletexception 或者是它的子类)那么exception 对象将指向servletException 内部包装的异常对象而不是指向servletException 本身

 

 

2.关于代码中的catch

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

添加错误也之后 catch到的exception 就不能只打印了之 不能让exception被忽略而是应该在打印之后将至抛出, 甚至不需要打印 而是抛出  (抛出比打印更重要)

 

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

 

只能选择抛出指定类型的异常 将真正的异常抱在里面 形成异常链

 

Exception1  caused by excepyion 1.1 caused by

 

3.为什么要是用log4J

Log for Java 专门为Java项目提供日志工具 log4 j 的目标是将日志同时写到控制台 文件 数据库 发邮件 调用网络接口等多个地方;

log4j 还提供了日志级别 可以区分日志的重要性,对于不同级别的日志可以传输到不同的地方或者平时忽略掉不重要的日志,当系统出现问题是还可以在不重启服务器的情况之下将平时忽略掉的信息全部开启。

 

Log4j2 会从web-inf中查找名字为log4j2.xml 的配置文件,

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

 

4.日志级别

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

·Error 错误级  捕获到异常时 通过这个级别输出

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

·Warm 警告级  当程序执行时 遇到不应该执行的代码或不应该出现的情况

通过这个级别输出

比如 pager 类中的total==0 可以通过

Logger.warm(“警告消息”)

·Info   消息/数据级 输出一些业务数据  向外部提供数据信息

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

·Trace  跟踪级 输出更详细的信息 最细致事务信息

通过trace 信息可以看到程序执行的每一个步骤 及程序当前所处的状态细节