android 简单的登录

android 简单的登录

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

一直都知道WEB通过登录后session拿着回答,如今,安卓不知道怎么弄的。

研究了一下,它记录。直接在代码:

server结束:

index.jsp

<%@page import="java.io.PrintWriter"%>
<%@page import="com.sun.org.apache.xml.internal.serialize.Printer"%>
<%@page import="com.google.gson.JsonObject"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	//測试,仅仅用一个username登录。不设password
	String userName = request.getParameter("userName");

	PrintWriter pw = response.getWriter();
	//仅仅要username符合集可登录
	if(userName.equals("miquan")) {
		//返回安卓端的json
		JsonObject json = new JsonObject();
		json.addProperty("success", true);
		json.addProperty("sessionId", request.getSession().getId());
		
		//保存在server端的session
		request.getSession().setAttribute("userName", "I am a test name.");
		
		pw.write(json.toString());
		pw.flush();
	} else {
		JsonObject obj = new JsonObject();
		obj.addProperty("success", false);
		pw.write(obj.toString());
		pw.flush();
	}
%>

session.jsp

<%@page import="javax.websocket.Session"%>
<%@page import="java.io.PrintWriter"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	PrintWriter pw = response.getWriter();
	//获取到同一个session,而不是从新生成一个session。这样就达到我要的效果了
	pw.write((String)session.getAttribute("userName"));
	pw.flush();
%>


安卓端:

			//登录
			btnLogin.setOnClickListener(new OnClickListener() {
				@Override
				public void onClick(View v) {
					FinalHttp fh = new FinalHttp();
					fh.get("http://172.27.35.1:8080/login/index.jsp?

userName=miquan", new AjaxCallBack<Object>() { @Override public void onSuccess(Object t) { //获取返回来的json String str = t.toString(); str = str.trim(); try { JSONObject obj = new JSONObject(str); boolean success = obj.getBoolean("success"); //登录成功 if(success) { //app = (MyApplication) this.getApplication(); //MyApplication加入了属性sessionId和isLogin app.setLogin(true); app.setSessionId(obj.getString("sessionId")); Toast.makeText(app, "登录成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(app, "登录失败", Toast.LENGTH_SHORT).show(); } } catch (JSONException e) { e.printStackTrace(); } super.onSuccess(t); } @Override public void onFailure(Throwable t, int errorNo, String strMsg) { Log.e("miquan", "failure " + strMsg); super.onFailure(t, errorNo, strMsg); } }); } });

			//測试
			btnSession.setOnClickListener(new OnClickListener() {
				@Override
				public void onClick(View v) {
					FinalHttp fh = new FinalHttp();
					//加入session。连请求一起发送。这里server用的是java开发的
					fh.addHeader("Cookie", "JSESSIONID=" + app.getSessionId());
					fh.get("http://172.27.35.1:8080/login/session.jsp", new AjaxCallBack<Object>() {
						@Override
						public void onSuccess(Object t) {
							Log.e("miquan", t.toString());
							super.onSuccess(t);
						}
						@Override
						public void onFailure(Throwable t, int errorNo,
								String strMsg) {
							Log.e("miquan", "failure  " + strMsg);
							super.onFailure(t, errorNo, strMsg);
						}
					});
				}
			});

现在下班,多写。。。

版权声明:本文博客原创文章,转载请注明原文地址。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117271.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ie浏览器兼容性视图灰色怎么办_浏览器没有兼容性视图设置

    ie浏览器兼容性视图灰色怎么办_浏览器没有兼容性视图设置2018-07-1010:57:17win8系统浏览一些高级网站会出现打不开的问题,其实我们需要设置兼容性视图才能正常浏览,那么怎么设置IE8浏览器兼容性视图?其实设置IE8浏览器兼容性视图的方法很简单,接下去教程和…2015-06-0516:15:42Win8系统自带的IE11浏览器有兼容模式功能,通过开启兼容模式,可以让用户在将浏览器关闭后再重启,然后在测试下输入网站即可正常打开一些兼…

    2025年9月2日
    6
  • PyCharm与Python的安装教程2021.11

    PyCharm与Python的安装教程2021.11文章预览:一、进入官网下载PyCharm安装包二、等待下载完成后点击进行安装三、Python安装(只介绍最新版本)四、第一个PyCharm程序五、PyCharm安装第三方库方法一、进入官网下载PyCharm安装包自行进入PyCharm官网或点击https://www.jetbrains.com/pycharm/download/#section=windows下载的是社区版,免费并且足够使用。二、等待下载完成后点击进行安装1.点击next2.选择自己要安装的目录3.勾选一些设定(1

    2022年8月28日
    7
  • goland 激活码 2021.8_在线激活

    (goland 激活码 2021.8)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32PGH0SQB-eyJsaWNlbnNlSWQiOi…

    2022年3月25日
    111
  • 树后台数据存储(採用webmethod)[通俗易懂]

    树后台数据存储(採用webmethod)

    2022年1月24日
    43
  • 工作笔记——使用Jest时遇到的一些问题

    最近公司想要从mocha+karma的前端单元测试方式转换到Jest,然后任务就分配给我了,好吧,在这之前连单元测试是什么都不知道。硬生生的开始写单元测试了,写这篇文章的初衷是因为在配置Jest的过程

    2022年3月25日
    41
  • 解决新版chrome跨域问题:cookie丢失以及samesite属性问题「建议收藏」

    解决新版chrome跨域问题:cookie丢失以及samesite属性问题「建议收藏」最近在使用前后端分离开发的时候,遇到了一个诡异的问题,无论如何设置跨域,同一个页面获取到的session始终不一致。发现问题:登录界面前后端分离,ajax提交登录时出错验证码接口和登录接口的session不一致(跨域问题)在网上搜索跨域问题,重新设置,问题依旧错因排除:ajax允许cookie(已经设置xhrFields:{withCredentials:true})springboot尝试设置了多种跨域方法(springboot解决跨域)深入分析:使用其它浏览器(fi

    2022年6月9日
    237

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号