一步一步学会http获取tomcat服务端的图片,在android客户端显示

最简单的利用服务端来下载图片到客户端上面,刚开始接触,记录一下,同时希望帮助到新人。

在看本篇文章之前,你可以先看下这两篇文章

加载web项目时报的错误:Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modul

http://blog.csdn.net/harryweasley/article/details/45723443

Eclipse无法启动tomcat

http://blog.csdn.net/harryweasley/article/details/45723437

转载请注明出处:http://blog.csdn.net/harryweasley/article/details/45824295谢谢。

服务端操作步骤:

我用的编辑器是java EE  Eclipse集成tomcat6.0的,如图所示:

创建文件:File-->New -->Dynamic Web Project,然后如图所示:

注意:这里的Dynamic web  module version我选的是2.5,关于原因,你可以查看http://blog.csdn.net/harryweasley/article/details/45723443

然后点击Finish。

然后复制两个图片到WebContent下,最终效果如图所示:

运行服务端,看是否有问题。

点击项目,右键,Run As--->Run on Server,执行结果如图所示:

不过不要担心,去掉Test/,则变成了

如果http://localhost:8080/还是404的话,你可以点击http://blog.csdn.net/harryweasley/article/details/45723437查看

解决以上问题后,输入http://localhost:8080/Test/battery.png这个网址后,显示的内容应该是图片的内容。

关于本机ip地址,你可以打开电脑cmd,输入ipconfig查看,当前ip地址

我的本地ip地址为192.168.1.48,所以,当我输入以下地址,也是可以显示同样的效果的:

客户端操作步骤:

客户端效果图:

有两个按钮,显示在屏幕,则将test.jpg图片显示到屏幕上,如上图所示,保存到手机,则battery.bnp图片保存到手机目录中。

关键代码如下所示:

package com.example.animal;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class HttpGetActivity extends Activity {

	ImageView img;
	Button btn, save;
	URL url;
	Bitmap bitmap;
	HttpURLConnection httpURLConnection;
	InputStream is;
	FileOutputStream fos;
	Runnable run = new Runnable() {

		@Override
		public void run() {

			String urlname = "http://192.168.1.48:8080/Test/test.jpg";
			try {
				url = new URL(urlname);
				httpURLConnection = (HttpURLConnection) url.openConnection();
				httpURLConnection.setConnectTimeout(3000);
				//允许输入流
				httpURLConnection.setDoInput(true);
				//设置连接方式为GET,默认就是get请求方式
				httpURLConnection.setRequestMethod("GET");
				int responseCode = httpURLConnection.getResponseCode();
				// 状态码等于200,表示正确
				if (responseCode == 200) {
					is = httpURLConnection.getInputStream();
				}

				bitmap = BitmapFactory.decodeStream(is);
				Log.i("测试", bitmap + "");
				handler.sendEmptyMessage(0);
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				if (is != null) {
					try {
						is.close();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}

		}
	};

	Runnable run2 = new Runnable() {

		@Override
		public void run() {

			String urlname = "http://192.168.1.48:8080/Test/test.jpg";
			try {
				url = new URL(urlname);
				httpURLConnection = (HttpURLConnection) url.openConnection();
				httpURLConnection.setConnectTimeout(3000);
				httpURLConnection.setDoInput(true);
				httpURLConnection.setRequestMethod("GET");
				int responseCode = httpURLConnection.getResponseCode();
				// 状态码等于200,表示正确
				if (responseCode == 200) {
					is = httpURLConnection.getInputStream();
				}
				File file=new File("sdcard/test/");
				file.mkdirs();
				fos = new FileOutputStream("sdcard/test/test.jpg");
				byte[] date = new byte[1024];
				int len;
				while ((len = is.read(date)) != -1) {
					fos.write(date, 0, len);
				}
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				if (is != null) {
					try {
						is.close();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
				if (fos != null) {
					try {
						fos.close();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}

		}
	};
	StringBuffer sb;
	Handler handler = new Handler() {
		public void handleMessage(android.os.Message msg) {
			img.setImageBitmap(bitmap);
		};
	};

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		img = (ImageView) findViewById(R.id.frame_image);
		btn = (Button) findViewById(R.id.run);
		save = (Button) findViewById(R.id.save);
		btn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				new Thread(run).start();
			}
		});
		save.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				new Thread(run2).start();
			}
		});

	}

}

