Java Android中HTTPURLConnection与webview之间共享会话
我正在开发一个应用程序,它向服务器发送登录认证请求,当登录成功时,我在会话中设置用户名&我的会话被创建。我在webview上显示服务器的jsp页面,因此我的jsp页面需要会话,但它们找不到任何会话,因为它是由HTTPURLConnection创建的。因此,我想知道如何将HTTPURLConnection的会话共享到webview 设置会话的代码Java Android中HTTPURLConnection与webview之间共享会话,java,android,jsp,session,android-webview,Java,Android,Jsp,Session,Android Webview,我正在开发一个应用程序,它向服务器发送登录认证请求,当登录成功时,我在会话中设置用户名&我的会话被创建。我在webview上显示服务器的jsp页面,因此我的jsp页面需要会话,但它们找不到任何会话,因为它是由HTTPURLConnection创建的。因此,我想知道如何将HTTPURLConnection的会话共享到webview 设置会话的代码 String uname=request.getparameter("Username"); if(LoginSucesss) { sessio
String uname=request.getparameter("Username");
if(LoginSucesss)
{
session.setAttribute("uid",uname);
}
请不要把这个问题标记为重复,因为它是原始问题
提前感谢您可以同步cookies。我不想使用cookies。有什么出路吗?据我所知,我不认为soOk。我如何使用Cookie来实现它??必须在onCreate中写下代码。我在不同的clasees中有HTTPURLConnection和webview?这里的基本要点是展示它是如何实现的,现在取决于您应该如何实现它,但请记住在使用setContentViewR.layout.someLayout之前要做所有这些事情;我在android connection.getHeaderField中使用以下方法获取通过servlet设置的cookie,但如何将其传递给webview?ifucon.getResponseCode==HttpURLConnection.HTTP\u确定{String h=ucon.getHeaderFieldSet-Cookie;Log.iRAE,Cookie is=+h;Map headerFields=ucon.getHeaderFields;List cookiesHeader=headerFields.getSet-Cookie;forint i=0;iI如果您的webview位于另一个活动中,并且您希望在活动之间共享一些数据Cookie,则可以使用setArguments,也可以使用Android共享优先级来存储数据一段时间,然后清除数据,或者您可以创建一个实例类来跨多个活动和类使用数据
@Override
protected void onCreate(Bundle savedInstanceState) {
// Get cookie manager for WebView
// This must occur before setContentView() instantiates your WebView
android.webkit.CookieSyncManager webCookieSync =
CookieSyncManager.createInstance(this);
android.webkit.CookieManager webCookieManager =
CookieManager.getInstance();
webCookieManager.setAcceptCookie(true);
// Get cookie manager for HttpURLConnection
java.net.CookieStore rawCookieStore = ((java.net.CookieManager)
CookieHandler.getDefault()).getCookieStore();
// Construct URI
java.net.URI baseUri = null;
try {
baseUri = new URI("http://www.example.com");
} catch (URISyntaxException e) {
// Handle invalid URI
...
}
// Copy cookies from HttpURLConnection to WebView
List<HttpCookie> cookies = rawCookieStore.get(baseUri);
String url = baseUri.toString();
for (HttpCookie cookie : cookies) {
String setCookie = new StringBuilder(cookie.toString())
.append("; domain=").append(cookie.getDomain())
.append("; path=").append(cookie.getPath())
.toString();
webCookieManager.setCookie(url, setCookie);
}
//TODO:Your Code
}