作者LaPass (LaPass)
看板java
標題[J2SE] jsp之間有沒有辦法互相溝通?
時間Tue Jul 24 22:38:14 2012
如標題
在web伺服器運作的時候,jsp會被建立一個實體
並一直以這個實體處理各種請求,直到伺服器關閉為止
以我對java web的認知是這樣....
那,在運行的時候,有沒有可能取得其他jsp或是servlet的運行實體?
例如....
test1.jsp
<%!
int x=1;
public void setX(int x)
{
this.x=x;
}
%>
X=<%=x %>
test2.jsp
<%
//取得test1.jsp的運行實體,並命名為test1
test1.setX(5);
%>
那麼
在tomcat第一次執行test1.jsp時
會顯示
X=1
但如果執行過test2.jsp後再執行test1.jsp
則會顯示
X=5
我知道用application可以解決我上面問的問題
但我在考慮的是另一種狀況
例如在test1.jsp有個
物件,甚至是
執行緒專門在處理某些事
在test2.jsp動用那些部份的東西時,可以去呼叫test1.jsp中的物件(或執行緒)去處理
之類的
請問有辦法嗎?
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.38.74.195
1F:推 PsMonkey:用 MVC 概念切一切,你可以不用煩惱這種事情 07/25 09:16
2F:→ LaPass:等我開始弄自己的系統後再說吧,如果系統有先天性的問題, 07/25 10:14
3F:→ LaPass:就只能用更有問題的方式解決.... 07/25 10:16
4F:推 GALINE:聽起來像是有人正在跟一萬行的 jsp 打架? 07/25 11:15
5F:推 GALINE:古代*好像*能 getServletContext().getServlet("xxxx_jsp") 07/25 11:19
6F:→ LaPass:更慘..... 是累積將近十年份量的jsp 07/25 11:19
7F:→ GALINE:但這上個世紀就廢棄了,理由好像是不想讓開發者這麼做... 07/25 11:20
8F:推 GALINE:試了一下,Class.forName 好像也只能叫到自己叫不到別人 07/25 11:37
9F:→ LaPass:繼續ctrl+c ctrl+v Q_Q 07/25 11:41
10F:推 swpoker:老實說~除了剛開始碰JSP有這種想法外~已經很久沒這樣想了 07/27 13:29
11F:→ LaPass:囧..... 07/27 13:38
12F:推 anlick:在jspInit把jsp1實體放入application,再從jsp2取出? 07/29 11:42