• XD 05


    项目启动方式

    1. 在 springBoot application 上右键 run as Java application

    2. run as mvn install 会打包一个jar 包

    3. war 在 tomcat, war 包方式, 一般 springBoot 都是使用 jar 包启动了

    a. 首先在 pom 文件中添加 <packaging>war</packaging>  告诉 maven 打成一个 war 包

    b. 在 build 节点里, 加一个项目名称

    接下来就可以 pom 文件右键 run as mvn install, 这样就会在 target 目录下生成一个 war 包

    c. 修改启动类

    d. 再重新打包一下, 现在 target 目录下文件太多了, 可以使用 pom 右键 run as mvn clean, 进行清理, 之后再 run as mvn install.

    e. war 包复制出来, cope 到 tomcat 目录下的 webapps

    filter 过滤器

    filter 跟 controller 一样, 单独包管理.

    filter 优先级, Ordered.HIGHEST_PRECEDENCE(低位值, 整型) Ordered.LOWEST_PRECEDENCE(高位值, 整型)

    自定义 filter 时, 不要跟默认的优先级一样高. 会有一些默认的 filter, 比如字符 filter

    自定义 filter 步骤

    1. 使用 servlet3.0 注解配置

    2. 启动类里增加 @ServletComponentScan 进行扫描

    3. 新建一个 Filter 类, implements Filter, 实现对应接口

    比如 Login filter:

    @WebFilter 表示拦截的是哪个请求. 

    在启动类要加入 @ServletComponentScan

    如果是前后端分离的 application, 不太适合使用 filter, 而是应该使用 拦截器 更加合适.

    Listener 

    常用的监听器有3种:

    servletContextListener: 应用启动的上下文监听器, (应用启动时, 就会调用,最先加载, 最后销毁, 主要目的是资源加载)

    httpSessionListener: 

    servletRequestListener: 对 servlet 请求前, 后调用, (只有真正调用时, 才触发)

    自定义监听器:

    springBoot 2.0拦截器与传统对比 

    流程: (定义拦截器 -> 业务拦截)  拦截器应该单独放到一个包里, 比如 intecpter

    1. @Configuration

    其中: new LoginIntercepter() 就是我们第二步自定义的拦截器,  addPathPatternes 定义这个拦截器都拦截哪些路径. 

    2. 写拦截器, source -> override 就可以自动添加.

    preHandle: 进入 controller 方法之前

    postHandle: 进入 controller 方法之后

    afterHandle: 资源清理

    afterCompletion: 不管有没有异常,都会调用, 用于资源清理

    Listener 可以和 拦截器一起使用. 监听事件的.

    SpringBoot Starter

    Starter 是一个工具集, 工具集里包含很多依赖, 这样能减少依赖问题. 

    Thymeleaf

    轻量级模板引擎(负责逻辑业务的不推荐,解析DOM或者 XML 会占用多内存)

    可以浏览器直接打开, 因为这个模板也是 html 结尾的.

    还有一个模板引擎叫 Freemarker. (不推荐使用)

  • 相关阅读:
    【C#】:浅谈反射机制 【转】
    ArcGIS Server 10中的切图/缓存机制深入【转】
    ArcGIS Server的切图原理深入【转】
    【OpenGL】用OpenGL shader实现将YUV(YUV420,YV12)转RGB-(直接调用GPU实现,纯硬件方式,效率高)
    MFC 带Ribbonbar的窗口 实现全屏和取消全屏
    C#.net开发 List与DataTable相互转换 【转】
    Net编程 详解DataTable用法【转】
    三维空间两直线/线段最短距离、线段计算算法 【转】
    OSG立体模式下动态修改相机远近裁剪面的实现
    用curl去探测接口是否正常返回结果,若没有正常返回则触发报警
  • 原文地址:https://www.cnblogs.com/moveofgod/p/14642215.html
Copyright © 2020-2023  润新知