触发器调用Java接口程序(一)

来源:互联网 发布:百鸟朝凤 知乎 编辑:程序博客网 时间:2024/06/03 16:54
因公司需求,我现在要做一个涉及到表新增操作后并实时用邮件通知到相关单位或人员。百度查询相关文章,发现并没有这块内容的指导。所以这次完成任务时,我会顺带写完这篇文章作为记录。

实现日志监控,需涉及到的方向:

  1. Java的发送邮件的接口程序。
  2. oracle调用该接口。

这个功能我把他分为两个步骤,也就可以更低耦合性的去解决和方便以后使用。

首先是Java端的接口准备:我相信每个Web项目都有配置拦截器。所以,一个对外提供的接口如果单只提供访问的URL肯定行不通,因为会被登陆点拦截,重新跳转到登录页面。
  <init-param>   <param-name>ignorePattern</param-name>   <param-value>     ~~~~~~~~~~~~   </param-value>  </init-param>

在web.xml中找到该类似的描述,其中~~~~~~~~部分为自由填写的东西,也就是你想要不被拦截的URL,当然这个URL前面肯定是要带上你自己的项目的。

好,屏蔽了拦截器后,就可以为所欲为了,哈哈哈哈!

那么我们现在写一个发送邮件的Controller,暴露了我用SpringMVC,嘿嘿。发送Email的工具类网上百度一大堆,那这里写的时候注意分层面向对象哦。

在写接口的过程中碰到了点问题,不过马上就想到办法解决,不过,看文章的你可能没有接触过这方面,所以我在这里留下代码片,希望能给你提供帮助。

String path = request.getSession().                    getServletContext().getRealPath("/");FileInputStream in = new FileInputStream(path+"WEB-         INF/classes/sendEmail.properties");

可能我这样的方式不是最好的方法,但是目前我用这个方法来读取配置文件,把发送邮件的一系列参数配置在这里,到时候更好区分测试版和正式版,也不会给上线是带来麻烦。

除了这个,那就还有一个乱码问题

String msg = new String(request.getParameter("content").getBytes("ISO8859-1"),"UTF-8");

将request的params参数拿出来后用ISO8859-1转成UTF-8。

这两个问题解决后,用接口路径,在URL上带上content发送文本的参数,邮件成功发送!!!

也就是说!!!浏览器上输入URL并拼上你要发送的内容,就可以成功发送邮件了!!!这个接口以后也可以重复使用,只要该下配置文件,就妥妥的

Java部分完成,那下一篇文章就是针对Oracle的触发器调用这个接口了~