Re: [J2SE] jsp之間有沒有辦法互相溝通?

看板java作者 (路人酒菜)時間12年前 (2012/07/28 23:11), 編輯推噓2(202)
留言4則, 4人參與, 最新討論串2/3 (看更多)
如果要達成效果 可以用 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&param=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
直接把 x 放 session scope 呢?
07/29 03:08, 3F

07/29 07:28, , 4F
直接用HTMLUNIT抓吧?
07/29 07:28, 4F
文章代碼(AID): #1G504nwC (java)
文章代碼(AID): #1G504nwC (java)