servlet android,tomcat+servlet+android搭建及初步使用详解

原来用的是eclipse java oxygen,就是基础版,由于要进行web开发,下了一个eclipse jee oxygen,当然,应该有办法不用下,不过我怕后续再出现什么插件没装地问题

干脆下了eclipse jee。

链接(64bit windows):eclipse jee for Windows 64bit

32bit下载链接:eclipse jee for windows 32bit

由于之前也用eclipse所以jdk什么的我都有,如果没有java jdk的话要去下载然后环境配置什么的网上一搜一堆。

接下来是下tomcat:   以上步骤可以参考:点击打开链接

链接里说得比较全而且有图,不过我的tomcat解压后测试安装配置是否成功那一步我的bin文件下的执行文件打不开,但是浏览器打开http://localhost:8080是会显示tomcat的

接下来是新建web project,servlet等,可以参考:点击打开链接  的第五点和第七点,链接里的说明很详尽

接下来说一说我开发的一个最简单的交互程序:

1、重写servlet中的doGet方法:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

response.getOutputStream().write("success".getBytes());

}

只有一句很简单的返回“success”的语句。

2、开发Android端:

布局文件里只有一个Button,在这里我是使用HttpURLConnection进行网络访问的

主代码如下:

public class MainActivity extends Activity {

public static final int SUCCESS = 1, FAIL = 2;

//servlet的URL

public static final String URLString = "http://10.20.247.191:8080/MyWebFirst/MyServlet";

Button btn;

TextView tv;

Handler handler = new Handler() {

public void handleMessage(android.os.Message msg) {

if(msg.what==SUCCESS) {

tv.setText((String)msg.obj);

}else if(msg.what==FAIL) {

tv.setText("失败了。。。");

}

};

};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btn = (Button)findViewById(R.id.btn);

tv = (TextView)findViewById(R.id.tv);

btn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

new Thread() {

@Override

public void run() {

// TODO Auto-generated method stub

try {

//新建URL

URL url = new URL(URLString);

//新建HttpURLConnection

HttpURLConnection con = (HttpURLConnection)url.openConnection();

//设置请求方式及超时时间

con.setRequestMethod("GET");

con.setConnectTimeout(3000);

//在调用getInputStream()方法时会间接调用connect方法,所以可以不用显示调用connect()

//获取返回数据的输入流

InputStream is = con.getInputStream();

//新建输出流

ByteArrayOutputStream baos = new ByteArrayOutputStream();

int len = 0;

//建立缓冲区

byte[] buffer = new byte[500];

//读取返回数据至缓冲区

while((len=is.read(buffer))!=-1)

baos.write(buffer, 0, len);

baos.flush();

is.close();

//获取返回数据

byte[] res = baos.toByteArray();

String ress = new String(res);

Message msg = Message.obtain();

msg.what = SUCCESS;

msg.obj = ress;

handler.sendMessage(msg);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

Message msg = Message.obtain();

msg.what = FAIL;

handler.sendMessage(msg);

}

}

}.start();

}

});

}

}

当然,这里我可能会有很多可优化的地方,我暂时没考虑代码和内存的优化问题。

public static final String URLString = "http://10.20.247.191:8080/MyWebFirst/MyServlet";这里的10.20.247.191是主机ipv4地址,可以打开cmd输入ipconfig查看:

FhJUHuHuOiJxQWbw9dzKQVeh7bs_

MyWebFirst是我的web工程的名字,MyServlet是我的servlet的名字:

FiAvT4n6D8-JzRyJh3ZzUuOpXErR

运行servlet:

Fs4izjrJ-miHhJstAmJUcyt4Wb8m

然后点击手机上的app中的Button:

Fqa3dQMD7tfdL1ODKVGmx-83TboZ

先探索到这里。。。下次继续。

补充一下,tomcat中端口占用的解决方法:

点击打开链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值