Android app与RESTful的Java后台交互的问题,求指点
这几天我用maven+spring搭建了一个RESTful的后台,现在写了一个Android的app去访问后台。在app中的登录界面里有一个验证码,现在我可以拿到服务端产生的验证码图片,但是输入对应的验证码并提交到后台,在后台却找不到已经保存的验证码字符串了。我想问:
1. 因为拿验证码图片和登录是两个请求,当用户还没有登录的时候,我怎么知道刚刚产生的验证码是这个用户的?后台产生的验证码字符串应该保存到哪里?
2. 对于验证码,我从后台返回给客户端的是byte数组,再在客户端将这个数组转换成图片并显示出来,你们一般都怎么返回图片给客户端的?
3. Mobile用户只需要登录一次直到session过期,如何维护一个Mobile用户的session?
4. 可以使用哪些方式来实现Android客户端与服务器交互?除了RESTful的service,你们常用的还有其他哪些方式呢?
请各路大神指点小弟啊,先谢谢啦
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
可以看看这个
http://my.oschina.net/wangrenhui1990/blog/365310 客户端方式
那如果不用RESTful呢,有其他交互方式吗?要验证码只是做一个功能而已,并无其他意义,还望指教,谢谢啦
回复
restful我在用。我打算用oauth2。验证码 感觉真没必要。
都restful 还session个蛋蛋啊。再说,要验证码干啥啊
你是说在客户端生成图片?这个生成的字符串和图片都在客户端?并不需要从服务器端获取?
回复
我是生成图片输入,把图片内容放在session。
1.每个访问都是一个session,session之间不会干扰,传过去的图片只会是前连接用
2.生成图片,然后输入
谢谢你耐心的解答^_^,小弟受教了
1. 因为拿验证码图片和登录是两个请求,当用户还没有登录的时候,我怎么知道刚刚产生的验证码是这个用户的?后台产生的验证码字符串应该保存到哪里?
登录页中客户端生成一个随机字符串提交给服务器,服务器端生成验证码绑定到随机串上,提交验证码时同时提交这个串,服务器就可以判断了。验证码随便存吧,不过没有太大用处的话,可以放缓存或者内存表提高性能。
2. 对于验证码,我从后台返回给客户端的是byte数组,再在客户端将这个数组转换成图片并显示出来,你们一般都怎么返回图片给客户端的?
都可以,返回一个url客户端再下载也可以。
3. Mobile用户只需要登录一次直到session过期,如何维护一个Mobile用户的session?
登录后发个token,每次请求带上,token有过期时间
4. 可以使用哪些方式来实现Android客户端与服务器交互?除了RESTful的service,你们常用的还有其他哪些方式呢?
模拟浏览器、保存、提交cookies,这样就跟使用网站一样了
oauth认证