一、理解多线程   多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。   线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。   多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只有一个CPU,那么真正的“同时”是不可能的,但是由于CPU的速度非常快,用户感觉不到其中的区别,因此我们也不用关心它,只需要设想各个线程是同时执行即可。   多线程和传统的单线程在程序设计 ...
2008-01-23

用 Spring 发送邮件的注意事项

关键字: spring, mail
使用Spring 的封装的MailSender,确实省事多了! 但在使用中,还是得注意些问题 1.增加验证,否则会报:553 authentication is required 的错误信息 Properties prop = new Properties(); prop.setProperty("mail.smtp.auth", "true"); JavaMailSenderImpl.setJavaMailProperties(prop); 注意:此处 prop.setProperty("mail.smtp.auth", "true"); 中 true 必须用双引号引用起 ...
2008-01-18

利用Spring简单使用quartz实现定时作业

关键字: spring, quartz
定时批处理作业是J2EE企业应用里很重要的一环,用来在晚间进行财务挂账,数据转存,新闻联播等等操作。 而在Spring里,已经很好的集成了Quartz,简单到像配cron一样,在xml文件里面配一下时间就可以自动执行,不需要写一行代码。 <bean id="methodInvokingJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref be ...
2008-01-18

利用Spring按调度计划调用方法

关键字: spring, quartz
为了调度报表邮件,你不得不编写EmailReportJob Bean(或者在使用定时器任务的情况下,是EmailReportTask Bean)。但这个Bean只是简单地调用了一次CourseService的sendCourseEnrollmentReport()方法。以这一点而论,EmailReportTask和EmailReportJob看上去都有些空洞。如果你不用写这个额外的类就能指定调用sendCourseEnrollmentReport()方法,是不是很棒? 好消息!你能够不用编写一个单独的TimerTask或QuartzJobBean类就可以调度单次方法调用。要达到这一目的,Sp ...
2008-01-18

在Spring中使用Quartz调度器

关键字: java, spring
Quartz调度器为调度工作提供了更丰富的支持。和Java定时器一样,可以使用Quartz来每隔多少毫秒执行一个工作。但Quartz比Java Timer更先进之处在于它允许你调度一个工作在某个特定的时间或日期执行。 关于Quartz的更多信息,可以访问Quartz位于http://www.opensymphony.com/quartz的主页。 让我们从定义发送报表邮件的工作开始使用Quartz: 创建一个工作 定义Quartz工作的第一步是创建一个类来定义工作。要做到这一点,你需要从Spring的QuartzJobBean中派生子类,如以下程序所示: 程序:定义一个Quartz工作 ...
2008-01-18

在Spring中使用 Java Timer 调度任务

