目前我的项目中系统生成了订单(JSP页面),这个订单要通过邮件发送给供应商,总不能粘一段html文字发给供应商吧。
于是考虑导出成excel,将excel文件发送出去,但客户觉得excel文件太容易更改,要求生成PDF或图片等不太容易改的文档。
现在的问题是:我如何生成这个PDF文档?
考虑过用iText,通过java创建PDF文档,但发现太繁琐了,在一天的时间内很难做出个像样的报表。
那么请问大侠们,我应该通过什么方式生成这个“不太容易改”的文档呢?
能否给点itext的一些资料或你们写过的代码。
posted @
2009-06-19 01:40 杨爱友 阅读(2065) |
评论 (19) |
编辑 收藏
摘要: 使用itext生成pdf
阅读全文
posted @
2009-06-18 12:04 杨爱友 阅读(2776) |
评论 (0) |
编辑 收藏
摘要: 使用itext生成pdf
阅读全文
posted @
2009-06-15 23:34 杨爱友 阅读(1729) |
评论 (0) |
编辑 收藏
摘要: struts1,webwork,struts2简介
阅读全文
posted @
2009-06-09 17:15 杨爱友 阅读(318) |
评论 (0) |
编辑 收藏
开发模式为struts、hibernate、jstl等。
在一个项目中,涉及到很多字典型数据,如水库规模(大、中、小)、土壤类型(酸性、碱性、粘性)、工程类型(桥梁、水闸、公路)等。
那么在数据库中如何来存储这些字典型数据呢?若水库规模、土壤类型、工程类型等各建一张表,太繁琐了吧!若将他们都存到一张“字典”表中,那水库、土壤、工程表将不能设置外键,规模字段只能存储一个规模ID标志,在查询出水库列表后,在页面中只能获得各水库的规模ID,却无法获取规模的名称。
posted @
2009-04-10 15:37 杨爱友 阅读(1464) |
评论 (2) |
编辑 收藏
开发模式为struts、hibernate、jstl等。
在一个项目中,涉及到很多字典型数据,如水库规模(大、中、小)、土壤类型(酸性、碱性、粘性)、工程类型(桥梁、水闸、公路)等。
那么在数据库中如何来存储这些字典型数据呢?若水库规模、土壤类型、工程类型等各建一张表,太繁琐了吧!若将他们都存到一张“字典”表中,那水库、土壤、工程表将不能设置外键,规模字段只能存储一个规模ID标志,在查询出水库列表后,在页面中只能获得各水库的规模ID,却无法获取规模的名称。
posted @
2009-04-10 15:34 杨爱友 阅读(422) |
评论 (0) |
编辑 收藏
一、spring
1.ContextLoaderListener
它作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。在ContextLoaderListener中关联了ContextLoader这个类,所以整个加载配置过程由ContextLoader来完成。ContextLoader创建的是 XmlWebApplicationContext这样一个类,它实现的接口是WebApplicationContext->ConfigurableWebApplicationContext->ApplicationContext->BeanFactory这样一来spring中的所有bean都由这个类来创建。如果在web.xml中不写任何参数配置信息,默认的路径是"/WEB-INF/applicationContext.xml,在WEB-INF目录下创建的xml文件的名称必须是applicationContext.xml。如果是要自定义文件名可以在web.xml里加入contextConfigLocation这个context参数:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring/*.xml</param-value>
</context-param>
2.default-autowire
在spring容器内拼凑bean叫作装配。装配bean的时候,你是在告诉容器,需要哪些bean,以及容器如何使用依赖注入将它们配合在一起。而default-autowire设置了bean的默认装配方式。
我们常常使用<ref>标签为JavaBean注入它依赖的对象。但是对于一个大型的系统,这个操作将会耗费我们大量的资源,我们不得不花费大量的时间和精力用于创建和维护系统中的<ref>标签。我们可以通过指定autowire来让容器为受管JavaBean自动注入依赖对象。
byName:通过属性的名字的方式查找JavaBean依赖的对象并为其注入。比如说类UserAction有个属性userService,Spring IoC容器会在配置文件中查找id/name属性为userService的bean,然后使用Seter方法为其注入。
注意:在配置bean时,<bean>标签中Autowire属性的优先级比其上级标签<beans/>高,即是说,如果在上级标签中定义default-autowire属性为byName,而在<bean>中定义为byType时,Spring IoC容器会优先使用<bean>标签的配置。
3.default-lazy-init
加载spring bean时,默认采用的延迟策略。
二、Hibernate
1.load和get
a.如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个 ObjectNotFoundException。
b.Load方法可返回实体的代理类实例,而get方法永远直接返回实体类。
c.load方法可以充分利用内部缓存和二级缓存中的现有数据,而get方法则仅仅在内部缓存中进行数据查找,如没有发现对应数据,将越过二级缓存,直接调用SQL完成数据读取。
2.对象的三种状态
Hibernate的对象有3种状态,分别为:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。
瞬时态:
由new命令开辟内存空间的java对象,
如:Person person = new Person("xxx", "xx");
瞬时对象在内存孤立存在,不和数据库的数据有任何关联关系,在Hibernate中,可通过session的save()或saveOrUpdate()方法将瞬时对象与数据库相关联,并将数据对应的插入数据库中,此时该瞬时对象转变成持久化对象。
持久态:
处于该状态的对象在数据库中具有对应的记录,并拥有一个持久化标识。如果是用hibernate的delete()方法,对应的持久对象就变成瞬时对象。
当一个session执行close()或clear()、evict(po)之后,持久对象变成脱管对象,此时持久对象会变成脱管对象,此时该对象虽然具有数据库识别值,但它已不在HIbernate持久层的管理之下。
持久对象具有如下特点:
1. 和session实例关联;
2. 在数据库中有与之关联的记录。
脱管态:
当与某持久对象关联的session被关闭后,该持久对象转变为脱管对象。
1. 本质上与瞬时对象相同,在没有任何变量引用它时,JVM会在适当的时候将它回收;
2. 比瞬时对象多了一个数据库记录标识值。
2.名词解释
a.persist把一个瞬态的实例持久化,但是并"不保证"标识符(identifier主键对应的属性)被立刻填入到持久化实例中,标识符的填入可能被推迟到flush的时候。
b.clear完整的清除session缓存
c.evcit(obj)把某个持久化对象从session的缓存中清空。
d.persist只能持久化一个瞬时态的对象,
三、java
1.格式化日期
SimpleDateFormat format = new SimpleDateFormat("yyyy年M月d日");
format.format(date);
用一个M、d则到月份日期为10一下时,只显示一位,避免出现01月02日的情况。
年可以用四位也可以用二位。
2.JDBC操作
a.连接数据库:
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection(url, userName, password);
Statement stmt = conn .getStatement();
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getInt("userId"));
System.out.println(rs.getString("userName"));
}
posted @
2009-04-03 13:14 杨爱友 阅读(260) |
评论 (0) |
编辑 收藏
摘要: 2008年就这样的走了, 时间过得太快了,太快了!
阅读全文
posted @
2009-01-14 16:49 杨爱友 阅读(253) |
评论 (0) |
编辑 收藏
摘要: 我向来宽宏大量,对人对社会一副很积极的心态,没有埋怨过谁,在同事中,你是第一个。
今天的事情,让我很郁闷,我不想以此来改变我对人、对事、对社会的态度,但这件事,我不会忘记,会作为一个警钟,时刻敲醒我昏沉沉的头脑。
阅读全文
posted @
2009-01-08 00:09 杨爱友 阅读(287) |
评论 (0) |
编辑 收藏
摘要: 新加行:这个帖子发帖8年来,已经为太多的朋友解决了问题,不用感谢我,请允许我在这里打个广告:
美丽涵涵童装店,说我博客名字,给你们打折。
Spring,hibernate,struts的面试笔试题(含答案)
阅读全文
posted @
2008-12-16 07:57 杨爱友 阅读(4134) |
评论 (0) |
编辑 收藏