时间: 2024-10-20 14:10:10

一步一步学会http获取tomcat服务端的图片,在android客户端显示的相关文章

linux系统下配置tomcat 服务端https加密

原理:将证书(也可以叫公钥)+私钥转化成 jks类型的keystore文件,在tomcat的server.xml中配置开启踩坑:1.多数文章都是针对自己生成证书,配置双向加密,其过程有生成,合并,导出,配置服务端,配置客户端等等,看的一塌糊涂2.多数文章都是以实验为参考,误以为生成的keystore文件名可以随意命名,直接使用拷贝命令的方式生成了一个tomcat.keystore文件正确的命令方式应该是(证书名.keystore),或者说是生成证书时的CN名称3.clientAuth="true

网络编程(自定义图形界面浏览器-Tomcat服务端). 模拟IE 的请求

package netTest; import java.io.*; import java.net.*; public class IE { public static void main(String[] args) throws Exception { Socket s = new Socket("127.0.0.1",8080); PrintWriter out = new PrintWriter(s.getOutputStream(),true); out.println(&

一步一步学WebSocket(二) 使用SuperWebSocket实现自己的服务端

上一篇文章,我们了解了客户端如何与服务器创建WebSocket连接.但是一个巴掌拍不响,既然是通信,就必然最少要有两个端.今天我们来看看c#如何用已有的框架实现一个WebSocket服务端. 在.Net Framework 4.5及以上版本中,微软为我们集成了WebSocket协议的基本实现.微软提供的WebSocket对象位于System.Net.WebSocket命名空间下,使用起来挺繁琐的,所以我选择了SuperWebSocket框架来简化开发的难度. SuperWebSocket框架可以

一步一步实现iOS应用PUSH功能

1. push原理 iOS push 工作机制可以用下图简要概括 Provider:应用自己的服务器: APNS:Apple Push Notification Service的简称,苹果的PUSH服务器: push的主要工作流程是: iOS设备连接网络后,会自动与APNS保持类似TCP的长链接,等待APNS推送消息的到来: 应用启动时注册消息推送,并获取设备的在APNS中注册的唯一设备标示deviceToken上传给应用服务器(即Provider): 在需要给应用推送消息时,Provider把

http的post方式连接服务器,发送数据到服务端,并获取服务端的数据

大概的流程是:客户端填写了用户名和密码,在服务端进行判断,验证密码如果正确,则返回登录成功,如果密码错误,则返回登录失败 客户端是java程序,具体代码如下: package lgx.java.test; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.Unsupport

一步一步学会puppet(三)--节点和模板

这篇主要介绍puppet中需要理解的2个重要概念:节点和模板: =================================================================== 1 节点 1.1 定义 1.2 详细说明 1.3 实例 2 模板 2.1 定义 2.2 详细说明 2.3 模板文件的语法 2.4 模板文件实例 2.5 使用模板文件生成实际配置文件 ===========================================================

一步一步学会puppet(四)--master/agent模型

这篇博文主要介绍puppet在实际生产环境下的master/agent模型的使用: =================================================================== 1 原理介绍 1.1 原理图 1.2 详细说明 2 配置实例 2.0 准备 2.1 master配置 2.2 agent配置 2.3 master签署证书 2.4 agent一次完整的同步案例 ===========================================

一步一步学会puppet(一)

简介 puppet是一种Linux.Unix.windows平台的集中配置管理系统: 使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等,puppet把这些系统实体称之为资源: puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系 puppet的基础架构 puppet是集中式的配置管理工具,通过自有配置语言对节点进行目标状态定义,并能够基于网络实现目标状态的维护: puppet的工作模型 puppet通过声明性.基于模块的方法进行IT自动化

java入门第四步之应用服务器的安装(Tomcat)【转】

首先打开myeclipse,在myeclipse菜单栏下面有两个按钮: 左边的按钮是进行项目的部署的(即将项目部署到服务器上),右边的按钮是进行服务器的启动的,如果你安装了tomcat服务器,那你就可以在右边按钮点击的下拉框中 找到对应的服务器, 下面我来介绍下Tomcat服务器的安装(也不能叫安装,就是引入下): 点击菜单栏的Window---->选择Preferences----->在左边的菜单栏中选择MyEclipse---->servers----->tomcat 然后根据