锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
http://m0.mail.sina.com.cn/apps/netdisk/download.php?id=d9d1668c0b162f26d115a49e0b308e4f
deerjet src.zip
http://m0.mail.sina.com.cn/apps/netdisk/download.php?id=c859c9a30c5f19e2732255e81a4f0c36
jQueryAPI-100214.chm
http://m0.mail.sina.com.cn/apps/netdisk/download.php?id=c64a572a16f169ac6db829a3122c4279
hibernate_annotations.pdf
http://m0.mail.sina.com.cn/apps/netdisk/download.php?id=88bd4e31848fda5ca2e65b6fc19df73f
hibernate_reference.pdf
http://m0.mail.sina.com.cn/apps/netdisk/download.php?id=603986150b7056ce617289370197ea9a
HQL涓嶤riteria瀵圭収.pdf
http://m0.mail.sina.com.cn/apps/netdisk/download.php?id=c2805f9d49171f6165baa528a29774c7
oracle緙栫▼鑹烘湳.pdf
http://m0.mail.sina.com.cn/apps/netdisk/download.php?id=0c39f09f81f674ef67016482a224a025
綺鵑歰racle10g pl_sql緙栫▼.pdf
http://m0.mail.sina.com.cn/apps/netdisk/download.php?id=455bb7bbfeff510ee66acafe6c8f035b
throws Exception {
Assert.notNull(pageModel);
DetachedCriteria dc = DetachedCriteria.forClass(CrmWarning.class);
/*
* 娣誨姞鏌ヨ鏉′歡
* 濡?dc.add(Restrictions.like("key", "%"+pageModel.getCondition("key")+"%"));
*
* */
if (null != pageModel.getCondition("warnLevel")) {
dc.add(Restrictions.eq("warnLevel", pageModel.getCondition("warnLevel")));
}
if (StringUtils.isNotBlank((String)pageModel.getCondition("detail"))) {
dc.add(Restrictions.like("detail", "%"+pageModel.getCondition("detail")+"%"));
}
if (StringUtils.isNotBlank((String)pageModel.getCondition("warnDate"))) {
/*
* warnDate鏍煎紡鏄痽yyy-MM-dd錛岃繖閲屾敼鎴愭煡璇㈣繖涓澶╃殑棰勮
* Restrictions.sqlRestriction()鍏佽鍐欏師鐢焥ql鐨勬柟寮忓畬鎴愮壒孌婇渶姹傦紝濡備笅
* */
dc.add(Restrictions.sqlRestriction("to_char(time_start,'yyyy-MM-dd') = '" + pageModel.getCondition("warnDate") + "'"));
}
if (null != pageModel.getCondition("templateId")) {
/*
* 榪欓噷鐨則emplateId鏄ā鏉跨殑涓婚敭id,鏌ヨ鏃跺簲璇ヨ漿鎹㈡垚妯℃澘瀵硅薄
* */
CrmWarnTemplate warnTemplate = new CrmWarnTemplate();
warnTemplate.setTemplateId((Long)pageModel.getCondition("templateId"));
dc.add(Restrictions.eq("crmWarnTemplate", warnTemplate));
}
dc.addOrder(Order.asc("crmWarnTemplate"));
dc.addOrder(Order.desc("timeStart"));
pageModel.setDateList(warningDao.query(dc, pageModel.getFirstNote(), pageModel.getNumInPage()));
pageModel.setTotal(warningDao.count(dc));
return pageModel;
}
import java.util.List;
import org.hibernate.Hibernate;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.transform.Transformers;
import org.springframework.dao.DataAccessException;
import com.jl.dao.baseDao.GenericDao;
import com.jl.dao.bookplatform.ProductItemDao;
import com.jl.entity.bookplatform.CrmProduct;
import com.jl.entity.bookplatform.CrmProductItem;
import com.jl.entity.bookplatform.ProductItemConfig;
public class ProductItemDaoImpl extends GenericDao<CrmProductItem, Long> implements ProductItemDao {
public List<ProductItemConfig> getProductItemConfigs(Long productId, Long planetypeId) throws DataAccessException{
String sql = "select chi.charge_item_id \"chargeItemId\"," +
" chi.charge_item \"chargeItem\"," +
" chi.charge_unit \"chargeUnit\"," +
" cpi.product_id \"productId\"," +
" cpi.product_item_id \"productItemId\"," +
" cpi.sale_planetype_id \"salePlanetypeId\"," +
" cpi.inland_price \"inlandPrice\"," +
" cpi.outland_price \"outlandPrice\"" +
" from (select * from crm_charge_item chi2 where chi2.if_regular = 1) chi left join crm_product_item cpi" +
" on cpi.charge_item_id = chi.charge_item_id " +
" and cpi.product_id = ?" +
" and cpi.sale_planetype_id = ?" +
" order by chi.charge_item_id";
Session session = getSession();
Query query = session.createSQLQuery(sql)
.addScalar("chargeItemId", Hibernate.LONG)
.addScalar("chargeItem",Hibernate.STRING)
.addScalar("chargeUnit",Hibernate.STRING)
.addScalar("productId",Hibernate.LONG)
.addScalar("productItemId",Hibernate.LONG)
.addScalar("salePlanetypeId",Hibernate.LONG)
.addScalar("inlandPrice",Hibernate.DOUBLE)
.addScalar("outlandPrice",Hibernate.DOUBLE)
.setResultTransformer(Transformers.aliasToBean(ProductItemConfig.class))
.setParameter(0, productId)
.setParameter(1, planetypeId);
List<ProductItemConfig> configs = query.list();
return configs;
}
public List<CrmProductItem> getProductItem(CrmProduct product) throws DataAccessException {
String hql = "from CrmProductItem cpi where cpi.crmProduct = ?";
Session session = getSession();
Query query = session.createSQLQuery(hql).setParameter(0, product);
List<CrmProductItem> items = query.list();
return items;
}
public void copy(Long productId_dest,Long productId_orig,String createMan) throws DataAccessException {
String sql = "insert into crm_product_item " +
" select hibernate_sequence.nextval," +
" ?," +
" cpi.charge_item_id," +
" cpi.sale_planetype_id," +
" cpi.inland_price," +
" cpi.outland_price," +
" ?," +
" sysdate" +
" from crm_product_item cpi" +
" where cpi.product_id = ?";
Session session = getSession();
Query sqlQuery = session.createSQLQuery(sql)
.setParameter(0, productId_dest)
.setParameter(1, createMan)
.setParameter(2, productId_orig);
sqlQuery.executeUpdate();
}
}
cd %CATALINE_HOME%/bin
set JPDA_ADDRESS=8787
set JPDA_TRANSPORT=dt_socket
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787
startup
闇瑕佽繙紼嬭皟璇曟椂浠巘omcat_debug.bat鍚姩銆?br />
2錛宔clipse璋冭瘯
閫夋嫨鑿滃崟"Run>Debug..."錛屽脊鍑虹獥鍙i噷鍙抽敭鐐瑰嚮"Remote Java Application"錛岄夋嫨"New"錛屽鍥撅細(xì)
鐐瑰嚮"Debug"鎸夐挳錛屽紑濮嬭繙紼嬭皟璇曪紝褰撶▼搴忚繍琛屽埌鏂偣鏃訛紝Eclipse浼?xì)鎹曡幏鍒般?br />
鏈夊叧鏅歫ava app鐨勮繙紼嬭皟璇曞彲浠ュ弬鑰僪ttp://blog.chenlb.com/2010/07/eclipse-remoting-debug-java-app.html
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="jquery.validate.js"></script>
<SCRIPT LANGUAGE="JavaScript">
<!--
jQuery(function(){
jQuery.validator.methods.compareDate = function(value, element, param) {
//var startDate = jQuery(param).val() + ":00";琛ュ叏yyyy-MM-dd HH:mm:ss鏍煎紡
//value = value + ":00";
var startDate = jQuery(param).val();
var date1 = new Date(Date.parse(startDate.replace("-", "/")));
var date2 = new Date(Date.parse(value.replace("-", "/")));
return date1 < date2;
};
jQuery("#form1").validate({
focusInvalid:false,
rules:{
"timeStart":{
required: true
},
"timeEnd": {
required: true,
compareDate: "#timeStart"
}
},
messages:{
"timeStart":{
required: "寮濮嬫椂闂翠笉鑳戒負(fù)絀?/span>"
},
"timeEnd":{
required: "緇撴潫鏃墮棿涓嶈兘涓虹┖",
compareDate: "緇撴潫鏃ユ湡蹇呴』澶т簬寮濮嬫棩鏈?"
}
}
});
});
//-->
</SCRIPT>
</HEAD>
<BODY>
<form id="form1" name="form1" method="post" action="demo.html">
<p>timeStart:
<input name="timeStart" type="text" id="timeStart" value="2011-02-17 10:00:00"> yyyy-MM-dd HH:mm:ss
</p>
<p>timeEnd:
<input name="timeEnd" type="text" id="timeEnd" value="2011-02-17 9:00:00"> yyyy-MM-dd HH:mm:ss
</p>
<p>
<input type="submit" name="Submit" value="鎻愪氦">
</p>
</form>
</BODY>
</HTML>
鎬葷粨錛?br />
褰揘LS_CHARACTERSET=AL32UTF8鏃訛紙錛?br />
NLS_LENGTH_SEMANTICS=BYTE鏃訛紝涓涓眽瀛椾唬琛ㄤ笁涓瓧鑺?br />
NLS_LENGTH_SEMANTICS=CHAR鏃訛紝涓涓眽瀛椾唬琛ㄤ竴涓瓧鑺?br />
褰揘LS_CHARACTERSET=US7ASCII鏃訛紙瀛楃闆嗕負(fù)鍗曞瓧鑺傦級(jí)
NLS_LENGTH_SEMANTICS=BYTE鏃訛紝涓涓眽瀛椾唬琛ㄤ袱涓瓧鑺?br />
NLS_LENGTH_SEMANTICS=CHAR鏃訛紝涓涓眽瀛椾唬琛ㄤ袱涓瓧鑺?/p>
鐜拌薄:
select * from nls_database_parameters;
…. …………..
NLS_CHARACTERSET AL32UTF8
…..
NLS_LENGTH_SEMANTICS BYTE
….
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 10.2.0.4.0
SQL> alter session set nls_length_semantics='BYTE';
SQL> create table nls_byte(c1 varchar2(7));
SQL> insert into nls_byte values('嫻嬭瘯鏈?);
insert into nls_byte values('嫻嬭瘯鏈?)
ORA-12899: 鍒?"SYS"."NLS_BYTE"."C1" 鐨勫煎お澶?(瀹為檯鍊? 9, 鏈澶у? 7)
SQL> insert into nls_byte values('嫻嬭瘯a');
1 row inserted
SQL> select table_name,column_name,t.DATA_TYPE,t.DATA_LENGTH,t.CHAR_USED from user_tab_columns t where table_name='NLS_BYTE';
TABLE_NAME COLU DATA_TYP DATA_LENGTH CHAR_USED
---------- ---- -------- ----------- ---------
NLS_BYTE C1 VARCHAR2 7 B
NLS_LENGTH_SEMANTICS allows you to specify the length of a column datatype in terms of CHARacters rather than in terms of BYTEs. Typically this is when using an AL32UTF8 or other varying width NLS_CHARACTERSET database where one character is not always one byte. While using CHAR semantics has as such no added value in a 7/8 bit characterset it's fully supported so any application code / table setup using CHAR can also be used in a 7/8bit characterset like US7ASCII/WE8MSWIN1252.
This parameter is a 9i (and up) feature and is not available in older releases
緲昏瘧榪囨潵灝辨槸:榪欎釜鍙傛暟鍏佽灝嗗垪鐨勬暟鎹崟浣嶈涓哄瓧絎﹁屼笉鏄痓yte.榪欎釜闂浼?xì)鍦ㄥ瓧绗﹂泦璁句负UTF8鐨勬椂鍊欏嚭鐜? 姝ゅ弬鏁板湪9i浠ヤ笂鐗堟湰鏈夋晥.
NLS_LENGTH_SEMANTICS 璁劇疆.
1. NLS_DATABASE_PARAMETERS涓殑鍊兼槸鍦ㄦ暟鎹簱鍒涘緩鐨勬椂鍊欑‘瀹氱殑,涓鑸兘涓築YTE
2. 姝ゅ弬鏁板彲浠ヤ互 “ALTER SYSTEM SET NLS_LENGTH_SEMANTICS=CHAR scope=both”鏂瑰紡淇敼,浣嗘槸闇瑕侀噸鍚暟鎹簱鎵嶈兘鐢熸晥.
3. 涔熷彲鐢?#8221; ALTER SESSION SET NLS_LENGTH_SEMANTICS=CHAR”浣垮褰撳墠session鐢熸晥.
4. 姝ゅ弬鏁板彲浠ュ湪10G浠ヤ笂鐗堟湰涓?鍦ㄧ幆澧冨彉閲忔垨娉ㄥ唽琛ㄤ腑璁劇疆(娉ㄦ剰闇瑕佸ぇ鍐?,璁懼畾鍚庝粠褰撳墠瀹㈡埛绔惎鍔ㄧ殑鎵鏈変細(xì)璇濋兘閲囩敤鏂扮殑鍙栧?
5. 淇敼鍚庡彧瀵規(guī)柊寤虹殑鍒楃敓鏁?瀵逛簬宸叉湁鐨勫垪娌℃湁浣滅敤
6. 鏂板緩鎴栧崌綰B鏃剁敤BYTE,鍚﹀垯XDB鎴杁ba_tables浼?xì)鍑虹幇闂?
7. NLS_LENGTH_SEMANTICS瀵箂ys鐢ㄦ埛涓嬬殑瀵硅薄鏃犳晥.
8. 濡傛灉瀵逛簬7/8bit鐨勫瓧絎﹂泦,璁句負(fù)byte/char鎰忎箟涓嶅ぇ,鍥犱負(fù)鏃犺鏄痗har鍜宐yte閮藉搴斾竴涓猙yte.
嫻嬭瘯:
涓.鍦ㄥ綋鍓峴ession涓慨鏀規(guī)鍙傛暟
SQL> alter session set nls_length_semantics='char';
Session altered
SQL> create table nls_char(c1 varchar2(7),c2 varchar2(7));
Table created
SQL> desc nls_char
Name Type Nullable Default Comments
---- ----------- -------- ------- --------
C1 VARCHAR2(7) Y
C2 VARCHAR2(7) Y
SQL> insert into nls_char values('嫻嬭瘯鏈?,'嫻嬭瘯嫻嬭瘯嫻嬭瘯');
1 row inserted
濡傛灉瀵逛簬alter system,鏁堟灉鏄竴鏍風(fēng)殑
浜?瀵逛簬宸茬粡瀛樺湪鐨勮〃,
SQL> desc nls_byte
Name Type Nullable Default Comments
---- ---------------- -------- ------- --------
C1 VARCHAR2(7 BYTE) Y
SQL> alter table nls_byte modify c1 varchar2(7 char);
Table altered
SQL> desc nls_byte
Name Type Nullable Default Comments
---- ----------- -------- ------- --------
C1 VARCHAR2(7) Y
SQL> insert into nls_byte values('嫻嬭瘯鏈?);
1 row inserted
1. exp/imp : 涓嶈兘鐩存帴瀵煎叆,鍥犱負(fù)浼?xì)閲囩敤source table鐨勫緩琛ㄦ柟寮忓湪target db閲屽緩琛?鍗充嬌鐩爣搴撹鐨勫間負(fù)char.
*鍙互棰勫厛鍦ㄧ洰鏍囧簱涓互char鏂瑰紡寤鴻〃
*鐒跺悗瀵煎叆,鎸囧畾鍙傛暟ignore=y
2. Alter table
alter table "<owner>"."<table>" modify "<column>" char (10 char);
鍒涘緩鑴氭湰,淇敼鍒楄瀹?
娉?
Bug-3611750, ora-01450 online rebuild of index fails, 鍙互鍦ㄩ噸寤虹儲(chǔ)寮曞墠鎸囧畾byte, 10.2.0.5浠ヤ笂宸茬粡淇
Bug 1488174 UNICODE: ALTER SYSTEM SET NLS_LENGTH_SEMANTICS DOESN'T
TAKE EFFECT, 鐢ㄦ璇彞淇敼鍚?瀹為檯涓婁笉璧蜂綔鐢?闇瑕侀噸鍚墠鑳界敓鏁? 浣嗘槸濡傛灉鐢╝lter session鏂瑰紡鍗蟲椂鐢熸晥,涓嶇敤閲嶅惎.
榪涗竴姝ユ祴璇?鍦ㄥ彟涓涓瓧絎﹂泦璁句負(fù)us7ascii鐨凞B璁劇疆姝ゅ弬鏁?/p>
SQL> select * from nls_database_parameters
6 NLS_CHARACTERSET US7ASCII
SQL> alter session set nls_length_semantics=byte;
Session altered.
SQL> create table nls_byte(c1 varchar2(7));
Table created.
SQL> insert into nls_byte values('嫻嬭瘯嫻嬭瘯');
insert into nls_byte values('嫻嬭瘯嫻嬭瘯')
ERROR at line 1:
ORA-12899: value too large for column "TEA"."NLS_BYTE"."C1" (actual: 8,
maximum: 7)
SQL> desc nls_byte
Name Null? Type
-------------------------------
C1 VARCHAR2(7)
SQL> alter session set nls_length_semantics=char;
Session altered.
SQL> create table nls_char(c1 varchar2(7));
Table created.
SQL> insert into nls_char values('嫻嬭瘯嫻嬭瘯');
insert into nls_char values('嫻嬭瘯嫻嬭瘯')
ERROR at line 1:
ORA-12899: value too large for column "TEA"."NLS_CHAR"."C1" (actual: 8,
maximum: 7)
SQL> desc nls_char
Name Null? Type
----------------------------------------- -------- -------------------
C1 VARCHAR2(7)
鍙互鐪嬪嚭,鍦ㄥ瓧絎﹂泦涓哄崟瀛楄妭鐨勬儏鍐典笅,鏃犺鍙栦綍鍊?姹夊瓧閮芥槸浠ヤ簩涓瓧鑺傜殑鏂瑰紡瀛樺湪鐨?
鍥犱負(fù)宸ヤ綔闇瑕佹帴瑙﹀埌sso錛屾嵁鐭ョ洰鍓嶅鏁?/span>sso浣跨敤鑰墮瞾鐨?/span>cas瀹炵幇錛屼笖鍙戠幇浣跨敤cas鐪熺殑鏄緢綆鍗曞氨鍙互鍋氬嚭涓涓崟鐐圭櫥褰曠郴緇熸潵錛?/span>cas榪樻彁渚涗赴瀵岀殑鎵╁睍鍔熻兘錛屽浜庢墿灞曞姛鑳芥棩鍚庡啀緇嗙粏鐮旂┒錛岃繖閲屽彧浣跨敤cas鍋氫竴涓?/span>hello world鏉ヨ褰曟湰浜虹殑瀛︿範(fàn)榪囩▼錛屽鏈夊垢琚珮浜虹湅鍒幫紝榪樻湜鎸囧嚭寮婄梾錛屼笉鍚濊祼鏁欍?/span>
鍦ㄤ嬌鐢?/span>cas涔嬪墠鏈濂藉鏁板瓧璇佷功鏈夋墍浜?jiǎn)瑙eQ屼笉浜?jiǎn)瑙d篃娌℃湁鍏尘p伙紝璺熺潃鎴戠殑姝ラ涔熶竴鏍峰彲浠ヨ窇鐨勯氥?/span>
闇瑕佺殑鏂囦歡錛?/span>
ü Jdk6
ü Tomcat
ü cas-server-3.3.2
ü cas-client-3.1.9
涓嬮潰鏄?/span>keytool鍛戒護(hù)鐨勪竴浜涘父鐢ㄦ柟娉曪紝鍏堝湪榪欓噷璁よ瘑涓涓嬪畠浠紝涓浼?xì)鍎夸細(xì)鐢ㄧ殑鍒般?/span>
浣跨敤keytool鍛戒護(hù)鐢熸垚瀵嗛挜搴?/span>
keytool -genkey -alias tomcat -keyalg RSA -dname "CN=pcma, OU=vanceinfo, O=vanceinfo, L=haidian, S=beijing, C=CN" -keystore c:"keystore5.jks
CN錛氫富鏈哄悕
OU錛氱粍緇囧崟浣?/span>
O錛氱粍緇?/span>
L錛氬湴鍖?/span>
S錛氬煄甯?/span>
C錛氬浗瀹?br />
濡傛灉闇瑕佹寚瀹氬瘑閽ユ湁鏁堟湡錛屾坊鍔?validity 365鍗沖彲錛屽崟浣嶆槸澶╋紝濡傦細(xì)
keytool -genkey -alias tomcat -keyalg RSA -dname "xxxxx" -keystore xxxxx -validity 365
瀵煎嚭璇佷功
keytool -export -file c:/server5.crt -alias tomcat -keystore c:"keystore5.jks
灝嗚瘉涔﹀鍏ュ埌瀹㈡埛绔?/span>jdk
keytool -import -keystore "D:"Java"jdk1.6.0_14"jre"lib"security"cacerts" -file c:/server5.crt -alias tomcat
浠庡瘑閽ュ簱涓垹闄ゆ寚瀹氬埆鍚嶇殑璇佷功
keytool -delete -noprompt -alias tomcat -keystore E:"apache-tomcat-6.0.20_2"conf"keystore2.jks
鏌ョ湅瀵嗛挜搴撲腑鐨勮瘉涔?/span>
keytool -list -v -keystore c:"keystore5.jks
浣跨敤keytool鍛戒護(hù)鐢熸垚瀵嗛挜搴撱?/span>
閰嶇疆%tomcat_home%/conf/server.xml浣?/span>tomcat鏀寔SSL鍗忚錛屽茍鎸囧畾瀵嗛挜搴撱?/span>
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystorePass="mashiguang"
keystoreFile="${catalina.home}/conf/keystore5.jks"/>
瑙e帇緙?/span>cas-server-3.3.2-release.zip鏂囦歡錛屽湪modules鐩綍閲屾壘鍒?/span>cas-server-webapp-3.3.2.war鏂囦歡錛岃繖灝辨槸涓涓仛濂戒簡(jiǎn)鐨?/span>cas鏈嶅姟绔紝鎴戜滑鍋氱殑sso helloword鍙互鐩存帴浣跨敤錛屽彧闇鎶?/span>cas-server-webapp-3.3.2.war鏀逛簡(jiǎn)涓畝鍗曠偣鐨勫悕瀛楋紝濡?/span>cas.war錛岀劧鍚庨儴緗插埌tomcat鍗沖彲銆?/span>
嫻忚鍣ㄨ闂?/span>https://pcma:8443/cas錛屽鏋滄墦寮鏄劇ず鐨勬槸cas榛樿鐨勭櫥褰曢〉闈紝鍒欒〃紺烘湇鍔$宸查儴緗插畬姣曘?/span>
鏂板緩涓や釜web宸ョ▼錛岀敤浜庢ā鎷熷崟鐐圭櫥褰曠郴緇熶腑鐨勫鎴風(fēng)錛屽茍灝?/span>cas-client-3.1.9"modules閲岀殑jar鍖呮斁鍒?/span>web宸ョ▼lib鐩綍涓嬶紝鏄富瑕佺殑鏄?/span>cas-client-core-3.1.9.jar鏂囦歡錛屾妸spring2.5涔熸斁鍒?/span>lib鐩綍涓嬨?/span>
Web.xml鏂囦歡
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/config/casContext.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- 璐熻矗鐢ㄦ埛璁よ瘉 -->
<filter>
<filter-name>CAS Authentication Filter</filter-name>
<filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
<!-- CAS login 鏈嶅姟鍦板潃-->
<init-param>
<param-name>casServerLoginUrl</param-name>
<param-value>https://pcma:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>renew</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>gateway</param-name>
<param-value>false</param-value>
</init-param>
<!-- 瀹㈡埛绔簲鐢ㄦ湇鍔″湴鍧-->
<init-param>
<param-name>serverName</param-name>
<param-value>http://pcma:8081</param-value>
</init-param>
</filter>
<!--璐熻矗Ticket鏍¢獙-->
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>cas.validationfilter</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
casContext.xml鏂囦歡
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="cas.validationfilter" class="org.jasig.cas.client.validation.Cas10TicketValidationFilter">
<property name="ticketValidator">
<ref bean="cas10TicketValidator"/>
</property>
<property name="useSession">
<value>true</value>
</property>
<!-- 瀹㈡埛绔簲鐢ㄦ湇鍔″湴鍧-->
<property name="serverName">
<value>http://pcma:8081</value>
</property>
<property name="redirectAfterValidation">
<value>true</value>
</property>
</bean>
<bean id="cas10TicketValidator" class="org.jasig.cas.client.validation.Cas10TicketValidator">
<!-- 榪欓噷鍙傛暟鏄?/span>cas鏈嶅姟鍣ㄧ殑鍦板潃-->
<constructor-arg index="0" value="https://pcma:8443/cas" />
</bean>
</beans>
鏂板緩index.jsp鏂囦歡
<body>
hello sso<br>
<a >sso2</a>榪欎釜鍦板潃鏄彟澶栦竴鍙版満鍣ㄤ笂鐨?/span>sso瀹㈡埛绔?/span>
</body>
涓婇潰鐨?/span>web.xml銆?/span>casContext.xml銆?/span>index.jsp鏄袱涓鎴風(fēng)涓殑涓涓紝鍙︿竴涓鏍規(guī)嵁瀹為檯鎯呭喌淇敼銆?/span>
鏈鍚庝笉瑕佸繕璁板鎴風(fēng)鐨?/span>jdk瑕佷嬌鐢?/span>keytool鍛戒護(hù)瀵煎叆璇佷功鏂囦歡銆?/span>
鍚姩tomcat錛屾祴璇曞櫒璁塊棶http://pcma:8081/sso錛屽嚭鐜?/span>cas鐧誨綍欏甸潰錛岃緭鍏ョ浉鍚岀殑鐢ㄦ埛鍚嶅拰瀵嗙爜鍗沖彲鐧誨綍錛岀櫥褰曟垚鍔熷悗欏甸潰鑷姩璺寵漿鍥?/span>http://pcma:8081/sso錛岃繖鏃剁偣鍑婚〉闈笂鐨?/span>sso2閾炬帴錛屽氨鍙互鑷姩鐧誨綍騫惰煩杞埌sso2搴旂敤銆?/span>
濡傛灉杈撳叆鐢ㄦ埛鍚嶅瘑鐮佸悗鎻愮ず涓嬮潰鐨勫紓甯革紝鏄洜涓洪儴緗插鎴風(fēng)鐨?/span>jdk娌℃湁瀵煎叆璇佷功鏂囦歡鐨勫師鍥犮?/span>
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
婧愮爜
http://www.tkk7.com/Files/mashiguang/sso.zip
鍏跺疄鍙互璁╂暟鎹簱鑷繁璁$畻鎺掕姒滐紝騫舵妸璁$畻緇撴灉淇濆瓨鍒頒竴涓崟鐙殑琛ㄩ噷鍘伙紝榪欎釜琛ㄥ彧鐢ㄦ潵淇濆瓨鎺掕姒滅殑鏁版嵁錛屾暟鎹噺寰堝皬錛岀劧鍚庢墍鏈夌殑鎺掕姒滄煡璇㈤兘鍘?/span>select榪欎釜琛ㄣ?/span>
璁$畻鎺掕姒滅殑鍔熻兘鎴戜滑鍙互鍐欐垚涓涓瓨鍌ㄨ繃紼嬶紝浣嗘槸鎺掕姒滅殑鏁版嵁涓嶆槸涓鎴愪笉鍙樼殑錛岃繕闇瑕佷笉鏃剁殑璋冪敤榪欎釜瀛樺偍榪囩▼鎵嶈錛?/span>oracle涓烘垜浠彁渚涗簡(jiǎn)dbms_jobs銆?/span>
oracel dbms_jobs鍖呭彲浠ユ彁浜や綔涓氬埌浣滀笟闃熷垪涓紝榪欎釜鍖呬腑榪樻彁渚涘叾瀹冧竴浜涘嚱鏁扮鐞嗕互鍓嶆彁浜ょ殑浣滀笟錛屽瀵逛綔涓氳繘琛屼慨鏀廣佺姝㈡垨鍒犻櫎絳夋搷浣溿?/span>
甯哥敤鍑芥暟錛?/span>
submit()錛屾彁浜や綔涓氬埌浣滀笟闃熷垪銆?/span>
isumbit()錛?/span>
remove()錛屼粠浣滀笟闃熷垪涓垹闄や綔涓氥?/span>
change()錛屾敼鍙樺凡鏈変綔涓氱殑鍙傛暟銆?/span>
what()錛屾敼鍙樹綔涓氳鎵ц鐨勪唬鐮併?/span>
next_date()錛屾敼鍙樹綔涓氫笅涓嬈℃墽琛屾椂闂淬?/span>
interval()錛屾敼鍙樹綔涓氭墽琛岀殑鏃墮棿闂撮殧銆?/span>
broken()錛屾殏鍋滄墽琛屼綔涓氥?/span>
run()錛屽己鍒舵墽琛屼綔涓氥?/span>
鏈甯哥敤鐨?/span>submit()鍑芥暟錛?/span>
dbms_jobs.submit(
job out binary_integer,
what in varchar2,
next_date in date default sysdate,
interval in varchar default null,
no_parse in boolean default false,
instance in binary_integer default any_instance,
force in boolean default false
);
submit鍑芥暟鍙傛暟錛?/span>
job錛屼綔涓氱殑浣滀笟鍙鳳紝鏄釜杈撳嚭鍙傛暟錛屾墍浠ヨ皟鐢?/span>submit鍑芥暟鏃訛紝榪欎釜鍙傛暟瑕佹寚瀹氫竴涓凡瀛樺湪鐨勫彉閲忋?/span>
what錛屼綔涓氳鎵ц鐨勪唬鐮侊紝涓鑸槸瀛樺偍榪囩▼銆?/span>
next_date錛屼笅涓嬈′綔涓氳繍琛岀殑鏃ユ湡銆?/span>
interval錛?span style="color: red">浣滀笟鎵ц鐨勯棿闅旀椂闂達(dá)紝榪欎釜鍙傛暟榛樿鍊兼槸null錛?/span>涔熷氨鏄?/span>what鎸囧畾鐨勪唬鐮佸彧鍦?/span>next_date榪欎竴鏃墮棿鎵ц涓嬈°?/span>
no_parse錛岄粯璁ゅ兼槸false錛屽綋鍙傛暟鍊兼槸false錛屾彁浜や綔涓氭椂灝卞what鎸囧畾鐨勪唬鐮佽繘琛岃娉曞垎鏋愶紱褰撳弬鏁板兼槸true錛岀涓嬈¤繍琛?/span>what鎸囧畾浠g爜鏃舵墠榪涜璇硶鍒嗘瀽銆?/span>
instance錛屾寚鏄庤繍琛屼綔涓氱殑鏁版嵁搴撳疄渚嬨?/span>
force錛屽鏋滄槸true,instance鍙互鏄換浣曟鏁幫紱濡傛灉鏄?/span>false錛?/span>instance鎸囧畾鐨勫疄渚嬪繀欏繪鍦ㄨ繍琛屻?/span>
紺轟緥錛?/span>
var jobno number;
begin
dbms_job.submit(:jobno,'p_xxx_taxis;',trunc(sysdate)+(18/24),'trunc(sysdate+1,''hh'')');--姣忓ぉ18鐐規(guī)墽琛?/span>
commit;
end;
涓婇潰榪欐璇濊鍦?/span> 鍛戒護(hù)紿楀彛 涓嬭繍琛?/span>,濡傚湪pl/sql developer閲岄潰鐨?/span>-->鏂伴敭-->鍛戒護(hù)紿楀彛
榪欐牱灝變細(xì)鍦ㄦ瘡澶╃殑18鐐規(guī)墽琛屽瓨鍌ㄨ繃紼?/span>p_xxx_taxis銆傚湪鎴戣繖閲?/span>p_xxx_taxis鎵ц鐨勬槸璁$畻鎺掕姒滅殑浠誨姟銆?/span>