代码优化消除重复代码+API接口+异步调用
利用工厂模式 + 模板方法模式,消除 if…else 和重复代码
代码重复的3种处理方法1-用工厂模式 + 模板方法模式
利用注解 + 反射消除重复代码
redis-sentinel-集群.7z
Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务:
监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。
提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。
自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。
8.0.36-redis-session-lib.7z
使用nginx搭建集群tomcat8,redis实现session共享
这里是tomcat 集成工具包
java web springboot License生成器 (JAVA源码+图形界面)
保证java web ,spirngboot,tomcate web安全,可以现在IP,mac,自定义参数,License生成器 (JAVA源码+界面)
其中包括license授权机制的原理和制作license的具体步骤
增加了mac 地址验证
Tomcat-Memcached Session共享所需jar包
以下操作步骤的前提是你已经安装了,Tomcat和Memcached,和已经配置了Nginx的负载,
如果这些您都没做,请先安装和配置,这些网上有很多,不再多说。
1、下载jar包
下载的jar有:
memcached-session-manager-1.5.1.jar, memcached-session-manager-tc6-1.5.1.jar,
jar包下载地址:http://code.google.com/p/memcached-session-manager/downloads/list
2、把下载的jar包放到%TOMCAT_HOMT%\lib中。
3、配置%TOMCAT_HOME%\config\context.xml
在Context.xml文件中加入
[html] view plain copy
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:localhost:11211,n2:localhost:11212"
requestUriIgnorePattern=".*\.(png|gif|jpg|css|js){1}quot;
sessionBackupAsync="false"
sessionBackupTimeout="1800000"
copyCollectionsForSerialization="false"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
/>
也可在server.xml配置文件的<Host>...<Host>中添加配置
JAXB Unmarshalling @XmlAnyElement
解决List<Object> 没法转 具体对象问题
SOAP +XML
JAXB Unmarshalling @XmlAnyElement
GsonFormat(android studio 插件)
GsonFormat(android studio 插件)
本插件只适用 android studio和 Intellij IDEA 工具,exlipse 的少年无视我吧!!!** 这是一个根据JSONObject格式的字符串,自动生成实体类参数.
jdk1.8可用的dubbo-admin-2.5.4.war
jdk1.8可用的dubbo-admin-2.5.4.war
java 最全的基础体系
这一部分主要讲解了java的基础部分,里面的代码大多都是由我本人在听课的时候所练习写过的的代码,这些代码并且都是
能够正常运行的 :里面还有我自己整理的笔记。在整理的过程中由于之前写过的代码太多不方便全部放到上面,所以只添加了一些自己比较喜欢的和好一点的代码
我想这对于初学者会有很大的帮助吧
编写本文档的过程耗费了我近一个月的时间,希望大家尊重知识,尊重劳动成果,这些内容我将会全部都免费的分享给你大家
AdminLTE 是一个基于Bootstrap 3.x的免费高级管理控制面板主题
AdminLTE 是一个基于Bootstrap 3.x的免费高级管理控制面板主题。AdminLTE - 是一个完全响应式管理模板。基于Bootstrap3框架。高度可定制的,易于使用。适合从小型移动设备到大型台式机很多的屏幕分辨率。
jQuery UI Portlet 插件API及源代码 Version: 1.3.1
jQuery UI Portle
$('#portlet-demo').portlet('option', 'add', {
position: {
x: 0,
y: 1
},
portlet: {
attrs: {
id: 'news'
},
title: 'News(亲,我是被动态添加的呦)',
afterCreated: function() {
alert('动态创建了News。。。');
},
content: {
style: {
height: '100'
},
type: 'text',
text: function() {
return $('#newsTemplate').html();
}
}
}
});
OSGI入门教程和代码
自工作以来就一直很关注插件体系结构的东西,从最早对于ant、maven这些部分支持插件思想的开源工具的关注,到对于portal时代portlet这种较为完整的插件体系结构的关注,到对于Eclipse 3.0采用OSGI作为其插件体系结构的思想的关注。
但真正开始在实际的产品中使用插件体系结构却是04年的事,在04年开始在产品中采用插件体系结构作为系统的基础架构,不过由于当时对于OSGI的陌生,所以在产品中采用的是自主编写插件架构实现的方式,事实证明插件体系结构的实现远不如想
产品经理培训文档
产品经理培训文档
此次经验分享涉及产品经理和产品,包括:idea—产品定位—竞争对手分析—用户调研—需求获取—roadmap—需求管理— PRD文档—原型设计—用户体验—信息架构—交互设计—项目管理—产品流程—运营数据统计分析—产品改进方案
项目经理常用文档
常用文档
201004 产品需求文档(PRD)模板
[PRD]产品需求文档规范
产品需求说明书模板_v1.2(PRD)
软件需求规格说明书(IEEE_830-1998)
201004 商业需求文档(BRD)实例
201004 会议记录模板
201004 项目日报周报实例
逻辑思维题训练(附答案)
【1】假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。
1、先把5升的灌满,倒在6升里,这时6升的壶里有5升水
2.再把5升的灌满,用5升的壶把6升的灌满,这时5升的壶里剩4升水
3.把6升的水倒掉,再把5升壶里剩余的水倒入6升的壶里,这时6升的壶里有4升水
4.把5升壶灌满,倒入6升的壶,5-2=3
【2】周雯的妈妈是豫林水泥厂的化验员。 一天,周雯来到化验室做作业。做完后想出去玩。 "等等,妈妈还要考你一个题目,"她接着说,"你看这6只做化验用的玻璃杯,前面3只盛满了水,后面3只是空的。你 能只移动1只玻璃杯,就便盛满水的杯子和空杯子间隔起来 吗?" 爱动脑筋的周雯,是学校里有名的"小机灵",她只想了一会儿就做到了。 请你想想看,"小机灵"是怎样做的?
Liferay开发指南
环境搭建
一、资源准备
以上资源内容可以在Liferay的官方网站下载,
1 liferay-plugins-sdk-6.1.1(Plugins SDK)
2 liferay-portal-6.1.1-ce-ga2(Bundled with Tomcat)
3 liferay-portal-src-6.1.1-ce-ga2(Portal Source,可选)
4 liferay IDE 1.6
5 Java SDK(开发Java程序当然要安装,请配置好环境变量)
二、配置SDK
打开Liferay IDE,Window-->Preferences-->Liferay-->Installed Plugin SDK,点击右边的Add…按钮,选择Liferay plugins SDK的解压目录,如下图所示,点击OK,完成SDK的安装。
三、配置Liferay运行环境(以Tomcat为例)
打开Liferay IDE,Window-->Preferences-->Server-->Runtime Environment,点击右边Add…,在弹出的服务器选择里面选择Liferay,Inc-->Liferay v6.1 CE (Tomcat 7),请打“Create a new location server”打上勾。
点击Next,选择liferay-portal-6.1.1-ce-ga2的解压目录,如下图:
点击Finish完成Tomcat的配置;或者点击“Next”,此步骤可以在Liferay source location处选择Liferay的源码,或者跳过,推荐关联一下Liferay的源码,其他的两个可选,点击Finish完成Tomcat的配置。
四、运行Liferay
经过上面的三步,在Liferay IDE(Eclipse 4.2)的下方的server面板处,可以看到Liferay 6.1 CE Server,现在点击运行
单点登录技术文档 多用户多系统多数据库
CAS 单点登录 多数据库 SSO
1、 单点登录概述
单点登录的英文名称为Single Sign-On,简写为SSO,它是一个用户认证的过程,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输入密码。IBM对SSO有一个形象的解释“单点登录、全网漫游”。
SSO将一个企业内部所有域中的用户登录和用户帐号管理集中到一起,SSO的好处显而易见:
1. 减少用户在不同系统中登录耗费的时间,减少用户登录出错的可能性
2. 实现安全的同时避免了处理和保存多套系统用户的认证信息
3. 减少了系统管理员增加、删除用户和修改用户权限的时间
4. 增加了安全性:系统管理员有了更好的方法管理用户,包括可以通过直接禁止和删除用户来取消该用户对所有系统资源的访问权限
对于内部有多种应用系统的企业来说,单点登录的效果是十分明显的。很多国际上的企业已经将单点登录作为系统设计的基本功能之一。
1.1 单点登录产品
商业SSO软件
专门的SSO商业软件
主要有:Netgrity的Siteminder,已经被CA收购。Novell 公司的iChain。RSA公司的ClearTrust等。
门户产品供应商自己的SSO产品,
如:BEA的WLES,IBM 的Tivoli Access Manager,Sun 公司的identity Server,Oracle公司的OID等。
上述商业软件一般适用于客户对SSO的需求很高,并且企业内部采用Domino、SAP、Sieble等系统比较多的情况下。单点登录产品通常需要在应用软件中增加代理模块,而商业SSO产品主要针对大型软件制作了代码模块。
因此,商业SSO软件除了价格问题外,另一个重要问题就是对客户自己的应用系统支持未必十分完善。
WebSphere发布CXF webserivce注意事项
新建一个web工程cxf,把用到的lib包导入,参考图:lib包.jpg
web.xml配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:**/spring.xml</param-value>
</context-param>
<servlet>
<servlet-name>cxf</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>cxf</servlet-name>
<url-pattern>/ws/*</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
src目录下创建spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
添加完这个文件后,还需要在这个文件中导入这么几个文件。文件内容如下:
<import resource="classpath:META-INF/cxf/cxf.xml"/>
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
这几个文件在cxf-2.5.2.jar中
下面开始写服务器端代码,首先定制服务器端的接口,代码如下:
package cxf.demo;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
@WebService
public interface HelloWorld {
@WebMethod
@WebResult
public String sayHi(@WebParam String text);
}
下面编写WebService的实现类,服务器端实现代码如下:
package cxf.demo;
import javax.jws.WebService;
@WebService(endpointInterface="cxf.demo.HelloWorld")
public class HelloWorldImpl implements HelloWorld {
public String sayHi(String name) {
String msg = "Hello " + name + "!";
return msg;
}
}
Oracle面试问题-技术篇
1.解释冷备份和热备份的不同点以及各自的优点
解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘)
2.你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢?
解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。
3.如何转换init.ora到spfile?
解答:使用create spfile from pfile 命令.
4.解释data block , extent 和 segment的区别(这里建议用英文术语)
解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment.
把jar包打包成exe
exe4j.zip Exe4j 使用说明
--------------------------------------------------------------------------------
http://blog.sina.com.cn 2006年04月06日23:02 COCHMU
标签:
将java编织成.class后,如果只是用java命令来执行总觉得不是太过瘾,找个办法生成像exe文件一样用鼠标双击便可执行的文件,应该是很有趣的啊。这里我用了一个名字叫做exe4j的免费小软件,感觉不错。
首先,当然是要下载个exe4j。我的是2.2版本的,license:L-g782dn2d-1f1yqxx1rv1sqd。
接着,将你要选择好你即将发布的.class文件就不用细说了。下面是创建jar文件,这里我用一个名字叫做d:MyJavaTest.class的文件来举例,另外注意还要编写一个确定main_class的文件manifest.mf,在这里mainfest.mf和目录MyJava是在同一个目录下(这里是都在D:),然后使用如下命令:
jar cvfm test.jar manifest.mf MyJava
manifest.mf当初还不知道怎么写,非常的抓狂。。。呵呵。其实很简单,代码如下:
Manifest-Version: 1.0
Main-Class: MyJava.Test
Created-By: Hanic
只要Main-Class写对就可以了。这样,一个test.jar文件就生成了,这里我就不细说jar的具体功能了。但为了确保成功,我们可以再用下面的指令执行一下刚刚生成的test.jar:
java -jar test.jar
怎么样,是不是可以很顺利的进行?如果是,那我们就可以开始进行可执行文件的创建了。
exe4j应用起来倒是相当简单。类似于傻瓜式的,只要一路next,填写和选择个别的参数就ok了。稍微懂点e文的都可以应用自如了。不要说你一点e文都不懂啊!没办法,简单说下流程:
1、打开exe4j,可以输入license,可以打开你以前操作过的config文件。
2、单击NEXT键,选择”JAR in EXE”mod按钮,单击NEXT。
3、填写短名和文件输出的路径然后点击NEXT。
4、在这里你可以选择你要生成的可执行文件的类型,以及生成的可执行文件名称、可执行文件的图标等,我们在这里就选择GUI application,名字就根据自己的需要取一个,图标你可以自己在你的图标库里选一个你喜欢的,然后再NEXT。
5、在这里填写Main class的名字,单击绿色+选择所需的.jar文件,如果没有特殊要求我们就可以再继续了。
6、接下来是选择jre版本,填写好jre的最大最小版本然后再继续。
7、下面设一下你的文件执行的片头,增加其美观效果,选择自己喜欢的图片,写自己想写的文字,并可以根据需要调整文字的位置,再继续。
8、下面是一个选择语言版本的界面选好后再继续。
9、下面是一个短暂的等待,然后就大功告成了,一个java写成的可执行文件就这样生成了。
10、双击一下看看效果,迎面而来的是自己设置的开头效果,感觉怎么样?
myelipse 打jar包插件
myelipse 打jar包插件net.sf.fjep.fatjar_0.0.31.zipnet.sf.fjep.fatjar_0.0.31.zip
重写window.alert方法
重写window.alert方法 重写window.alert方法
jBPM4 最新学习资源
jBPM4 最新学习资源
相对jpbm3来说的确是一个不错的学习教程
还可到www.family.com上找视频学习
JBoSS Seam 学习大全
JBoss Seam学习好资源 绝对超值
一周学会Linux系统
Startx 进入图形界面
Logout注销
Shutdown –h now 立即进行关机
Shutdown –r now 现在重新启动计算机
Reboot 现在重新启动计算机
开发步骤:
1. Vi Hello.java
2. 输入小写I [进入插入模式]
3. 输入esc [进入命令模式]
4. 输入:[wq表示退出保存 q!退出不保存]
5. javac Hello.java[编译]
6. java Hell [运行]
Pwd显示当前在哪个路径下
添加用户:
Useradd xiaoming
设置密码
Passwd xiaoming
在home下多一个xiaoming目录
用xiaoming帐号进入系统后,是xiaoming的目录并以$结束
删除用户:
Userdel 用户名 [只删除用户名不删除的主目录]
Userdel –r xiaoming [删除用户及用户主目录]
命令:init[0123456]有七种级别
0:关机
1:单用户
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
SQL完全手册 pdf
描述:
现在有两张表
学生表
No Name Sex
S001 AA 男
S002 BB 女
S003 CC 男
考试成绩表
ExamNO No Subject Score
E001 S001 C++ 60
E002 S002 Java 99
E003 S001 VB 80
数据:
create table students(no varchar(10),name varchar(10),sex nchar(1))
insert students select 'S001' , 'AA' , '男'
insert students select 'S002' , 'BB' , '女'
insert students select 'S003' , 'CC' , '男'
create table results(examno varchar(10),no varchar(10),subject varchar(10),score int)
insert results select 'E001' , 'S001' , 'C++' , 60
insert results select 'E002' , 'S002' , 'Java' , 99
insert results select 'E003' , 'S001' , 'VB' , 80
select * from students
select * from results
查询结果:
Name C++ Java VB
AA 60 NULL 80
BB NULL 99 NULL
CC NULL NULL NULL
create table students(no varchar(10),name varchar(10),sex nchar(1))
insert students select 'S001' , 'AA' , '男'
insert students select 'S002' , 'BB' , '女'
insert students select 'S003' , 'CC' , '男'
create table results(examno varchar(10),no varchar(10),subject varchar(10),score int)
insert results select 'E001' , 'S001' , 'C++' , 60
insert results select 'E002' , 'S002' , 'Java' , 99
insert results select 'E003' , 'S001' , 'VB' , 80
select * from students
select * from results
select a.name,max(case when b.subject='C++' then b.score else null end) [C++]
,max(case when b.subject='Java' then b.score else null end) [Java]
,max(case when b.subject='VB' then b.score else null end) [VB]
from students a left join results b
on a.no=b.no
group by a.name
Maven权威指南中文版 pdf
关键字: maven gwt
运行环境:
maven2.0.7
gwt1.4.60
jdk1.6.0_02
Tomcat 5.5
windows xp sp2
一、在环境变量中创建以下配置
1、
变量名:JAVA_HOME
变量值:D:\Java\jdk1.6.0_02
变量注:这个变量是指定JDK放的位置,变量的值与JAVA根目录的路径对应
2、
变量名:TOMCAT_HOME
变量值:D:\project tools\Tomcat 5.5
变量注:这个变量指定TOMCAT的存放位置
3、
变量名:MAVEN_HOME
变量值:D:\project tools\maven-2.0.7
变量注:这个变量指定MAVEN的存放路径
4、
变量名:GWT_HOME
变量值:D:\project tools\gwt-windows-1.4.60
变量注:这个变量指定GWT的存放路径
二、把下面的两段分别接到环境变量path与classpath 的最后面
path:
;%MAVEN_HOME%\bin;%GWT_HOME;%JAVA_HOME%\bin;%TOMCAT_HOME%\bin;%GWT_HOME%;
classpath:
;.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\htmlconverter.jar;%TOMCAT_HOME%\common\lib\jsp-api.jar;%TOMCAT_HOME%\common\lib\servlet-api.jar;%GWT_HOME%\gwt-servlet.jar;%GWT_HOME%\gwt-user.jar;%GWT_HOME%\gwt-dev-windows.jar;
三、MAVEN配置
1、进入MAVEN_HOME,此处我们在之前已设为D:\project tools\maven-2.0.7;
然后进入conf目录,修改settings.xml,找到<settings>标签里面的<localRepository>标签(通常它会在注释里面,需把它拷贝一份出注释外,进行修改),改为<localRepository>d:\project tools\maven repository</localRepository>,这是maven的本地库路径,如果不设置此项,那么它默认的路径是在你的私人目录,如C:\Documents and Settings\grass的.m2目录中,但通常我们设定本地库路径,以免不同用户使用时,又要重新下载库文件
struts2 + spring + lucene_search 实例
package com.hapark.lucene;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
/**
* 张超
* ago52030@163.com
* @author Administrator
*
*/
public class WareSearch {
public Hits search(String key, String city) {
Hits hits = null;
try {
Query query = null;
IndexSearcher searcher = new IndexSearcher("d:\\index");
Analyzer analyzer = new StandardAnalyzer(); //创建一个Analyzer接口的一个实例类StandardAnalyzer
QueryParser qp = new QueryParser("title", analyzer);
query = qp.parse(key);
if (searcher != null) {
hits = searcher.search(query); //hits结果
//测试
/*
for(int i=0;i<hits.length();i++){
Document doc = hits.doc(i);
System.out.println(doc.get("title"));
System.out.println(doc.get("content"));
System.out.println(doc.get("url"));
}
*/
}
} catch (Exception ex) {
}
return hits;
}
}
liferay代码研读
Liferay 目前发布到了3.6.1 了,它现在分为两个版本专业版和企业版.其中专业版完全采用基于
Spring 框架(http://www.springframework.org)的轻量级架构,采用基于AOP 的基础设施实现,
因此可以完全脱离高端J2EE 应用服务器,以web 应用的形式运行在纯servlet 容器(例如
Tomcat)中。从技术的角度,这足以证明:基于IoC 容器和AOP 的轻量级架构完全可以取代
EJB 提供企业级强度的产品。
Liferay 代码研读笔记(0.2)-----温兵
希望和大家一起研究 Liferay.
联系方式:QQ:80838762 MSN:wenbin151@hotmail.com Mail:wenbin151@163.com
Liferay代码研读笔记.......................................................................................................................1
1 Liferay架构及所集成的各项技术................................................................................................6
1.1 基本架构............................................................................................................................6
1.2 Portlet API (JSR 168)..........................................................................................................7
1.3 Struts and Tiles....................................................................................................................7
1.4 Session EJBs, Spring, and Hibernate ..................................................................................8
1.5 SOAP, RMI, and Tunneling ..............................................................................................11
1.6 Application Service Provider ............................................................................................12
2 系统属性文件.............................................................................................................................12
2.1 portal.properties ................................................................................................................12
2.1.1 Properties Override ................................................................................................42
2.1.2 Portal Release.........................................................................................................42
2.1.3 Portal Context ........................................................................................................42
2.1.4 Logging ..................................................................................................................43
2.1.5 Error .......................................................................................................................43
2.1.6 TCK........................................................................................................................44
2.1.7 Upgrade..................................................................................................................45
2.1.8 Company ................................................................................................................45
2.1.9 Users.......................................................................................................................46
2.1.10 Groups and Roles .................................................................................................47
2.1.11 Languages and Time Zones..................................................................................48
2.1.12 Look and Feel.......................................................................................................49
2.1.13 Session .................................................................................................................49
2.1.14 JAAS ....................................................................................................................50
2.1.15 Authentication Pipeline ........................................................................................51
BIRT Viewer 2_2 参数设置详解.pdf
BIRT Viewer 2.2 参数设置详解
作者:会飞的球球
2007.08.24
BIRT 作为一款功能强大的开源报表工具,其版本的升级更新速度也非常快,从1.0 到2.0,
一直到最新的2.2.1 版本,无论从功能上还是性能上都得到了极大的提高和扩充。BIRT 也
提供了一个标准的J2EE 实现组件,可以发布到支持J2EE应用的web server 服务器上,可
以对生成的报表进行预览等操作。在大家使用BIRT Viewer的时候,可能会对它日益纷繁的
参数设置如云里雾里,在网上论坛里也有很多人碰到这样哪样的问题,同时官方的文档也不
细致不全。所以我就对这些参数进行了一个简单系统的总结,希望能对大家的BIRT 开发有
所帮助。这些参数以2.2.1 版本为准,请大家特别注意。
1. Servlet 模式说明
查看 BIRT Viewer自带的web.xml 文件,可以看到有以下几个pattern:
frameset ---- 采用Ajax 框架,可以显示工具条,导航条和TOC面板,实现复杂的操作,
如分页处理,导出数据,导出报表,打印等等。该模式下会自动生成report document文件
(预览report design文件)到特定的目录(用户可以用参数指定,也可以定义在web.xml里)。
采用Ajax,速度较慢。
run ---- 也采用Ajax 框架,但不实现frameset 的复杂功能,不会生成临时的report
document 文件(预览report design 文件),也不支持分页,这个主要是应用在BIRT Designer
里的preview tab 里,可以支持cancel操作,其它不怎么常用。采用Ajax,速度较慢。
preview --- 没有用到Ajax 框架,直接调用底层Engine API 对报表进行render,把生
成的报表内容直接输出到浏览器。这种模式和run 模式调用的是相同的Engine API,唯一
区别在于run 采用Ajax 获取报表内容,而preview 直接输出到浏览器。如果要支持分页,
用户需要在URL 上定义__page和__pagerange 参数,这两个参数也会在后面详细说明。需要
特别说明的是,在这几种预览模式中,preview的速度是最快的。
document --- 该模式主要是为了从report design 文件生成report document文件。用
户可以在URL上提定document文件生成存放的路径(存放在server 端),如果未指定,会直
接生成rptdocument发送到客户端浏览器,用户可以下载到客户端。
2009年博客系统项目
2009年博客系统项目
由刘伟老师亲自讲解,实录于Java培训班的课堂上。这个项目是在Java培训班同学,学习完成Java SE、Java Web基础内容后,由刘老师带领同学手把手开发的第一个Java Web项目,项目中主要使用了:Java SE、JSP、Servlet、Tomcat、MySQL、PowerDesigner、starUML、Dreamweaver、数据库连接池、Commons DbUtils、JSTL、Displaytag、HTML、Javascript、CSS等技术和工具。适用有Java SE、Java Web开发的基础的同学学习。
Ajax的知识结构和内容
Ajax基础
使用Ajax发送异步请求
在请求和响应中使用XML
使用JSON进行数据传输
DOM基础
DOM是”Document Object Model”(文档对象模型)的首字母缩写。当创建了一个网页并把它加载到Web浏览器中时,就会在幕后创建一个文档对象模型
DOM表示被加载到浏览器窗口里的当前页面:浏览器向我们提供了当前页面的模型,而我们可以通过JavaScript访问这个模型
DOM把一份文档表示为一棵树
如下的HTML页面:
浏览器加载该页面并将之转换为树形结构:
DOM树中的一切是以最外层的HTML包含元素,即html元素开始的。使用树的比喻,这叫做根元素(root element)
从根流出的线表示不同标记部分之间的关系。head和body元素是html根元素的孩子(child);title是head的孩子,而文本 “Trees, trees, everywhere”是title的孩子;相对的,head是title的父亲(parent),title是文本 “Trees, trees, everywhere” 的父亲。处在同一层次的且互不包含的两个分支(如head和body)之间称为兄弟(sibling)关系。整个树就这样组织下去,直到浏览器获得与上图类似的结构
通常把这样的树结构成为一棵节点树
节点 (node)
DOM文档是由节点构成的集合,此时的节点是文档树上的树枝或者树叶
DOM中节点的类型:
元素节点(element node),诸如<head>、<p>、<div>等。元素节点可以包含其它的元素,唯一没有被包含在其它元素里的元素是<html>,它是根元素
属性节点(attribute node),元素或多或少地有一些属性,属性可以对元素做出一些具体的描述。因为属性总是被放到起始标签里,所以属性节点总是被包含在元素节点中
文本节点(text node),<h1>元素中包含着文本节点“Trees, trees, everywhere”
基本DOM方法
该系统模仿JavaEye问答系统
简介
该系统模仿JavaEye问答系统http://www.javaeye.com/ask
技术:
Struts2,Spring,Hibernate3,Ajax,TinyMce,Mysql
数据库
用户名:root
密码:root
登录用户和密码
wangld 1
或者
linys 1
注:
导入到Eclipse后,如果有问题的话修改Java Build Path中的JDK
JDK1.5以上
Java基础入门教程
Java基础入门教程 pdf文档 适合初学都 好可加强基础学习
自已实现spring ioc功能代码 jdk1.6的一些新特性
用jdom 读配置文件实现类似spring 功能:
* Hello 是一个class
* Animal是一个结口有实现类
OA_struts2_hibernate3_spring2.5.rar
<struts>
<constant name="struts.i18n.encoding" value="gbk"></constant>
<package name="struts2" extends="struts-default">
<global-results>
<result name="add_success" type="redirect">/common/pub_add_success.jsp</result>
<result name="del_success" type="redirect">/common/pub_del_success.jsp</result>
<result name="modify_success" type="redirect">/common/pub_modify_success.jsp</result>
<result name="Exception">/common/exception.jsp</result>
<result name="login" type="redirect">/index.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.RuntimeException" result="Exception"/>
</global-exception-mappings>
<action name="org" class="orgAction" >
<result name="success" type="dispatcher">/org/index.jsp</result>
<result name="select">/org/select.jsp</result>
</action>
<action name="add_input" class="orgAction" method="add">
<result name="success" type="dispatcher">/org/add_input.jsp</result>
</action>
<action name="add" class="addAction">
<result name="success" type="dispatcher">/org/index.jsp</result>
</action>
<action name="del" class="delAction"></action>
<action name="person" class="personAction">
<result name="success">/person/index.jsp</result>
</action>
<action name="toAdd" class="personAction" method="toAdd">
<result name="success">/person/add_input.jsp</result>
</action>
<action name="addPerson" class="personAction" method="addPerson">
</action>
<action name="delPerson" class="personAction" method="delPerson">
</action>
<action name="module" class="moduleAction">
<result name="success">/module/index.jsp</result>
</action>
<action name="add_module" class="moduleAction" method="add_module">
<result name="add_success">/common/pub_add_success.jsp</result>
</action>
<action name="del_module" class="moduleAction" method="del_module"></action>
<action name="role" class="roleAction">
<result name="success">/role/index.jsp</result>
</action>
<action name="add_role" class="roleAction" method="add_role"></action>
<action name="del_role" class="roleAction" method="del_role"></action>
<action name="user" class="userAction">
<result name="success">/user/index.jsp</result>
</action>
<action name="add_user" class="userAction" method="add_user"></action>
<action name="del_user" class="userAction" method="del_user"></action>
<action name="modify_user" class="userAction" method="modify_user"></action>
<action name="userRole" class="userAction" method="userRole">
<result name="success">/user/user_role_list.jsp</result>
</action>
<action name="toUserRole" class="userAction" method="toUserRole">
<result name="success">/user/user_role_input.jsp</result>
</action>
<action name="add_userRole" class="userAction" method="add_userRole"></action>
<action name="del_userRole" class="userAction" method="del_userRole"></action>
<action name="acl" class="aclAction">
<result name="success">/acl/index.jsp</result>
</action>
<action name="login" class="loginAction">
<result name="success">/back_index.jsp</result>
</action>
<action name="outlook" class="outlookAction">
<result name="success">/outlook.jsp</result>
</action>
<action name="main" class="mainAction">
<result name="success">/main.jsp</result>
</action>
</package>
mysql-5.0.22-win32 database
mysql-5.0.22-win32mysql-5.0.22-win32