了解下JAVA的Birt报表利用毗连池设置
自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。现阶段我们在开辟报表的时分,是利用jdbc链接数据库的,为进步报表的运转效力和不乱性,利用毗连池举行办理。对照烦琐和低耦合的办理举措,利用jndi毗连池。
jdbc和jndi的区分
JDBC-最基础的毗连数据库的体例,每次对数据库打交道的时分,毗连数据库是必要实例下你完成毗连数据库的办法大概类。
JNDIDataSource英文全称是:JavaNamingandDirectoryInterfacejava命明接口,当服务启动时事前把毗连数据库的已连很多多少条,详细几条你能够设置,寄存在tomcat容器里,用的时分能够间接利用,不必再实例化失掉毗连,绝对与jdbc效力要快点
在eclipse计划报表的时分,我们利用jdbc链接数据库做测试,当到了tomcat运转情况中切换到jndi毗连池,这是对照便利的开辟办法。
完成步骤:
1.tomcat设置jndi毗连池
在{tomcat目次}webapps{项目名}META-INF中新增context.xml文件,设置代码以下
<resource-ref>
<description>DatabaseSource</description>
<res-ref-name>jdbc/travel_agency</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3.实例报表中数据源代码
1<data-sources>
2 <oda-data-sourceextensionID="org.eclipse.birt.report.data.oda.jdbc"name="数据源"id="227">
3 <propertyname="odaDriverClass">com.mysql.jdbc.Driver</property>
4 <propertyname="odaURL">jdbc:mysql://192.168.1.100/travel_agency</property>
5 <propertyname="odaUser">itravel</property>
6 <encrypted-propertyname="odaPassword"encryptionID="base64">NzA5Mzk0</encrypted-property>
7 <propertyname="odaJndiName">java:comp/env/jdbc/travel_agency</property>
8 </oda-data-source>
9 </data-sources>
除第7行<propertyname="odaJndiName">java:comp/env/jdbc/travel_agency</property>,其他是我们的之前的设置。用了第7行的代码,暗示该报表撑持jndi数据源,birt在运转报表的时分,会先用jndi往毗连,假如失利了再用jdbc链接,如许做的优点就是,我们在开辟报表的时分,没有放到web情况中,可使用jdbc,当放到tomcat中,由于有了第7行的设置。默许接纳jdni毗连。
4.步骤3中第6行暗码的天生程序(JAVA程序)
packagecom.hollycrm.birt.security;
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importsun.misc.BASE64Encoder;
publicclassCreateBirtBase64Password{
publicstaticvoidmain(String[]args){
InputStreamReaderinStreamReader=newInputStreamReader(System.in);
BufferedReaderbuffReader=newBufferedReader(inStreamReader);
System.out.println("请输出必要经由过程Base64加密的字符串:");
StringstrSrcPassword=null;
try{
strSrcPassword=buffReader.readLine();
if(strSrcPassword!=null){
//经由过程用户输出的暗码信息天生Base64的加密暗码
StringstrBase64Password=newBASE64Encoder().encode(strSrcPassword.trim().getBytes());
System.out.println("您输出的原始暗码为:"+strSrcPassword+"对应天生的Base64暗码值为:"+strBase64Password);
}
}catch(IOExceptione){
e.printStackTrace();
}
}
C#是不行的,比如说美国的航天飞船里就有java开发的程序以上是我的愚见,其实不管那种语言,你学好了,都能找到好的工作, 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 Java是一种计算机编程语言,拥有跨平台、面向对java 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 是一种语言,用以产生「小应用程序(Applet(s))
页:
[1]
2