一个服务端,电脑网页端登录和安卓端登录遇到的一些问题
来源:互联网 发布:东快傻 知乎 编辑:程序博客网 时间:2024/06/16 05:34
编码问题是个我们经常在开发中会遇到的问题,今天来总结下。
网页端是jsp,后台处理是servlet,jsp中采用pageEncoding="utf-8",对应的处理登录的servlet是request.setCharacterEncoding("utf-8");
如果使用GET求情方式登录需要在服务端将获取的数据转码,加上下面的代码:
username=new String(username.getBytes("ISO-8859-1"),"UTF-8");//get请求才需要这个转码 password=new String(password.getBytes("ISO-8859-1"),"UTF-8");
再就是服务端返回数据给客户端解析,这个我是这样的处理的,下面代码
if(user!=null){ System.out.println("登录成功"); OutputStream out=response.getOutputStream(); String data="登录成功"; out.write(data.getBytes("utf-8")); } else{ System.out.println("登录失败"); OutputStream out=response.getOutputStream(); String data="登录失败"; out.write(data.getBytes("utf-8")); }
网页端就是直接写过去就是将流解析到跳转的网页上,安卓端是这样处理的
String charset="utf-8"; int code = conn.getResponseCode(); if(code==200){ String data2 = StreamTool.streamtoText(conn.getInputStream(), charset);
其中的StreamTool是写的一个解析流的工具类,下面是代码
public class StreamTool {public static String streamtoText(InputStream is,String charset){if(is==null)return null;ByteArrayOutputStream bao=new ByteArrayOutputStream();int len=0;byte[] buf=new byte[1024];try {while((len=is.read(buf))!=-1){bao.write(buf,0,len);}is.close();bao.close();byte[] result=bao.toByteArray();String temp=new String(result,charset);return temp;} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();return "获取失败";}}}
0 0
- 一个服务端,电脑网页端登录和安卓端登录遇到的一些问题
- 第三方(ShareSDK)分享和登录遇到的一些问题
- 登录的一些问题
- Android微信授权登录跟遇到的一些问题
- 网页判断手机还是电脑端登录
- iOS 开发,xcode7中用QQ授权登录遇到的一些问题 QQ登录不跳客户端
- 网页登录以及单点登录的一些概念
- idea创建项目步骤和遇到的问题登录代码
- iOS 使用三方分享和登录遇到的问题
- 简单的Android服务端和客户端登录交互(服务端)
- 一个简单的登录问题
- ofbiz登录的一个问题
- 解决QQ登录SDK不能网页授权登录的问题
- 关于单点登录和系统耦合性的一些问题
- mysql 登录问题的解决办法和一些命令
- 将程序设置为服务,在系统登录界面自动启动(解决:不间断运行的程序遇到电脑重启,且电脑登录需要账号和密码)
- 做网页时遇到的一些问题和解决方法
- 安装电脑系统遇到的一些问题
- 设计模式1#单例
- TTT
- 理解数学空间,从距离到希尔伯特空间
- tecent 实习
- HDU-4961 Boring Sum (模拟)
- 一个服务端,电脑网页端登录和安卓端登录遇到的一些问题
- Java Lock-同步的另一种实现
- UVA 10537(最短路)
- (第7讲)java基本数据类型转换
- 观察者模式在android 上的最佳实践
- 随笔
- 【机房重构】七层登录
- 计算机视觉:关于Graph cuts的简介及相关资源
- urlib2下载器网页的三种方法