文档章节

post用户登录模板

hlxxjava
 hlxxjava
发布于 2016/11/13 22:37
字数 344
阅读 4
收藏 0
点赞 0
评论 0
    import java.io.InputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLEncoder;

    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.text.TextUtils;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;

    public class MainActivity extends Activity {
        protected static final int SUCCESS = 1;
        protected static final int ERROR = 2;
        private EditText et_qq;
        private EditText et_pwd;
        private TextView tv_status;

        private Handler handler = new Handler(){
            public void handleMessage(android.os.Message msg) {
                switch (msg.what) {
                case ERROR:
                    Toast.makeText(MainActivity.this, "请求失败,请检查网络和服务器的状态", 0).show();
                    break;
                case SUCCESS:
                    Toast.makeText(MainActivity.this, (String)msg.obj, 0).show();
                    tv_status.setText("当前状态:"+ (String)msg.obj);
                    break;
                }
            };
        };

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            et_qq = (EditText) findViewById(R.id.et_qq);
            et_pwd = (EditText) findViewById(R.id.et_pwd);
            tv_status = (TextView) findViewById(R.id.tv_status);
        }
        public void login(View view){
            //http://localhost:8080/web/LoginServlet?qq=10000&pwd=abcde
            final String qq = et_qq.getText().toString().trim();
            final String pwd = et_pwd.getText().toString().trim();
            if(TextUtils.isEmpty(qq)||TextUtils.isEmpty(pwd)){
                Toast.makeText(this, "qq或者密码不能为空", 0).show();
                return;
            }
            new Thread(){
                public void run() {
                    String path = "http://192.168.1.103:8080/web/LoginServlet";
                    try {
                        URL url = new URL(path);
                        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                        //1.设置请求方式为POST
                        conn.setRequestMethod("POST"); //注意单词必须大写.
                        conn.setConnectTimeout(5000);
                        //2.设置http请求数据的类型为表单类型
                        conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                        //3.设置给服务器写的数据的长度
                        //qq=10000&pwd=abcde
                        String data = "qq="+URLEncoder.encode(qq, "utf-8")+"&pwd="+URLEncoder.encode(pwd, "utf-8");
                        conn.setRequestProperty("Content-Length", String.valueOf(data.length()));
                        //4.记得指定要给服务器写数据
                        conn.setDoOutput(true);
                        //5.开始向服务器写数据
                        conn.getOutputStream().write(data.getBytes());
                        int code = conn.getResponseCode();
                        if(code == 200){
                            InputStream is = conn.getInputStream();
                            String result = StreamTools.readStream(is);
                            Message msg = Message.obtain();
                            msg.what = SUCCESS;
                            msg.obj = result;
                            handler.sendMessage(msg);
                        }else{
                            Message msg = Message.obtain();
                            msg.what = ERROR;
                            handler.sendMessage(msg);
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                        Message msg = Message.obtain();
                        msg.what = ERROR;
                        handler.sendMessage(msg);
                    }
                };
            }.start();
        }
    }

 

© 著作权归作者所有

共有 人打赏支持
hlxxjava
粉丝 1
博文 7
码字总数 1481
作品 0
武汉
2014-02-26 杂谈 . 用户登录 . 对模板引擎的理解

杂谈 session 在英语中指会话期,在php中常用于记录登陆状态等信息,因为你不可能让用户每打开一个页面都登陆一次,于是就用session保存用户的信息。网站中,每一页的变量只能当前页使用,但...

YYCRiver ⋅ 2014/02/26 ⋅ 0

使用ecgo框架编写demo

需求简述 支持多用户的TODO系统,核心需求包括: 用户管理(注册、登录、退出、修改密码) 任务管理(列表、新增、修改、删除) 前端页面 注册页面 登录页面 修改密码 任务列表页 总体设计 注册、...

TimWong ⋅ 2016/04/01 ⋅ 0

WordPress模板操作

WordPress基本模板文件一套完整的WordPress模板应至少具有如下文件: style.css : CSS(样式表)文件 index.php : 主页模板 archive.php : Archive/Category模板 404.php : Not Found 错误页模...

汤圆 ⋅ 2012/12/30 ⋅ 0

Flask框架 —— 从入门到精通

更新日期 :2016 - 2 - 26 有开源网友提醒,故为了可阅读性更新排版。 Hello World 作者背景 应用程序简介 要求 安装 Flask 在 Flask 中的 “Hello, World” 下一步? 模板 回顾 为什么我们需...

水果糖 ⋅ 2016/02/26 ⋅ 0

Play Scala 2.5.x - Play Web开发基础

介绍 本文的目标是通过一个用户登录示例,简要的介绍使用Play进行Web开发的基本流程。本文并不会手把手教你如何创建一个Play应用,而是通过核心的代码片段传递Play的一些设计理念,为不熟悉P...