关键字: java, spring
从Java 1.3开始,Java SDK就通过java.util.Timer类提供了基本的调度功能。这个类允许你调度一个任务(通过java.util.TimerTask子类定义)按任意周期运行。 创建一个定时器任务 使用Java Timer来调度发送注册报表邮件的第一步是从java.util.TimerTask中派生出邮件任务,如以下程序所示。  程序:一个用于发送注册报表邮件的定时器任务 public class EmailReportTask extends TimerTask { public EmailReportTask() {} public void ...
2008-01-17

为图片添加版权水印

关键字: java, awt
因为项目中考虑到添加图片版权的保护,特意看了下水印的处理...以下有两种方式: 第一种是添加文字水印: import java.awt.*; import java.awt.image.*; import java.io.*; import javax.swing.*; import com.sun.image.codec.jpeg.*; public class WaterSet { /** *//** * 给图片添加水印 * * @param filePath * 需要添加水印的图片的路径 * @param markContent * ...
2008-01-17

JFreechart研究学习

关键字: java, chart, report
1 简介 JFreeChart 是 SourceForge.net 上的一个开源项目,它的源码和 API 都可以免费获得。 JFreeChart 的功能非常强大,可以实现饼图 ( 二维和三维 ) , 柱状图 ( 水平 , 垂直 ), 线图 , 点图 , 时序图 , 甘特图 , 股票行情图 , 混和图 , 温度计图 , 刻度图等常用商用图表, 图形可以导出成 PNG 和 JPEG 格式,同时还可以与 PDF 和 EXCEL 关联,支持对图形的放大、缩小,支持常见图形的 3D 显示。 2 图形 对象的处理 2 .1 JFreeChart对象 JFreeChart 可以 ...
2008-01-16

Send mail with spring mail support and velocity

关键字: spring, mail, velocity
One of the requirements on my current project is to send Job Applicants an e-mail when they apply for a position. Since we're using Spring, I figured I'd try out its JavaMail and Velocity support to send this e-mail. Below is a short tutorial for setting up Spring's JavaMail support on a PositionMan ...
".*"="application/octet-stream" ".001"="application/x-001" ".301"="application/x-301" ".323"="text/h323" ".906"="application/x-906" ".907"="drawing/907" ".a11"="application/x-a11" ".acp"="audio/x-mei-aac" ".ai"="application/postscript" ".aif"="audio/aiff" ".aifc"="audio/aiff" ".aiff"="audio/aiff" ". ...
2008-01-16

Java 中文件的操作

关键字: java application
/* * Made In iuxi.com * */ package com.auxi.tools; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; i ...
2008-01-16

获取该项目的相对路径

关键字: java application
1.基本概念的理解   绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:\xyz\test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。   相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。 另外关于URI,URL,URN等内容,请参考RFC相关文档标准。 R ...
2008-01-16

Bug : LogoutFilter return a 404 on Websphere 6.0.2

关键字: application servers, security
Environment: Windows Xp + Websphere 6.0.2.0 + IBM JDK/JRE 1.4.2 Description: When I click logout.jsp, it returns a 404. However, acegi sample app logouot work on websphere 6.0.2 Matt suggest the following temp solution: Remove logoutFilter from security.xml (as a bean definition and in the filt ...
在 Spring 中, MultipartResolver 主要用来处理文件上传,它支持 Commons FileUpload (http://jakarta.apache.org/commons/fileupload) 和 COS FileUpload (http://www.servlets.com/cos)。 缺省,Spring是没有multipart处理,因为一些开发者想要自己处理它们。如果你想使用Spring的multipart,需要在web应用的上下文中添加multipart解析器。这样,每个请求就会被检查是否包含multipart。然而,如果请求中包含multipart,你的上下 ...
2008-01-16

spring mvc的异常处理

关键字: spring
在 Spring 中,框架自动集成了异常处理,其主要核心是由 exceptionResolver Bean 来处理的,在框架启动时,会检测这个 Bean ,如果不存在则不会处理系统中的异常,如果有,则会按照相关上配置来处理自动异常。 如有如下配置: <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> ...
2008-01-11

Spring2.0 声明式事务配置

关键字: spring
<!-- 声明一个事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!-- 声明一个要进行事务处理的Bean --> <bean id=&quo ...
2008-01-05

扩展acegi以支持验证码等

关键字: spring, acegi
主要是通用改写扩展authenticationProcessingFilter类来实现,当然还有开源框架JCaptcha来生成验证码 public class AuthenticationProcessingFilter implements Filter, InitializingBean, ApplicationEventPublisherAware { public static final String ACEGI_SAVED_REQUEST_KEY = "ACEGI_SAVED_REQUEST_KEY"; public static final String ACEGI_S ...
2008-01-05

Acegi 组件概览

关键字: spring, acegi
1.Filter 组件 HttpSessionContextIntegrationFilter 该Filter 负责每次请求从HttpSession中获取Authentication对象,然后把Authentication存于一个新的 ContextHolder对象(其实质上只是一个ThreadLocal对象)中,则让该次请求过程中的任何Filter都可以通过 ContextHolder来共享Authentication,而不需要从HttpSession中取,减少传HttpRequest参数的麻烦.在请求完后把Authentication对象保存到HttpSession中供下次请求使用,最 ...
ispring
搜索本博客
最近加入圈子
存档
最新评论