Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android中HTTPURLConnection与webview之间共享会话_Java_Android_Jsp_Session_Android Webview - Fatal编程技术网

Java Android中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

我正在开发一个应用程序,它向服务器发送登录认证请求,当登录成功时,我在会话中设置用户名&我的会话被创建。我在webview上显示服务器的jsp页面,因此我的jsp页面需要会话,但它们找不到任何会话,因为它是由HTTPURLConnection创建的。因此,我想知道如何将HTTPURLConnection的会话共享到webview

设置会话的代码

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
}