使用Apache Log4J发送电子邮件
Apache Log4J 正在广泛用在Java应用程序,我们也遇到错误,我们写log.error ( )来说明,这一声明表明执行Java代码,一个严重的错误发生.在关键应用中,在运行时检查此消息是一个乏味的工作,感谢Apache的Log4J ,他们提供了一个方法,当一个错误发生时,发送电子邮件。
SMTPAppender是非常好的,负责执行的电子邮件操作,它内部使用Java Mail API的邮件发送邮件。
本文将向您展示代码段我们如何才能发送邮件Log4J 。
SMTPAppender在Log4J.Properties配置信息
- log4j.logger.com.hiteshagrawal=ERROR, sendMail
- log4j.additivity.sendMail=false
- log4j.appender.sendMail=org.apache.log4j.net.SMTPAppender
- log4j.appender.sendMail.To=<email id>
- log4j.appender.sendMail.From=</email><email id>
- log4j.appender.sendMail.SMTPHost=<mail hostname>
- log4j.appender.sendMail.Subject=Log4J Message
- log4j.appender.sendMail.layout=org.apache.log4j.PatternLayout
- </mail></email>
我在这里设置log4j所有Java 包为“ com.hiteshagrawal ” 的类设置配置信息,,在此文件中你将设置的SMTP主机,以从和邮件主题。
SMTPAppender在Java代码(
同样相同的功能可以通过Java代码实现)
- import org.apache.log4j.Logger;
- import org.apache.log4j.PatternLayout;
- import org.apache.log4j.net.SMTPAppender;
- public class test {
- static Logger logger = Logger.getLogger(test.class);
- SMTPAppender appender = new SMTPAppender();
- public test() {
- try {
- appender.setTo("hitesh.agarwal@onmobile.com");
- appender.setFrom("admin@onmobile.com");
- appender.setSMTPHost("mail.onmobile.com");
- appender.setLocationInfo(true);
- appender.setSubject("Test Mail From Log4J");
- appender.setLayout(new PatternLayout());
- appender.activateOptions();
- logger.addAppender(appender);
- logger.error("Hello World");
- }
- catch(Exception e) {
- e.printStackTrace();
- logger.error("Printing ERROR Statements",e);
- }
- }
- public static void main(String args[]) {
- test a = new test();
- }
- }
译:http://www.hiteshagrawal.com/java/sending-email-using-apache-log4j
webwork体验– 带进度提示的长时间执行的Action
在Web应用中,往往会遇到某些执行时间很长的页面,需要用户等待很久,例如上传一个很大的文件,页面提交以后,后台需要进行批量数据处理等等。在这种情 况下,如果不加任何处理,那么用户提交页面以后,浏览器呈现一片空白,长达数分钟,用户不知道程序究竟有没有在执行,他很可能无法忍受 就干脆关闭页面,放弃操作了,因此给用户友好的信息提示是必要的!
AJAX时代的到来,我们可以轻松想到解决办法,核心思想就是发起XMLHTTP请求,由于XMLHTTP请求可以是异步的,而且可以针对请求的每个 过程的状态注册回调函数,因此可以很容易的搞定。但是XMLHTTP也有比较大限制,例如他不支持跨虚拟域的调用,他也不支持Form的文件上传,碰到这 两种情况,XMLHTTP据无能为力了。Flash虽然可以拥有广大的用户体验,在这方面也是望尘莫及。对于Webwork来说,他提供了简单易行的解决办法,这就是 ExecuteAndWaitInterceptor。
Read more
webwork上传配置
关于文件上传,做web的我们都会遇到过,以前用jspsmart的jar包,所有的东西得自己来写,而webwork,只配一道拦截器就可以了!webwork 文件上传采用拦截器的方式,叫fileUpload 可供选择的上传组件有pell(2.1.7默认)jakata(2.2及以后默认),cos, 我用的2.2.5的版本,选择的是jakata的common-fileupload的组件,我们可以在这里下到http://commons.apache.org/fileupload/,注意一点,还要用到common-io的包,在这里我都陷入一次,下载地址http://commons.apache.org/io/接下来我们来看一下配置!
利用webwork和rome生成rss
紧接上篇,我用webwork的action来生成xml,原理一样!不多说,主要的一点不用是,自己要扩展com.opensymphony.xwork.Result生成一个ContentType为xml的result,我用的是webwork2.2.5,rome和上面一下rome-0.9,参考网上的一点资料!
first:创建RomeResult类,webWork的result实现非常实用,它很好的解决了View的灵活性问题!
Read more
easy webwork
不管是什么技术,易用才是硬道理!webwork配置简单,所以受到很多用户的推崇!下面简单了解一下:
WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。
Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。
WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成Action(业务层Action类), session(会话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用JSP, Velocity, FreeMarker, JasperReports,XML等。
说一下简单的配置:
Hibernate的三种连接池设置C3P0、Proxool和DBCP
以下三种连接都是以连接MySQl为例。
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=GBK
- <property name="connection.username">root</property> <!-- 数据库用户名 -->
- <property name="connection.password">guest</property> <!-- 数据库密码 -->
上面的一段配置,在c3p0和dbcp中,都是必需的,因为hibernate会根据上述的配置来生成connections,再交给c3p0或dbcp管理.但是,proxool则不能,虽然说服文档上说proxool也可以和hibernate结合,但我按照官方文档上的说明怎么配也出错,而且,到了 sun和hibernat有的官方网站上问了几天,都没有一个人回复。后来我只能让proxool自身来生成连接,这在下面再讲。 Read more
Hibernate3的配置参数汇总
搞Hibernate的时候,配置与mysql连接好配,因没有表空间,在hibernate.hbm.xml直接配几个简单的几个就可以了,但是在oracle或postgres里就不行,搞了好多次不知道哪里的错误,最后好现只是一个参数据( hibernate.default_schema
)没有配的原因,下面的常用的几个参数,方便大家参考!
SQL方言
1、Hibernate JDBC属性
属性名 用途 hibernate.connection.driver_class jdbc驱动类 hibernate.connection.url jdbc URL
hibernate.connection.username 数据库用户
hibernate.connection.password 数据库用户密码
hibernate.connection.pool_size 连接池容量上限数目
注:使用C3P0的properties样例代码:

