JAVA中访问一个页面后如何用当前SESSION接着访问同一站点的另一页面?

时间:2022-11-23 09:50:37
JAVA中访问一个页面后如何用当前SESSION接着访问同一站点的另一页面?

26 个解决方案

#1


你是指另外再打开一个新窗口来访问同一站点的另一个页面吗?还是于当前窗口直接转到另一页面中?
如果是当前窗口直接转向的话,那只要浏览器支持cookie就可以。如果是新窗口的话,就用servlet实现这些页面,把session设成servlet类的成员变量就可以了。

#2



response.sendRedirect((String)session.getAttribute("goNewURL"));  ?

#3


session.setAttribute("name"'para)-------->session.getAttribute("name");

#4


我是要在写的JAVA程序中来访问页面。先访问A页面,然后再用访问A页面时的session访问B页面。

#5


是在客户端而不是在服务端

#6


你是指的重新开一个IE窗口,输入URL访问马?

#7


是在JAVA程序中

#8


请高人相助

#9


自己顶

#10


学习,关注

#11


只要保持了session ID 就可以了.
你可以用隐藏域

#12


up...

怎样将sessionid传递到服务端?

#13


session本身就是服务器端的!

#14


怎样保持这个session会话!靠。。session是服务端的,我还不知道啊!

#15


这个本来就不是问题呀,本来就是同一个Session

#16


搂主基本功有待提高哦

#17


哎,我说的这个问题不是指b/s结构的方式,我是用java来开发一个客户端,用这个客户端来登陆服务端的jsp,在通过验证之后,再访问其他的jsp并传递参数给它,实现一些后台的操作。。就是这样的一个过程。。我现在的问题是:第一步已经成功,并且我获得了sessionid,但是我在下一步的操作过程,却无法将前一次操作获得的sessionid传递回去。

我贴出一些代码在这里,供大家分析:

//获得返回的结果(登陆)
private boolean getResultStr_1(String s_url,String s_user,String s_pass)
{
int t = 0;
String sCurrentLine = "";
boolean b = true;
try
{
InputStream l_urlStream;
URL l_url = new URL(s_url);
HttpURLConnection l_connection = (HttpURLConnection)l_url.openConnection();
l_connection.setDoOutput(true);
l_connection.setDoInput(true);
l_connection.setFollowRedirects(true);
l_connection.setRequestMethod("POST");
PrintWriter out = new PrintWriter(l_connection.getOutputStream());
out.print("ACTION=LOGIN&ENTERPRISE=" + s_user + "&LOGIN=" + s_user + "&PASSWORD=" + s_pass);
out.close();
l_connection.connect();

String key = "Set-Cookie";
sessionid = l_connection.getHeaderField(key);
sessionid = sessionid.split(";")[0];
sessionid = sessionid.split("=")[1];
System.out.println("sessionid = " + sessionid);

return true;
}
catch (Exception e)
{
System.out.print(e.getMessage());
}
return false;
}



//获得返回的结果(发送消息)
private boolean getResultStr_2(String s_url,String s_mobile,String s_content)
{
int t = 0;
String sCurrentLine = "";
boolean b = true;
try
{
InputStream l_urlStream;
URL l_url = new URL(s_url);
HttpURLConnection l_connection = (HttpURLConnection)l_url.openConnection();
l_connection.setDoOutput(true);
l_connection.setDoInput(true);
l_connection.setFollowRedirects(true);
l_connection.setRequestMethod("POST");
l_connection.setRequestProperty("Cookie", value);
PrintWriter out = new PrintWriter(l_connection.getOutputStream());
out.print("toMobile=" + s_mobile + "&message=" + s_content);

out.close();
l_connection.connect();
return true;
}
catch (Exception e)
{
System.out.print(e.getMessage());
}
return false;
}

#18


补充说明:上面的getResultStr_1()接口 和getResultStr_2()接口中的sessionid 和value是同一个值,都是sessionid。

#19


yesir_xiaoye(为什么老是没有时间学习呢?) ( ) 信誉:75  2004-10-26 14:06:00  得分: 0  
 
 
   怎样保持这个session会话!靠。。session是服务端的,我还不知道啊!
  
 
我看上面说的意思,还以为……

#20


我发现不少朋友看别人提的问题时经常不仔细,希望看明白了再回帖,特别是回没用的帖子的人.

#21


out.print("ACTION=LOGIN&ENTERPRISE=" + s_user + "&LOGIN=" + s_user + "&PASSWORD=" + s_pass);


同样加个 &jsessionid=...............
很多保险的服务器都是用这种

#22


推荐你本书吧,你能提出这样的问题是该补补基础:
Servlet与JSP核心编程(第2版)  
http://www.china-pub.com/computers/common/info.asp?id=19931

这可是吐血推荐啊

#23


xiaoguaiwei(巍) ( ) 信誉:100  2004-10-26 21:33:00  得分: 0  
 
 
   我发现不少朋友看别人提的问题时经常不仔细,希望看明白了再回帖,特别是回没用的帖子的人.
  
 
再次致以真挚的歉意!

#24


还有就是想说一下,回帖最少能把帖子往上顶,这才是最大的用处!

#25


回复人: progra(荆棘鸟) ( ) 信誉:100  2004-10-26 23:23:00  得分: 0  
 
 
   推荐你本书吧,你能提出这样的问题是该补补基础:
Servlet与JSP核心编程(第2版)  
http://www.china-pub.com/computers/common/info.asp?id=19931

这可是吐血推荐啊
  
===================================================================
这个问题和servlet与JSP有什么关系?我要写的是JAVA程序!! 

#26


看来CSDN中是无人能会了,没有办法,我只好用JNI来调用VC实现了.

另外,这人帖子里很多人说我要加强基本功,也许你们是对的,但我要说的是,不知道你们是否应加强JAVA的基本功,但你们一定需要加强汉语的基本功,如果连汉语都没学好怎么和别人交流?

#1


你是指另外再打开一个新窗口来访问同一站点的另一个页面吗?还是于当前窗口直接转到另一页面中?
如果是当前窗口直接转向的话,那只要浏览器支持cookie就可以。如果是新窗口的话,就用servlet实现这些页面,把session设成servlet类的成员变量就可以了。

#2



response.sendRedirect((String)session.getAttribute("goNewURL"));  ?

#3


session.setAttribute("name"'para)-------->session.getAttribute("name");

#4


我是要在写的JAVA程序中来访问页面。先访问A页面,然后再用访问A页面时的session访问B页面。

#5


是在客户端而不是在服务端

#6


你是指的重新开一个IE窗口,输入URL访问马?

#7


是在JAVA程序中

#8


请高人相助

#9


自己顶

#10


学习,关注

#11


只要保持了session ID 就可以了.
你可以用隐藏域

#12


up...

怎样将sessionid传递到服务端?

#13


session本身就是服务器端的!

#14


怎样保持这个session会话!靠。。session是服务端的,我还不知道啊!

#15


这个本来就不是问题呀,本来就是同一个Session

#16


搂主基本功有待提高哦

#17


哎,我说的这个问题不是指b/s结构的方式,我是用java来开发一个客户端,用这个客户端来登陆服务端的jsp,在通过验证之后,再访问其他的jsp并传递参数给它,实现一些后台的操作。。就是这样的一个过程。。我现在的问题是:第一步已经成功,并且我获得了sessionid,但是我在下一步的操作过程,却无法将前一次操作获得的sessionid传递回去。

我贴出一些代码在这里,供大家分析:

//获得返回的结果(登陆)
private boolean getResultStr_1(String s_url,String s_user,String s_pass)
{
int t = 0;
String sCurrentLine = "";
boolean b = true;
try
{
InputStream l_urlStream;
URL l_url = new URL(s_url);
HttpURLConnection l_connection = (HttpURLConnection)l_url.openConnection();
l_connection.setDoOutput(true);
l_connection.setDoInput(true);
l_connection.setFollowRedirects(true);
l_connection.setRequestMethod("POST");
PrintWriter out = new PrintWriter(l_connection.getOutputStream());
out.print("ACTION=LOGIN&ENTERPRISE=" + s_user + "&LOGIN=" + s_user + "&PASSWORD=" + s_pass);
out.close();
l_connection.connect();

String key = "Set-Cookie";
sessionid = l_connection.getHeaderField(key);
sessionid = sessionid.split(";")[0];
sessionid = sessionid.split("=")[1];
System.out.println("sessionid = " + sessionid);

return true;
}
catch (Exception e)
{
System.out.print(e.getMessage());
}
return false;
}



//获得返回的结果(发送消息)
private boolean getResultStr_2(String s_url,String s_mobile,String s_content)
{
int t = 0;
String sCurrentLine = "";
boolean b = true;
try
{
InputStream l_urlStream;
URL l_url = new URL(s_url);
HttpURLConnection l_connection = (HttpURLConnection)l_url.openConnection();
l_connection.setDoOutput(true);
l_connection.setDoInput(true);
l_connection.setFollowRedirects(true);
l_connection.setRequestMethod("POST");
l_connection.setRequestProperty("Cookie", value);
PrintWriter out = new PrintWriter(l_connection.getOutputStream());
out.print("toMobile=" + s_mobile + "&message=" + s_content);

out.close();
l_connection.connect();
return true;
}
catch (Exception e)
{
System.out.print(e.getMessage());
}
return false;
}

#18


补充说明:上面的getResultStr_1()接口 和getResultStr_2()接口中的sessionid 和value是同一个值,都是sessionid。

#19


yesir_xiaoye(为什么老是没有时间学习呢?) ( ) 信誉:75  2004-10-26 14:06:00  得分: 0  
 
 
   怎样保持这个session会话!靠。。session是服务端的,我还不知道啊!
  
 
我看上面说的意思,还以为……

#20


我发现不少朋友看别人提的问题时经常不仔细,希望看明白了再回帖,特别是回没用的帖子的人.

#21


out.print("ACTION=LOGIN&ENTERPRISE=" + s_user + "&LOGIN=" + s_user + "&PASSWORD=" + s_pass);


同样加个 &jsessionid=...............
很多保险的服务器都是用这种

#22


推荐你本书吧,你能提出这样的问题是该补补基础:
Servlet与JSP核心编程(第2版)  
http://www.china-pub.com/computers/common/info.asp?id=19931

这可是吐血推荐啊

#23


xiaoguaiwei(巍) ( ) 信誉:100  2004-10-26 21:33:00  得分: 0  
 
 
   我发现不少朋友看别人提的问题时经常不仔细,希望看明白了再回帖,特别是回没用的帖子的人.
  
 
再次致以真挚的歉意!

#24


还有就是想说一下,回帖最少能把帖子往上顶,这才是最大的用处!

#25


回复人: progra(荆棘鸟) ( ) 信誉:100  2004-10-26 23:23:00  得分: 0  
 
 
   推荐你本书吧,你能提出这样的问题是该补补基础:
Servlet与JSP核心编程(第2版)  
http://www.china-pub.com/computers/common/info.asp?id=19931

这可是吐血推荐啊
  
===================================================================
这个问题和servlet与JSP有什么关系?我要写的是JAVA程序!! 

#26


看来CSDN中是无人能会了,没有办法,我只好用JNI来调用VC实现了.

另外,这人帖子里很多人说我要加强基本功,也许你们是对的,但我要说的是,不知道你们是否应加强JAVA的基本功,但你们一定需要加强汉语的基本功,如果连汉语都没学好怎么和别人交流?