- 浏览: 63508 次
- 性别:
- 来自: 四川
最新评论
使用HttpURLConnection类(利用sessionId保持会话
package nj.servlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class TestServlet extends HttpServlet {
public void doPost(HttpServletRequest request,HttpServletResponse response){
HttpSession session=request.getSession();
String str=(String)session.getAttribute("name");
System.out.println("name:"+str);
session.setAttribute("name", "nj");
/*String ss=request.getHeader("Cookie");
System.out.println("session id:"+ss);*/
}
public void doGet(HttpServletRequest request,HttpServletResponse response){
this.doPost(request, response);
}
}
TestServlet.java
package nj.ws.test;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class TestConnection {
public static void main(String[] args){
//第一次连接,返回session id
String sessionId=testUrlConnection();
//第二次使用session id连接
connectionBySession(sessionId);
}
public static String testUrlConnection(){
String urlStr="Http://localhost:8080/WebServiceProject/testServlet";
OutputStream out=null;
InputStream in=null;
try {
URL url=new URL(urlStr);
HttpURLConnection con=(HttpURLConnection)url.openConnection();
con.setRequestMethod("POST");
//打印请求头信息
Map hfs=con.getHeaderFields();
Set<String> keys=hfs.keySet();
for(String str:keys){
List<String> vs=(List)hfs.get(str);
System.out.print(str+":");
for(String v:vs){
System.out.print(v+"/t");
}
System.out.println();
}
System.out.println("-----------------------");
String cookieValue=con.getHeaderField("Set-Cookie");
System.out.println("cookie value:"+cookieValue);
String sessionId=cookieValue.substring(0, cookieValue.indexOf(";"));
return sessionId;
} catch (Exception e) {
e.printStackTrace();
return null;
}finally{
try {
if(in!=null)
in.close();
if(out!=null)
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void connectionBySession(String sessionId){
InputStream in=null;
try{
String url="Http://localhost:8080/WebServiceProject/testServlet";
URL u=new URL(url);
HttpURLConnection con=(HttpURLConnection)u.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Cookie", sessionId);
in=con.getInputStream();
}catch(Exception e){
e.printStackTrace();
}finally{
try {
if(in!=null)
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
发表评论
-
struts2 中获取 web资源的方式
2016-01-08 17:02 534在struts2中获取 web资源的方式大致可分为获取扩展 ... -
sql server、db2、oracle 存储过程动态sql语句示例
2015-01-31 19:00 1842Oracle CREATE OR REPLACE PRO ... -
ie9 中出现不明的异常(参数是必选项 (Argument not optional)、尚未实现)等
2015-01-27 23:57 1311<script type="text/jav ... -
SAXParseException: The content of element type "configuration" must match
2014-09-15 23:57 1967在mybatis的配置文件中新增加<databaseI ... -
java.lang.ClassNotFoundException: Cannot find class: DB_VENDOR
2014-09-15 23:45 2007在mybatis 中使用databaseIdProvide ... -
spring mvc3 + fastjson 转换 REST 参数以及输出
2014-03-27 00:16 4253spring 3可以支持Rest风格参数,其内置了jack ... -
eclipse中编辑log4j 的xml配置文件时,自动提示
2014-03-27 00:05 894方法1. 配置log4j.dtd文件: Windows - ... -
java json 转换之 Jackson 框架
2013-08-01 21:50 1170转自:http://www.cnblogs.com/hooj ... -
eclipse/myeclise 自定义注释中的变量名称
2013-07-01 23:18 974eclipse/myeclipse中自带了 ... -
Eclipse Class Decompiler——Java反编译插件
2012-11-08 22:41 1241Eclipse Class Decompiler,整 ... -
struts+spring+hibernate整合问题解决方法 陆续更新中....
2009-01-01 10:33 882在整合ssh过程中出现的问题和解决方法: 一、 严重: Ser ... -
DWR通过Annotation与spring整合
2009-01-21 22:05 668DWR 2.0 增加了一个很有趣的新特性,Annotat ... -
div嵌套页面 div加载页面 (其中获取目标页面的内容是用dwr框架连接java程序做的)
2009-03-15 16:58 659前段时间因为有需要,要在div中加载一个页面。但是以前没做过, ... -
tapestry autocomplete 更改样式及定位
2009-07-09 19:02 722版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文 ... -
Java中的main()方法详解
2009-07-12 16:23 653源文作者:leizhimin 源文链接:http:/ ... -
tapestry5 集成 spring 的事务管理
2009-07-22 15:43 601说明:使用的是tapestry5.1.0.5 和spring ... -
tapestry5 布局 参数的处理
2009-07-23 17:24 434<?xml version="1.0" ... -
tapestry不支持 等html特殊符号的解决方法
2009-07-23 17:34 547在使用tapestry时,偶然发现使用 &a ... -
WebService大讲堂之Axis2(1):用POJO实现0配置的WebService
2009-07-28 15:01 431转自:http://space.itpub.net ... -
WebService大讲堂之Axis2(2):复合类型数据的传递
2009-07-28 15:25 521转自:http://space.itpub.net/12921 ...
相关推荐
在Java中,HttpURLConnection并不直接支持session管理,所以我们需要手动处理Cookie。以下是一种实现方式: 1. 创建Cookie管理器: 首先,我们需要创建一个`CookieManager`实例,并设置到`java.net.CookieHandler`...
标题中的“http info, tool, HttpURLConnection”提示我们讨论的核心是HTTP信息获取、工具以及Java中的...通过这个基础,你可以进一步学习如何处理HTTP会话管理、身份验证、请求超时等问题,从而提升你的网络编程技能。
9. **依赖管理**:使用构建工具如Maven或Gradle来管理项目的依赖关系,保证所有需要的库都能正确引入。 通过以上分析,我们可以推测“SendTencentMessage”这个文件可能包含了整个批量发送的逻辑,包括了连接建立、...
在Java编程中,`java.net.HttpURLConnection`是用于处理HTTP协议的基本类,它提供了一种与HTTP...然而,对于更复杂的场景,例如处理重定向、管理会话、处理认证等,可能需要配合其他库,如Apache HttpClient或OkHttp。
在Android开发中,当使用HttpURLConnection与Web服务器进行通信时,常常遇到的一个问题是无法正确保持session,导致每次请求都被服务器视为新的独立会话。这主要由于HTTP协议本身的无状态特性,以及Android客户端与...
需要注意的是,这种方式适用于简单的Cookie管理,如果服务器使用了更复杂的会话管理机制(如Session ID),可能需要额外的处理。同时,随着HTTPS的普及,考虑使用OkHttp这样的第三方库,它们提供了更好的Cookie管理...
`SSLContext`是SSL/TLS安全套接层的核心,它负责管理和初始化SSL会话。`TrustManager`是负责验证服务器证书的接口。在默认情况下,`httpclient`会使用系统提供的`TrustManager`,这会严格检查服务器证书链是否可信任...
这个"cookieTest"项目是一个示例,展示了如何在Android应用程序中处理和管理Cookie,这对于实现会话管理和用户认证等功能至关重要。下面将详细介绍Cookie的概念、在Android中的使用以及与之相关的知识点。 1. **...
1. 使用HttpURLConnection:Android原生的HttpURLConnection并不直接支持Cookie管理,但可以通过设置请求头手动处理。首先,你需要从响应头中解析出Set-Cookie字段,然后在下次请求时将Cookie添加到请求头的Cookie...
`AndroidHttpSession`这个实例主要关注的是如何在Android应用中利用HttpURLConnection实现会话(Session)保持,以处理登录状态和验证码获取等问题。下面我们将深入探讨相关知识点。 1. **HttpURLConnection**: ...
5. **会话与状态管理**:(day06)会话与状态.ppt - 在Web应用中,会话管理是保持用户状态的关键。这部分可能讨论了Cookie、Session以及URL重写等技术,以及它们在会话跟踪中的应用。 6. **JSP(JavaServer Pages)**...
1. 会话管理:Cookie是维持用户会话的关键,例如,登录状态的保持。当用户登录后,服务器会返回一个包含登录信息的Cookie,客户端保存这个Cookie,之后的每次请求都会携带这个Cookie,服务器识别到这个Cookie就知道...
总的来说,通达OA自动登陆代码(JDK6版)是一个实用的工具,它利用Java语言的网络和会话管理能力,实现了与OA系统的交互,简化了用户的登录流程。开发者需要对Java网络编程有深入的理解,以及一定的HTML解析经验,...
10. **网络通信**:为了与七鱼服务器进行交互,可能使用了`HttpURLConnection`或第三方库如OkHttp进行HTTP请求,获取或发送会话记录数据。 `README.txt`文件通常会包含以下内容: 1. **项目简介**:简单介绍项目的...
本篇文章将深入探讨如何使用Java访问.NET Web服务,并在过程中获取和设置Cookie,以便实现更高效、安全的会话管理。首先,让我们理解Web服务的基本概念。 Web服务是一种通过HTTP协议提供功能的方法,使得不同系统间...
Java的`HttpURLConnection`类虽然可以处理基本的Cookie,但复杂的会话管理可能需要使用第三方库,如Apache HttpClient。`test.java`中可能会有如何保存和发送Cookie,保持会话状态的代码。 `test.java`文件还可能...
在Tomcat中,会话管理可以通过`web.xml`配置,例如设置会话超时、是否启用跨域会话等。同时,确保服务器允许客户端发送`jsessionId`,这通常默认是开启的,但如果遇到问题,可能需要检查服务器配置。 总结,Android...
总之,模拟百度登录是一个涉及网络请求、HTML解析、数据提交和会话管理的综合过程。在实际应用中,需要根据具体网站的登录机制进行适配,确保登录过程的安全和有效。通过学习和实践这个过程,不仅可以加深对HTTP协议...
在Android开发中,登录功能是应用的基本组成部分,而Cookie机制在实现用户会话管理中扮演着重要角色。本文将深入探讨如何在Android环境下利用Cookie进行登录处理,以及如何进行Cookie的读写操作。 Cookie是一种小型...
总的来说,Android网络编程涉及多个方面,包括但不限于使用`HttpURLConnection`进行HTTP通信、处理权限、发送GET和POST请求、以及管理会话状态。理解并熟练运用这些技术,开发者可以构建能够与服务器进行交互的...