joymufeng ⋅ 2016/12/26 ⋅ 0

wordpress函数

url函数: plugins_url() — 插件目录的 URL (例如:http://www.hujuntao.com/wp-content/plugins) includes_url() — includes 目录的 URL (例如:http://www.hujuntao.com/wp-includes) co......

李佳顺 ⋅ 2012/09/14 ⋅ 0

【Django】@login_required用法简介

在django项目中,经常会看到下面这样的代码: [python] view plain copy from django.contrib.auth.decorators import login_required @login_required def my_view(request): ... 里面有一个......

sjfbjs ⋅ 01/08 ⋅ 0

Node.js开发入门—使用cookie保持登录

这次来做一个网站登录的小例子,后面会用到。这个示例会用到Cookie、HTML表单、POST数据体(body)解析。 第一个版本,我们的用户数据就写死在js文件里。第二个版本会引入MongoDB来保存用户数据...

foruok ⋅ 2015/08/17 ⋅ 0

Django学习之用户登录

前面说了,用户注册,今天我们就来说说用户登录吧。今天说的是使用Django的session功能,而不是它的auth模块,后期,如果有机会的话,我再写点auth认证登录。 其实重点就是request.session功...

hahazhu0634 ⋅ 2015/06/02 ⋅ 0

tornado缓存技术

模板缓存,是一定要开的 页面缓存,如果可以静态化,也会静态化 对于部分可以缓存的页面,用uimodule加上缓存 结果集一般是数据驱动删除缓存... 能用memcache就不用redis... 相关链接 memcached缓...

flyking ⋅ 2014/03/29 ⋅ 2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Cube、Cuboid 和 Cube Segment

1.Cube (或Data Cube),即数据立方体,是一种常用于数据分析与索引的技术;它可以对原始数据建立多维度索引。通过 Cube 对数据进行分析,可以大大加快数据的查询效率 2.Cuboid 在 Kylin 中特...

无精疯 ⋅ 37分钟前 ⋅ 0

github太慢

1:用浏览器访问 IPAddress.com or http://tool.chinaz.com 使用 IP Lookup 工具获得github.com和github.global.ssl.fastly.net域名的ip地址 2:/etc/hosts文件中添加如下格式(IP最好自己查一...

whoisliang ⋅ 39分钟前 ⋅ 0

非阻塞同步之 CAS

为解决线程安全问题,互斥同步相当于以时间换空间。多线程情况下,只有一个线程可以访问同步代码。这种同步也叫阻塞同步(Blocking Synchronization). 这种同步属于一种悲观并发策略。认为只...

长安一梦 ⋅ 49分钟前 ⋅ 0

云计算的选择悖论如何对待?

人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云计算为...

linux-tao ⋅ 52分钟前 ⋅ 0

我的第一篇个人博客

虽然这是个技术博客,但是,我总是想写一些自己的东西,所有就大胆的在这里写下了第一篇非技术博客。技术博客也很久没有更新,个人原因。 以后自己打算在这里写一些非技术博客,可能个人观点...

Mrs_CoCo ⋅ 52分钟前 ⋅ 0

Redis 注册为 Windows 服务

Redis 注册为 Windows 服务 redis 注册为 windows 服务相关命令 注册服务 redis-server.exe –service-install redis.windows.conf 删除服务 redis-server –service-uninstall 启动服务 re......

Os_yxguang ⋅ 53分钟前 ⋅ 0

世界那么大,语言那么多,为什么选择Micropython,它的优势在哪?

最近国内MicroPython风靡程序界,是什么原因导致它这么火呢?是因为他功能强大,遵循Mit协议开源么? 错!因为使用它真的是太舒服了!!! Micropython的由来,这得益于Damien George这位伟大...

bodasisiter ⋅ 56分钟前 ⋅ 0

docker 清理总结

杀死所有正在运行的容器 docker kill $(docker ps -a -q) 删除所有已经停止的容器(docker rm没有加-f参数,运行中的容器不会删掉) docker rm $(docker ps -a -q) 删除所有未打 dangling 标...

vvx1024 ⋅ 今天 ⋅ 0

关于学习

以前学车的时候,教练说了这样的一句话:如果一个人坐在车上一直学,一直学,反而不如大家轮流着学。因为一个人一直学,就没有给自己留空间来反思和改进。而轮流着学的时候大家下来之后思考上...

mskk ⋅ 今天 ⋅ 0

压缩工具之gzip-bzip2-xz

win下常见压缩工具:rar zip 7z linux下常见压缩工具:zip gz bz2 xz tar.gz tar.bz2 tar.xz gzip 不支持目录压缩 gzip 1.txt #压缩。执行后1.txt消失,生成1.txt.gz压缩文件 gzip -d 1.txt....

ZHENG-JY ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部