一、在上一篇文章中,我只是提到了其中一种方法来实现登陆

大家可以参见:

http://www.apkbus.com/android-45004-1-1.html      android获取web服务器端session并验证登陆

http://blog.csdn.net/cainiao123hack/article/details/8255848   服务器端向Android客户端传值——登录实现

http://zhidao.baidu.com/link?url=8g9EWhyUkUgUr1dh3_tEmmJgBcVLVVVJLtDrk_hJBm_-3n-SSBSItPdo1kjlC8MbeWyaK_fhgISCJbwGF4wQIa

请问如何写一个java 服务器端的servlet,然后可以当客户端发出http请求的时候,可以接受请求,读取数据库

二、一些代码的讲解:

    什么是servlet:一个小的,具有平台无关性,没有图形用户界面的java程序,他可以在很多方面扩充web服务的功能。

HttpServlet 类  :

参考文献:http://blog.csdn.net/jay198746/article/details/4489571   

http://www.cnblogs.com/amboyna/archive/2007/09/18/897101.html    Java学习之Servlet-doGet()与doPost()

提供了一个处理 HTTP 协议的框架。
在这个类中的 service 方法支持例如 GET、POST 这样的标准的 HTTP 方法。这一支持
过程是通过分配他们到适当的方法(例如 doGet、doPost)来实现的。

doGet方法:被这个类的service方法调用,用来处理一个HTTP GET操作。这个操作允许客户端简单的从一个HTTP服务器获得资源。对这个方法的重载将自动支持HEAD方法。安全的方法。

doPost方法:被service方法调用,用来处理一个HTTP POST操作。这个操作包含请求的数据体,servlet应该按照此行事。此操作可能是负面的操作。

三、客户端与服务器端的数据传递

相对于客户端的post与get方法,其都有数据传递,都在request于response当中。我们通过ServiceInputStream与ServiceOutputStream类来实现数据的共享。

参考文献:    http://bbs.csdn.net/topics/370118463    servlet服务器端如何向客户端返回数据

                   1、客户端发出http请求,服务器端接受请求,进行响应,然后读取数据库。

                   2、在客户端:利用内置对象requst获取数据,并传至服务器端。

                    put 与 getparameter是一对  ; setAtribute与getAttibute是一对。

                   服务器端:我们除了用response返回数据外,也可以用request返回数据。将封装好的对象放到requets.session中,直接用它们的setAtributer  (“key”,"value");然后,在客户端:我们用request.getAttibute来获取数据。  

int i=10;
把数据放到Servlet请求的属性中
request.setAttribute("i",i);
转发到客户端
request.getRequestdispatcher("url").forward(request,response);
在转发到的页面用request.getAttribute(i)取出来..记得类型转换

                        在服务器端:利用内置对象response获取数据,并传至客户端。与之对应方法中的response。

                   eg: response.getOutStream();  PrintWrite pw = response.getPrintWrite();

                           pw.out(“你想要传到客户端的数据”);      

                                                response这个对象就是用来响应的呀!
                                                response.getOutputSteam().write("写数据");
                                                response.flushBuffer()这样就可以发往数据到客户端了呀!

当然,假如我们只想知道返回的标识,而不想要数据,那么我们通过标识码来判断

服务器端代码:

