Re: [J2SE] jsp之間有沒有辦法互相溝通?
如果要達成效果 可以用 HttpURLConnection 解
不過這方法很多問題沒有考慮 不建議使用~
test1.jsp
<%
String method = request.getParameter("targetMethod");
String param = request.getParameter("param");
if ("setX".equals(method)) {
int intParam = Integer.parseInt(param);
setX(intParam);
}
%>
<%!
int x=1;
public void setX(int x) {
this.x=x;
}
%>
X=<%=x %>
test2.jsp
<%@page import="java.io.InputStreamReader"%>
<%@page import="java.io.BufferedReader"%>
<%@page import="java.io.OutputStreamWriter"%>
<%@page import="java.net.HttpURLConnection"%>
<%@page import="java.net.URL"%>
<%
URL url = new
URL("http://localhost:8080/Test/test1.jsp?targetMethod=setX¶m=5");
HttpURLConnection URLConn = (HttpURLConnection) url.openConnection();
URLConn.setRequestMethod("GET"); //for HttpUrlConnetion
URLConn.setDoInput(true);
URLConn.setDoOutput(true);
URLConn.setRequestProperty("Content-Type", "test/html");
URLConn.connect();
URLConn.getOutputStream().flush();
OutputStreamWriter wr = new OutputStreamWriter(URLConn.getOutputStream(),
"UTF-8");
BufferedReader in = new BufferedReader(new
InputStreamReader(URLConn.getInputStream(), "UTF-8"));
StringBuffer sbResult = new StringBuffer();
String strTempLine = "";
while ((strTempLine = in.readLine()) != null) {
sbResult.append(strTempLine + "\r\n");
}
in.close();
%>
Done!
Result: <%= sbResult.toString() %>
※ 引述《LaPass (LaPass)》之銘言:
: 如標題
: 在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: 111.184.28.119
※ 編輯: joetsai 來自: 111.184.28.119 (07/28 23:15)
※ 編輯: joetsai 來自: 111.184.28.119 (07/28 23:16)
推
07/29 00:11, , 1F
07/29 00:11, 1F
→
07/29 00:28, , 2F
07/29 00:28, 2F
→
07/29 03:08, , 3F
07/29 03:08, 3F
推
07/29 07:28, , 4F
07/29 07:28, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):