
2007年5月10日
正常的cookie只能在一個應用中共享,即一個cookie只能由創建它的應用獲得。
1.可在同一應用服務器內共享方法:設置cookie.setPath("/");
本機tomcat/webapp下面有兩個應用:cas和webapp_b,
1)原來在cas下面設置的cookie,在webapp_b下面獲取不到,path默認是產生cookie的應用的路徑。
2)若在cas下面設置cookie的時候,增加一條cookie.setPath("/");或者cookie.setPath("/webapp_b/");就可以在webapp_b下面獲取到cas設置的cookie了。
3)此處的參數,是相對于應用服務器存放應用的文件夾的根目錄而言的(比如tomcat下面的webapp),因此cookie.setPath("/");之后,可以在webapp文件夾下的所有應用共享cookie,而cookie.setPath("/webapp_b/");是指cas應用設置的cookie只能在webapp_b應用下的獲得,即便是產生這個cookie的cas應用也不可以。
4)設置cookie.setPath("/webapp_b/jsp")或者cookie.setPath("/webapp_b/jsp/")的時候,只有在webapp_b/jsp下面可以獲得cookie,在webapp_b下面但是在jsp文件夾外的都不能獲得cookie。
5)設置cookie.setPath("/webapp_b");,是指在webapp_b下面才可以使用cookie,這樣就不可以在產生cookie的應用cas下面獲取cookie了
6)有多條cookie.setPath("XXX");語句的時候,起作用的以最后一條為準。
6)設置多個path的方法???
2.跨域共享cookie的方法:設置cookie.setDomain(".jszx.com");
A機所在的域:home.langchao.com,A有應用cas
B機所在的域:jszx.com,B有應用webapp_b
1)在cas下面設置cookie的時候,增加cookie.setDomain(".jszx.com");,這樣在webapp_b下面就可以取到cookie。
2)這個參數必須以“.”開始。
3)輸入url訪問webapp_b的時候,必須輸入域名才能解析。比如說在A機器輸入:http://lc-bsp.jszx.com:8080/webapp_b,可以獲取cas在客戶端設置的cookie,而B機器訪問本機的應用,輸入:http://localhost:8080/webapp_b則不可以獲得cookie。
4)設置了cookie.setDomain(".jszx.com");,還可以在默認的home.langchao.com下面共享。
5)設置多個域的方法???
最近的工作經常用到cookie,看了一些資料,雖然原來依賴cookie比較多的方案已經改成現在這個了,但是當時看得一些東西還是最好記下來,免得過些天就一干二凈了,怪可惜的。老梁說過這樣的文字最好不要是純文本的,說得是。本來就已經很抽象了,最好弄點圖表,就算用123列出來也好
posted @
2007-10-30 09:10 Dragonofson 閱讀(9317) |
評論 (5) |
編輯 收藏
對于spring-modules-jbpm31對jbpm的支持。我開篇就想說一個"暈"字??赐炅藄pringmodules自己的說明文檔。進行配置后。再查看源碼。發現很多配置華而不實。比如:jbpmTemplate的配置。
bean id="jbpmTemplate" class="org.springmodules.workflow.jbpm31.JbpmTemplate">
<constructor-arg index="0" ref="jbpmConfiguration"/>
<constructor-arg index="1" ref="websaleWorkflow"/>
</bean>
<constructor-arg index="1" ref="websaleWorkflow"/>的配置。根本就沒有很好的必要性。從源碼就可以看出來。
而且jbpmTemplate對獲取jbpmcontext的封裝做的不好。在web程序里面??偸菚霈F錯誤。不是session關閉就是session不能提交。獲取不能很好的獲取流程對象。
個還好。還有地方需要部署的文件根本就沒部署上去
<bean id="websaleWorkflow" class="org.springmodules.workflow.jbpm31.definition.ProcessDefinitionFactoryBean">
<property name="definitionLocation" value="classpath:com/telemd/jbpm/processdefinition.xml"/>
</bean>
這里只部署了配置文件。圖形文件沒有部署上去。結果流程圖根本顯示不出來。調試了好久。
不過整體來說還有一點好處是:
<handler config-type="bean" class="
org.springmodules.workflow.jbpm31.JbpmHandlerProxy">
<targetBean>aduitDecide</targetBean>
<factoryKey>jbpmConfiguration</factoryKey>
</handl>
可以把jbpm的action類、handle類。通過spring容器來管理。而不是直接部署到數據庫端。可以更好的跟業務相結合
posted @
2007-06-19 09:49 Dragonofson 閱讀(2607) |
評論 (1) |
編輯 收藏
關鍵字: JBoss jbpm
Step 1 下載 jbpm-starters-kit-3.1.4 ,減壓: D:\jbpm-starters-kit-3.1.4 。
Step 2 在 Eclipse (已經安裝了 jbpm-designer 插件)里導入工程 D:\jbpm-starters-kit-3.1.4\jbpm ,如下圖:這時,你可以看到 JBPM 的源代碼和 Demo 的代碼。
Step 3 下載 mysql, 并且讓它啟動(參考如何啟動 Mysql 的資料),創建一個數據庫 jbpmdb 。并且執行腳本: D:\jbpm-starters-kit-3.1.4\jbpm-db\build\mysql\scripts\mysql.create.sql 。
Step 4 添加 Demo 默認的用戶數據,執行下面的腳本:
sql 代碼
- insert into JBPM_ID_USER (ID_, CLASS_, NAME_, EMAIL_, PASSWORD_)
- values
- ( ' 1 ' , ' U ' , ' cookie monster ' , ' cookie.monster@sesamestreet.tv ' , ' crunchcrunch ' ),
- ( ' 2 ' , ' U ' , ' ernie ' , ' ernie@sesamestreet.tv ' , ' canthereyoubert,theresabananainmyear ' ),
- ( ' 3 ' , ' U ' , ' bert ' , ' bert@sesamestreet.tv ' , ' ernie,theresabananainyourear ' );
- ( ' 4 ' , ' U ' , ' grover ' , ' grover@sesamestreet.tv ' , ' mayday mayday ' );
Step 5 下載 Tomcat5.5.17 ,并讓它啟動 ( 參考如何啟動 Tomcat 的資料 ) 。假設它在 D:\Tools\tomcat-5.5.17 。
Step 6 減壓 D:\jbpm-starters-kit-3.1.4\jbpm-server\server\jbpm\deploy\jbpm.war( 可以先修改 war 為 rar 擴展名 ) 。并把它復制到 D:\Tools\tomcat-5.5.17\webapps 目錄下:
Step 7 為 Jbpm 這個 context (在 Tomcat 的稱呼,其實就是一個應用),添加支持庫,一般都在 D:\jbpm-starters-kit-3.1.4 能搜索到,最后 D:\Tools\tomcat-5.5.17\webapps\jbpm\WEB-INF\lib 目錄下的文件有:
Step 8 為 Jbpm Demo 提供 3 個配置文件,在 D:\Tools\tomcat-5.5.17\webapps\jbpm\WEB-INF\classes 目錄下,添加 3 個文件: jbpm.cfg.xml 、 hibernate.cfg.xml 、 log4j.properties 。他們來自 D:\jbpm-starters-kit-3.1.4\jbpm\src\config.files 目錄, hibernate.cfg.xml 開頭需要做一些改動,如下代碼,顯然 mysql 的用戶 root 的密碼這里是空的:
xml 代碼
- <session-factory>
- <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
- <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
- <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpmdb</property>
- <property name="hibernate.connection.username">root</property>
- <property name="hibernate.connection.password"></property>
-
-
-
Step 9 為這個 Jbpm 的 context 發布默認的 Demo ( mysql 和 tomcat 都已啟動的時候)。在 Eclipse 中打開 processdefinition.xml ,如下圖所示的設置(這里的 tomcat 端口我改用 8082 ),先后電機 test connection 和 deploy process archive (實際這個過程是往數據庫里存放了一些數據)。
|
機制是訪問upload的servlet。讀入文件流。在往數據庫里面插入數據
總結:其實jbpm部署到tomcat上面還是jboss上面的區別不是很大。jbpm的部署主要是往jbpm數據庫里面添加數據。在從數據庫里面讀取數據。值得注意的是jbpm的Action等類也是以2進制格式存放到數據庫中。
posted @
2007-05-10 15:48 Dragonofson 閱讀(1570) |
評論 (0) |
編輯 收藏