随笔分类 -  Java

Java相关的技术
摘要:目前大部分获取ip的方式:beat.getRequest().getRemoteAddr()但是,如果通过nginx反向代理的话,就获取不到真实ip,是获取的nginx的ip需要:添加 proxy_set_headerX-Real-IP$remote_addr; server { listen 80; server_name price.kuche.com; location / { root html; proxy_set_header X-Real-IP $remote_addr;... 阅读全文
posted @ 2013-09-12 18:02 ×jokey 阅读(6443) 评论(0) 推荐(1) 编辑
摘要:private File file; //上传的文件 private String fileFileName; //文件名称 private String fileContentType; //文件类型/** * 导出数据 * @return */ public String exportData(){ formBean=this.provinceInfoServiceImpl.searchAll(formBean); List<TProvinceinfo> exprotData = formBean.getResu... 阅读全文
posted @ 2013-05-13 18:27 ×jokey 阅读(425) 评论(0) 推荐(0) 编辑
摘要:需求:一个功能模块需要定时执行 如:每天0点执行某操作每1小时执行某操作使用spring quartz实现定时任务/** * 自动修改订单状态为拒签待外呼 * 3天内,系统将自动将“拒签已退货”的订单状态变为“拒签待外呼” * @author jokey * *///实现QuartzJobBean org.springframework.scheduling.quartz.QuartzJobBean;public class AutoChangeOrderStatusWithWaitCall extends QuartzJobBean { private IOrderService o... 阅读全文
posted @ 2013-02-28 17:32 ×jokey 阅读(14735) 评论(0) 推荐(0) 编辑
摘要://应用场景:如以下SQL :String sql = "INSERT INTO to_order_return_info VALUES(seq_order_return_info.nextval,?,?,?,?,?,?)";该语句为向to_order_return_info表中插入新记录但如需要N条数据插入 正常的方案为 执行N次插入数据操作jdbc 支持批量SQL 可以进行同数据批量操作 以及混合数据批量操作Spring 对jdbc进行了封装 同样支持批量操作 以下为同数据(插入到统一个表中的数据) 批量操作:需要用到batchUpdate();方法和BatchPrep 阅读全文
posted @ 2013-02-20 17:34 ×jokey 阅读(15273) 评论(0) 推荐(0) 编辑
摘要:本文主要介绍利用JavaMailSenderImpl发送邮件。首先介绍了发送一般邮件,然后介绍了发送富文本(html)邮件及以velocity为模板发送邮件。邮件发送分为为三步:创建邮件发送器、编写邮件、发送邮件。Spring的JavaMailSenderImpl提供了强大的邮件发送功能,可发送普通文本邮件、带附件邮件、html格式邮件、带图片邮件、设置发送内容编码格式、设置发送人的显示名称。下面就进行介绍,示例代码中很多都是字符串硬编码,实际使用时推荐使用spring的配置文件进行配置。1、创建邮件发送器首先定义JavaMailSenderImpl对象,并对其进行smtp相关信息设置,相当于 阅读全文
posted @ 2013-02-01 16:30 ×jokey 阅读(5456) 评论(0) 推荐(1) 编辑
摘要:自Myeclipse7.5后貌似默认不启用XFire插件的集成 本人今天使用Myeclipse10.6是发现没有XFire 自己捣鼓捣鼓 已经成功添加XFire添加步骤1.打开Myeclipse->Help->Myeclipse Configuration Center会加载一会 耐心等待2.Dashboard选项卡->Myeclipse Features滚动条下拉至底 XFire Web Services Support for Myeclipse勾选3.切换到SoftWare选项卡PenDing Changes ->Apply 然后会弹出窗口在线下载XFire插件 阅读全文
posted @ 2012-10-18 18:26 ×jokey 阅读(4531) 评论(0) 推荐(0) 编辑
摘要:多线程的概念一、程序与进程1、程序:一段静态的代码。2、进程:程序的一次动态执行过程,它对应从代码加载、执行到执行完毕的一个完整过程。3、进程也称任务,支持多个进程同时执行的OS就被称为多进程OS或多任务OS。二、进程与线程在一个程序内部也可以实现多个任务并发执行,其中每个任务称为线程。线程是比进程更小的执行单位,它是在一个进程中独立的控制流,即程序内部的控制流。特点:线程不能独立运行,必须依赖于进程,在进程中运行。每个程序至少有一个线程称为主线程。单线程:只有一条线程的进程称为单线程多线程:有不止一个线程的进程称为多线程三、开启多线程的优点和缺点提高界面程序响应速度。通过使用线程,可以将需要 阅读全文
posted @ 2012-09-23 12:07 ×jokey 阅读(283) 评论(0) 推荐(0) 编辑
摘要:首先在页面中引入struts标签库:<%@ taglib prefix="s" uri="/struts-tags"%>在JSP页面中创建单选按钮radio的方法:<s:radio list="#{'1':'先生','0':'女士'}" name="gender" value="1"/>其中list中的键值对表示所有的选项,value表示设置的默认值,如果这个默认值是从后台传过来的,可以这样设置:<s: 阅读全文
posted @ 2012-09-22 17:45 ×jokey 阅读(13004) 评论(0) 推荐(0) 编辑
摘要:not-null property references a null or transient value该异常一般是由于填充对象为瞬时态导致填充为游离可用 阅读全文
posted @ 2012-09-22 09:41 ×jokey 阅读(1029) 评论(0) 推荐(0) 编辑
摘要:1.UUID主键生成策略jpa标准方式下,不可以生成uuid类型的主键,但是hibernate提供了一些方式生成uuid主键,具体方式,1,通过注解方式生成一个generator @GenericGenerator(name="idGenerator", strategy="uuid")2.主键生成器 @GeneratedValue(generator="idGenerator") 阅读全文
posted @ 2012-09-21 12:53 ×jokey 阅读(162) 评论(0) 推荐(0) 编辑
摘要:package converter;import java.util.Map;import org.apache.struts2.util.StrutsTypeConverter;import bean.Point;/** * 自定义类型转换器步骤 : * 1,创建转换器类,封装转换操作(String<->自定义类型) * 1)实现TypeConveter接口 * 2)继承自DefaultTypeConverter类 * 3)继承自StrutsTypeConveter抽象类 * 2,注册转换器 * 全局转换器 * 可转换所有Action中属性值... 阅读全文
posted @ 2012-09-16 13:17 ×jokey 阅读(480) 评论(0) 推荐(0) 编辑
摘要:1 package cn.jbit.house.filter; 2 3 import java.io.IOException; 4 import java.io.UnsupportedEncodingException; 5 6 import javax.servlet.Filter; 7 import javax.servlet.FilterChain; 8 import javax.servlet.FilterConfig; 9 import javax.servlet.ServletException;10 import javax.servlet.ServletRequest;1... 阅读全文
posted @ 2012-08-28 19:26 ×jokey 阅读(691) 评论(0) 推荐(0) 编辑
摘要:在使用U盘或者其他磁盘的时候,会出现磁盘未被格式化的提示框,如果格式化数据就会丢失。U盘提示未被格式化其实是磁盘的DBR受损所致的,现在只要用一个工具Winhex就能修复不用格式化。磁盘未被格式化的原因这是因为磁盘的DBR受损,每个磁盘在格式化之后会生成一个DBR和备份DBR,两个都是一样的,当DBR受损时可以用备份的DBR恢复 。DBR在第0扇区,备份DBR在第6扇区,所以我们要把第6扇区的备份DBR还原到0扇区的DBR,磁盘未被格式化的解决Winhex下载地址:http://dx1.xiazaiba.com/Soft/W/WinHex.zip首先:打开Winhex,选择工具--打开磁盘,选 阅读全文
posted @ 2012-08-24 18:27 ×jokey 阅读(236) 评论(0) 推荐(0) 编辑
摘要:http://code.google.com/p/aceyo/wiki/OSCacheCache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中,通过缓存页面的输出结果,可以很显著的改善系统运行性能。本文中作者给大家介绍一个实现J2EE框架中Web应用层缓存功能的开放源代码项目----OSCache。通过应用OSCache,我们不但可以实现通常的Cache功能,还能够改善系统的稳定性。关键词:Cache系统性能1面临的问题 1.1需要处理的特殊动态内容 在信息系统建设过程中我们通常会遇到这样的问题: 1.基础数据的变更问题 信息系统中需要处理的基础数据的内容短时... 阅读全文
posted @ 2012-08-18 11:01 ×jokey 阅读(457) 评论(0) 推荐(0) 编辑
摘要:关联查询可分为两种: A) 实体间有定义关联关系的(一对多,多对一等)对已定义关联关系的,我们可以使用createAlias()来创建属性的别名,然后引用别名进行条件查询,如:Criteria criteria = session.createCriteria(Parent.class); criteria.createAlias("children", "c").add(Expression.eq( "c.name" , childName));这样进行查询时就可得到关联查询后的Parent对象结果集。要注意的是,如果在create 阅读全文
posted @ 2012-08-05 12:46 ×jokey 阅读(337) 评论(0) 推荐(0) 编辑
摘要:用了这么长时间的hibernate/spring,如果不是今天用的findByExample方法到现在还不知道findByExample的机制。惭愧 Class User{String username;String password = "默认口令";Company company;getter()&setter().....}Company company = companyDao.getById("id");User user = new User();user.setSid("主键");uer.setUsername( 阅读全文
posted @ 2012-08-05 09:58 ×jokey 阅读(5131) 评论(0) 推荐(0) 编辑
摘要:<ehcache> <!-- 磁盘存储:将缓存中暂时不使用的对象,转移到硬盘,类似于Windows系统的虚拟内存 path:指定在硬盘上存储对象的路径 --> <diskStore path="java.io.tmpdir" /> <!-- defaultCache:默认的缓存配置信息,如果不加特殊说明,则所有对象按照此配置项处理 maxElementsInMemory:设置了缓存的上限,最多存储多少个记录对象 eternal:代表对象是否永不过期 timeToId... 阅读全文
posted @ 2012-08-03 11:29 ×jokey 阅读(3085) 评论(0) 推荐(0) 编辑
摘要:在eclipse/myeclipse中,当我们去添加注释的作者选项时,@author 后边一般都会默认填充的你登录计算机的用户名。如何去修改呢: 方法一:修改计算机登录的用户名(99.9999%的人应该都不愿意去这样做,特别是一些公司的域帐户登录的电脑根本就改不了)。 方法二:将 @author 属性写死 。 通过菜单 Window->Preference 打开参数设置面板,然后选择:Java -> Code Style -> Code Templates ,在右侧选择Comments,将其中的Types项,然后选右边的"Edit",进入编辑模式,将 @a 阅读全文
posted @ 2012-07-27 11:56 ×jokey 阅读(251) 评论(0) 推荐(0) 编辑
摘要:现象:xxx is not mapped " 错误配置文件如下:原因:String sql = "from users user where user.loginName=:loginName";HQL是写的是PO对象,不是table名将红色部分改为实体名 Users故改为配置文件中的红色部分的类名即可。 阅读全文
posted @ 2012-07-26 20:04 ×jokey 阅读(518) 评论(0) 推荐(0) 编辑
摘要:在多对多或一对多映射关系的时候(凡是用到Set集合的时候),千万注意Annotation注解一定要写在getter()方法上. 虽然多数情况写在属性上不会出现问题,但是在映射一对多或者多对多的时候,需要映射Set集合.那就必须写在方法上. 这一点..今天找问题找了大半天.每句话都检查了, 依然如此.后来干脆把之前写的代码翻出来看. 竟然也是一模一样(其实就是注解写在属性上了,只是没发现而已......),诧异了很久.对比配置文件.实体类.两个项目引用的jar包.... 一个一个的对比. 终于发现是因为注解写在属性上了.. 顿时松了一口气. 因为总算找到了一点不相同的地方. 之前一直报的错是这样 阅读全文
posted @ 2012-07-24 17:10 ×jokey 阅读(161) 评论(0) 推荐(0) 编辑