if (userlist != null) {
            resp.setStatus(200);
        } else {
            resp.sendError(345, "用户名密码不正确!");

写在了resp当中。

在客户端代码:

    httpClient.post("http://192.168.1.106:8080/login", param,
new BaseJsonHttpResponseHandler<Object>() { @Override
public void onSuccess(int statusCode, Header[] headers,
String rawJsonResponse, Object response) {
Log.d(TAG, rawJsonResponse);
Intent intent = new Intent(LoginActivity.this,
BMapApiDemoMain.class);
LoginActivity.this.startActivity(intent);
finish();
}

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

      根据我们传递过来的标识码的值(statusCode),就知道到底是进入到onSuccess还是onFailure方法中。然后,在这些方法中选择我们所要进行的操作。

      

四、mybatis当中resultMap等的作用:

参考文献:http://zhuyuehua.iteye.com/blog/1721715   

 <mapper  namespace="zhuxuekui.data.UserlistMapper">

        <resultMap id="userResultMap"  type="Userlist">
<result property="username" column="username"></result>
<result property="passward" column="passward"></result>
</resultMap> <select id="selectUserlist" parameterType="Map"
resultMap="userResultMap">
select * from userlist
where username = #{username} and passward = #{passward}
</select>
</mapper>

<mapper></mapper>映射标签

<resultMap id =”与类名相关的id名” type =”类名”/>  id 与下面的select中的resultMap一一对应,type后面是一个类名。通过id找到此类。

下面全是 此类的一些属性名用<result property=””  column=””/>   最好是一一对应

其中:property为你自己建立的类当中的属性,column是你自己建立的数据库当中的字段名。

<select   id = “函数名”   xxxxxxxx    \>

paremeterType这个为selectUserlist函数的参数类型,假如只有一个参数,我们可以写string或int等。但假如有多个参数,需要封装在Map里面。

<!-- 查询, 1.输入用map传入多个参数 2.<where>语句, 智能添加where和and关键字 3.输出直接映射对象 -->

    <select id="findAll" resultMap="navigations" parameterType="map" >

        select * from s_navigation

        <where>

            <if test="portletid != null">

                portletid=#{portletid}

            </if>

            <if test="uuid != null">

                and uuid=#{uuid}

            </if>

            <if test="uuid != null and portletid != null">

                and isshow=1

            </if>

        </where>

    </select>

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

 

 

android客户端向服务器端验证登陆方法的实现2的更多相关文章

  1. android客户端向服务器端验证登陆方法的实现1

    遇到的问题:一个条件查询与多个条件查询,所用到的方式不一样 参考文档: http://www.oschina.net/question/1160609_133366    mybatis多条件查询的一 ...

  2. Android客户端和服务器端数据交互

    网上有很多例子来演示Android客户端和服务器端数据如何实现交互不过这些例子大多比较繁杂,对于初学者来说这是不利的,现在介绍几种代码简单.逻辑清晰的交互例子,本篇博客介绍第四种: 一.服务器端: 代 ...

  3. android客户端从服务器端获取json数据并解析的实现代码

    今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下   首先客户端从服务器端获取json数据 1.利用HttpUrlConnection /** * 从指定的U ...

  4. (转)android客户端从服务器端获取json数据并解析的实现代码

    今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下       首先客户端从服务器端获取json数据 1.利用HttpUrlConnection   复制代码 ...

  5. android客户端从服务器端获取json数据并解析的实现代码(重要)

    首先客户端从服务器端获取json数据 1.利用HttpUrlConnection /** * 从指定的URL中获取数组 * @param urlPath * @return * @throws Exc ...

  6. Android客户端与服务器端通过DES加密认证

    转载地址:http://blog.csdn.net/spring21st/article/details/6730283 由于Android应用没有像web开发中的session机制,所以采用PHPS ...

  7. Android客户端向服务器端发送数据的流程(1)

    原理: android客户端通过使用org.apache.http.impl.client.DefaultHttpClient类来发送数据; 方法介绍: HttpClient是android中提供的一 ...

  8. 数据加密,android客户端和服务器端可共用

    安卓中,不管是内网还是外网,数据的传输首要考虑就是安全问题,尤其是用户信息,以及各种密码等敏感信息. 所以说,对数据的加密是很有必要的,尤其是当下物联网蓬勃发展的今天,数据安全尤为重要. 数据加密的方 ...

  9. app开发历程————Android程序解析服务器端的JSON格式数据,显示在界面上

    上一篇文章写的是服务器端利用Servlet 返回JSON字符串,本文主要是利用android客户端访问服务器端链接,解析JSON格式数据,放到相应的位置上. 首先,android程序的布局文件main ...

随机推荐

  1. 面试问题整理Andorid版本 date: 2017-1-12 21:14:36 categories: 技术

    Acitivty的四中启动模式与特点. standard:默认的启动模式 singleTop:适合那种接受通知启动的页面,比如新闻客户端之类的,可能会给你推送好几次 ,但是每次都是打开同一张页面调用o ...

  2. C语言总结(1)

    1scanf( )和printf( )属于系统的函数,分别表示输入和输出. 2.所有C语言的程序只有一个main( )函数,从这里开始运行. 3.程序先执行main( ),调用scanf( ),最后输 ...

  3. IE8,11的iframe高度自适应

    兼容模式:function iFrameHeightTzinfo() { var ifm= document.getElementById("iframe_tzinfo"); // ...

  4. Failed to apply plugin [id 'com.gradle.build-scan']

    把spring源码clone下来之后,使用gradle编译不通过,异常日志如下: FAILURE: Build failed with an exception. * Where: Build fil ...

  5. 定情信物(bzoj 3823)

    Description 都说程序员找不到妹子,可是无人知晓,三生石上竟然还刻着属于小 E 的一笔. 那一天,小 E 穷尽毕生的积蓄,赠与了妹子一个非同寻常的定情信物.那是一个小 小的正方体,但透过它, ...

  6. 我要好offer之 系统基础大总结

    1. APUE Unix环境高级编程 (1) Unix基础知识: 内核->系统调用->shell和库函数->应用软件 (2) 文件I/O:read函数返回值.进程的文件描述符表.文件 ...

  7. 【CF721C】Journey(拓扑排序,最短路,DP)

    题意:给一个无环的图,问用不超过T的时间从1到n最多可以经过多少个点.要求输出一条路径. 思路:因为无环,可以用DP做.不过因为时间最短的原因要拓扑排序后再DP,目测由底向上的更新也是可以的. ; . ...

  8. 学习javascript设计模式之装饰者模式

    1.装饰者模式定义:给对象动态添加职责的方式称为装饰者(decorator)模式. js如何实现装饰者模式 通过保存原函数引用方式改写某函数 window.onload = function(){al ...

  9. 视音频数据处理入门:RGB、YUV像素数据处理【转】

    转自:http://blog.csdn.net/leixiaohua1020/article/details/50534150 ==================================== ...

  10. XOCDE5开发

    一.XCODE5以后,file's owner取消,那么table view的数据源和委托应该指向哪里呢,答案是指向view control那里,当然了,view control必须与相应继承了数据源 ...