1构建web工程

新建web dynamic项目在login.jsp body体随便写一些中文

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="LoginServlet" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type="submit" name="submit">
</form>
<form action="LoginServlet" method="get">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type="submit" name="submit">
</form>
</body>
</html>

然后右击login.jsp run on Server

2构建Android客户端 客户端代码见上一篇日志

注意网址改为http://自己的ip:8080/web项目名称/login.jsp

自己的ip在cmd输入ipconfig查询

注意:如果使用真机实验 可能是由于不在一个网段 无法获取数据,因此要使用Wifi共享软件让手机连上Wifi在访问,此时使用上图中第一个ip(无线ip)

如果使用虚拟机则是使用第二个ip(本地ip)

虚拟机测试结果

修改web端的login.jsp的所有编码为gbk(三处) 则从服务器下载的中文是乱码

<%@ page language="java" contentType="text/html; charset=gbk"pageEncoding="gbk"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>Insert title here</title>
</head>
<body>
<form action="LoginServlet" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type="submit" name="submit">
</form>
<form action="LoginServlet" method="get">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type="submit" name="submit">
</form>
</body>
</html>

Android下默认charset为utf-8

因此Android端工具类20行

return new String(result);

其实是

return new String(result,"utf-8");

改进方法修改工具类如下:

package com.example.a52_htmlviewer.tools;import java.io.ByteArrayOutputStream;
import java.io.InputStream;public class StreamTools {//把输入流转化成字符串public static String readInputStream(InputStream is) {try {ByteArrayOutputStream baos = new ByteArrayOutputStream();int len = 0;byte [] buffer = new byte [1024];while ((len = is.read(buffer))!=-1) {baos.write(buffer, 0, len);}is.close();baos.close();byte [] result = baos.toByteArray();//试着解析xml文件 看看编码集是什么String temp = new String(result);//正规时应该使用正则表达式 这里只做简单判断if (temp.contains("utf-8")) {return temp;}else if(temp.contains("gbk")) {return new String(result,"gbk");}else if(temp.contains("iso-8859-1")) {return new String(result,"iso-8859-1");}else if(temp.contains("gb2312")) {return new String(result,"gb2312");}else {return temp;}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();return "获取失败";}}
}

Android笔记 Android客户端从服务器获取源码乱码demo相关推荐

  1. android版本更新框架、新闻客户端、音乐播放器、自定义View、Github客户端、指南针等源码...

    Android精选源码 XUpdate 一个轻量级.高可用性的Android版本更新框架 Android一个可定制的圆形进度条 Android自定义View分享 打钩动画源码 android音乐文件播 ...

  2. android 代码发adb,Android预安装软件adb命令编译源码

    Android预安装软件&adb命令&编译源码 发布时间:2020-06-02 17:28:41 来源:51CTO 阅读:895 作者:年少的风 1.预安装软件: 将eclipse下的 ...

  3. 直播系统源码App中Android酷炫礼物动画直播平台源码搭建教程(上篇)

    直播系统源码App中Android酷炫礼物动画直播平台源码搭建教程(上篇) 在当下移动直播火爆的年代,如果你曾经使用过移动端直播应用,相信会被里面那令人惊叹的礼物动画效果迷住,比如像下面这样的效果. ...

  4. Android开发之通过WebView查看HTML源码的方法

    老套路先看图: 说下思路: 通过android调用JS方法获取HTML标签等源码,核心代码就一行: view.loadUrl("javascript:window.local_obj.sho ...

  5. 这份1307页Android面试全套真题解析,源码+原理+手写框架

    前言 前不久,几个朋友聚会,谈到了现在的后辈,我就说起了那个大三就已经拿到网易offer的小学弟. 这个学弟是00后,专升本进入我们学校的.进来后就非常努力,每次上课都是第一个到教室的,每次都是坐第一 ...

  6. android ctrl 左键鼠标左键直接打开xml文件夹,设置Android Studio通过Ctrl+左键查看源码...

    开始学习android的时候希望能点进系统提供的控件中查看源码,但是实际操作发现,看到的每个源文件方法都是抛出的Exception,所以想要设置成可以直接查看具体实现,记录下我自己的操作方法. 1.首 ...

  7. Android 9(P)之init进程启动源码分析指南之一

         Android 9 之init进程启动源码分析指南之一 Android 9 (P) 系统启动及进程创建源码分析目录: Android 9 (P)之init进程启动源码分析指南之一 Andro ...

  8. Android 9 (P)之init进程启动源码分析指南之三

          Android 9 (P)之init进程启动源码分析指南之三 Android 9 (P)系统启动及进程创建源码分析目录: Android 9 (P)之init进程启动源码分析指南之一 An ...

  9. Android 万能适配器BaseQuickAdapter操作及免费源码

    Android 万能适配器BaseQuickAdapter操作及免费源码,本篇巨长无比,非常详细的介绍了BaseQuickAdapter,若有帮助到您,记得点个赞哦~ 简介 导入依赖 简单使用 添加头 ...

最新文章

  1. 用Leangoo泳道完美实现Scrum任务看板
  2. 慢就是快的人生哲理_家里的防臭地漏下水慢怎么办?
  3. ajax异步上传到又拍云的实例教程
  4. Android中处理崩溃异常 (转)
  5. JS拖拽,移动与拉伸
  6. Gerrit代码Review入门实战 1
  7. 数据结构——树状数组
  8. java垃圾回收机制GC
  9. react 创建组件的两种方式
  10. 百度地图的经纬度转高德地图的经纬度
  11. hack tool Mirkov4
  12. win10共享计算机时用户名和密码错误,win10系统共享文件密码错误的解决方法
  13. mysql data::dumper_初始化mysql数据库提示缺少Data:dumper模块解决方法
  14. 阿里云云计算助理工程师认证(ACA)
  15. 简单的WGS84转UTM程序[C++]
  16. 笔记本电脑外接显示器 卡_如何向Mac笔记本电脑添加和配置外接显示器
  17. 文华编程是c 语言吗,华中科技大学文华学院级软件工程c语言.docx
  18. Java数组基础使用下标、遍历、存取与本质
  19. 8421码到5421码的转换_如何实现用283加法器实现8421码到5421码的转换
  20. Android几行代码实现监听微信聊天

热门文章

  1. css网页设计作业_小姐姐用 HTML + CSS 画油画?谁能想到前端还有这么一手操作!...
  2. mysql 是空字符或null 设置为0_MySQL优化(三) - 数据类型
  3. list mybatis批量保存_springboot2.x基础教程:集成mybatis最佳实践
  4. 第38章:MongoDB-集群--Replica Sets(副本集)---多机的搭建
  5. centos7.3部署django用uwsgi和nginx[亲测可用]
  6. 微信小程序之换肤的功能
  7. Mongodb 备份 还原 导出 导入 等批量操作
  8. ToDictionary
  9. 分享12款非常漂亮的免费国外网站模板
  10. 在ASP.NET使用javascript的一点小技巧(转www.chinacs.net 中文C#技术站 )