java 模拟jsp页面action的post请求的问题

sinklife2012 2013-01-14 03:47:21
请求页面为http://localhost:8080/test/admin.jsp,程序发送post请求的是test/login.action.下面是我的请求代码
String path = http://localhost:8080/test/admin.jsp; URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection)url.openConnection(); connection.setDoOutput(true); connection.setRequestMethod("POST"); OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write(new String("admin=admin&password=admin".getBytes("ISO-8859-1")));
out.flush();
out.close();
InputStream l_urlStream;
l_urlStream = connection.getInputStream();
BufferedReader breader = new BufferedReader(new InputStreamReader(l_urlStream));
String line = null;
while ((line = breader.readLine()) != null) {
sb.append(line);}
return sb.toString();
我这么些没有得到登陆后界面的返回信息,依然返回admin.jsp的页面信息。
求大神帮我看看程序哪个地方的问题
...全文
439 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
suciver 2013-01-20
  • 打赏
  • 举报
回复
私聊?怎么私聊。
sinklife2012 2013-01-20
  • 打赏
  • 举报
回复
引用 4 楼 suciver 的回复:
你是不是有登陆拦截啊。如果有的话,你请求完登陆页,要把sessionid拿过来,也就是cookie。 String cookie=connection.getHeaderField("Set-Cookie");//这里面还包含了其它信息 cookie=cookie.substring(0,cookie.indexOf(";"));//第一个;结束的之前的就都是sessionId了 这样就能得……
前辈,这个方法试过了还是没办法行通,如果前辈有时间可否私聊指导我一下呢?
比特灵 2013-01-16
  • 打赏
  • 举报
回复
引用 4 楼 suciver 的回复:
你是不是有登陆拦截啊。如果有的话,你请求完登陆页,要把sessionid拿过来,也就是cookie。 String cookie=connection.getHeaderField("Set-Cookie");//这里面还包含了其它信息 cookie=cookie.substring(0,cookie.indexOf(";"));//第一个;结束的之前的就都是sess……
对的,这个要测试一下。
suciver 2013-01-16
  • 打赏
  • 举报
回复
你是不是有登陆拦截啊。如果有的话,你请求完登陆页,要把sessionid拿过来,也就是cookie。 String cookie=connection.getHeaderField("Set-Cookie");//这里面还包含了其它信息 cookie=cookie.substring(0,cookie.indexOf(";"));//第一个;结束的之前的就都是sessionId了 这样就能得到登陆后的sessionId以后你其它的页面请求之时就要跟上这个cookie。在connection的属性里添加 connection.setRequestProperty("Cookie",cookie); 设置了这个之后,后面的请求就都你能过拦截器了
sinklife2012 2013-01-16
  • 打赏
  • 举报
回复
引用 1 楼 justsmilence 的回复:
URL url = new URL(path);这个path应该是test/login.action的url吧 不应该是jsp页面的地址
引用 2 楼 dracularking 的回复:
引用 1 楼 justsmilence 的回复: URL url = new URL(path);这个path应该是test/login.action的url吧 不应该是jsp页面的地址 +1 能对请求作出所需响应的是action,而不是所在页面,整个请求过程与页面其实并无关联。
两位前辈,关于这一点我确实想过了,但是经过测试,我在网页如果直接输入http://localhost:8080/test/login.action的话,他会跳转到一个错误的页面,然后我不管POST什么,他都没有显示的... 还是说这个是程序本身的问题?没法再代码上解决呢?
dracularking 2013-01-15
  • 打赏
  • 举报
回复
引用 1 楼 justsmilence 的回复:
URL url = new URL(path);这个path应该是test/login.action的url吧 不应该是jsp页面的地址
+1 能对请求作出所需响应的是action,而不是所在页面,整个请求过程与页面其实并无关联。
  • 打赏
  • 举报
回复
URL url = new URL(path);这个path应该是test/login.action的url吧 不应该是jsp页面的地址

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