XD 05

摘要:
项目启动方式1.在springBootapplication上右键runasJavaapplication2.runasmvninstall会打包一个jar包3.war在tomcat,war包方式,一般springBoot都是使用jar包启动了a.首先在pom文件中添加war告诉maven打成一个war包b.在build节点里,加一个项目名称接下来就可

项目启动方式

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 节点里, 加一个项目名称

XD 05第1张

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

c. 修改启动类

XD 05第2张

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:

XD 05第3张

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

在启动类要加入 @ServletComponentScan

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

Listener

常用的监听器有3种:

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

httpSessionListener:

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

自定义监听器:

XD 05第4张

springBoot 2.0拦截器与传统对比

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

1. @Configuration

XD 05第5张

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

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

preHandle: 进入 controller 方法之前

postHandle: 进入 controller 方法之后

afterHandle: 资源清理

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

XD 05第6张

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

SpringBoot Starter

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

Thymeleaf

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

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

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

免责声明:文章转载自《XD 05》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【重磅开源】验证码识别的最高境界——MuggleOCR通用识别Winform开发常用控件之DataGridView的简单数据绑定——代码绑定DataSet、DataTable、IList、SqlDataReader下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【使用 DOM】使用事件

1. 使用简单事件处理器 可以用几种不同的方式处理事件。最直接的方式是用事件属性创建一个简单事件处理器(simple event handler)。元素为它们支持的每一种事件都定义了一个事件属性。举个例子,onmouseover事件属性对应全局事件mouseover,后者会在用户把光标移动到元素占据的浏览器屏幕的上方时触发。(这是一种通用的模式:大多数事件...

java 监听器

java中的事件机制的参与者有3种角色: 1.event object:就是事件产生时具体的“事件”,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中 2.event source:具体的接受事件的实体,比如说,你点击一个button,那么button就是event  source,这样你必须使button对某些事件进...

监听器在游戏开发中的应用消息回调

我一向是不太喜欢给一些东西强加上个名字。但为了随波逐流,我还是这样做了。 在我们的游戏开发中,通常会遇到两个模块之间的通信。 回调估计是最常用的方式了。 回调的设计思想很简单,就是两个对象相互注册,然后在需要的时候调用对方的函数。 如下: class B; class A { public: void RegisterCallback(B* pB) { m...

原生js和vue之间的数据通讯--EventEmitter

有个小项目在原来原生的框架编写,但是不想写原生,就引入了vue 然后有个需求要和原生的js进行交互通讯,于是就可以用node.js EventEmitter 具体做法: 先引入文件<script src="http://t.zoukankan.com/js/eventEmitter.js"></script>, 初始化, 然后在vu...

addEventListener 事件监听器 冒泡事件)

addEventListener 事件监听器 (冒泡事件)   1、后面绑定的事件照样会执行 2、不会被覆盖 3、调用者是事件源but.addEventListener 4、参数1,事件名(不带on 点击,移开)("click",fn1) 5、参数2执行函数("click",fn1) 6、参数3事件名(捕获或者冒泡) 7、火狐谷歌IE9+ 支持addEv...

项目中使用Quartz集群分享--转载

原文:http://hot66hot.iteye.com/blog/1726143 在公司分享了Quartz,发布出来,希望大家讨论补充. CRM使用Quartz集群分享 一:CRM对定时任务的依赖与问题 二:什么是quartz,如何使用,集群,优化 三:CRM中quartz与Spring结合使用 1:CRM对定时任务的依赖与问题 1)依赖 (1)每天晚上...