安装并使用tomcat试验Android网络程序

7 篇文章 0 订阅
1 篇文章 0 订阅

安装tomcat @Linux


首先,到 这里 下载最新版本的tomcat,我下载的版本是7.0.32(Last modified 2012-10-07 18:36)


然后,解压缩

$ tar zxvf apache-tomcat-7.0.8.tar.gz

运行之前,先要做一些配置工作(前提:Java我已经安装过了吐舌头

先是查看本机的java版本:

tomxue@ubuntu:~/App$ java -version
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)

tomxue@ubuntu:~/App$ sudo update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                           Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1061      auto mode
  1            /usr/bin/gij-4.6                                1046      manual mode
  2            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1061      manual mode
* 3            /usr/lib/jvm/java-6-sun/jre/bin/java            63        manual mode
  4            /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java   1051      manual mode

Press enter to keep the current choice[*], or type selection number: 

然后设置环境变量:

在~/.bashrc文件中加入下列语句,以设置相应的环境变量(会在每次开启bash时自动设置)

export JAVA_HOME="/usr/lib/jvm/java-6-sun/"
export CLASSPATH="$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar"

存盘退出,再执行一次刚才的设置(这次就省点儿事,先不退出bash了)

$ . ~/.bashrc

现在,可以执行了

tomxue@ubuntu:~/App/apache-tomcat-7.0.32/bin$ ./startup.sh 
Using CATALINA_BASE:   /home/tomxue/App/apache-tomcat-7.0.32
Using CATALINA_HOME:   /home/tomxue/App/apache-tomcat-7.0.32
Using CATALINA_TMPDIR: /home/tomxue/App/apache-tomcat-7.0.32/temp
Using JRE_HOME:        /usr/lib/jvm/java-6-sun/
Using CLASSPATH:       /home/tomxue/App/apache-tomcat-7.0.32/bin/bootstrap.jar:/home/tomxue/App/apache-tomcat-7.0.32/bin/tomcat-juli.jar


看到上面的输出,应该就成功了。


安装tomcat @Windows


在Windows下安装Tomcat的话,直接下载并安装下面的exe就可以了:

http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.0.12/bin/apache-tomcat-8.0.12.exe


浏览器访问


接下来,打开Firefox,并输入网址:http://localhost:8080/

可以看到如下页面






点击页面上的"Server Status",发现要账号和密码,怎么办?

进入conf目录,修改文件如下:

ubuntu:~/App/apache-tomcat-7.0.32/conf$ cat tomcat-users.xml 
<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>
<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
-->

<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
</tomcat-users>

那么,只需要输入账号和密码均为tomcat即可,现在再点击"Server Status",呈现出的页面如下:



jsp试验


接下来,可以试试服务器端的jsp执行了。

进入下面的路径并创建jsp文件test.jsp

tomxue@ubuntu:~/App/apache-tomcat-7.0.32/webapps/ROOT$ vi test.jsp

文件内容如下:

<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%
out.print("I love jsp!");
%>

存盘退出。

在Firefox网址栏输入:http://localhost:8080/test.jsp

结果怎么样?




在Android模拟器上连接tomcat


目的:

在Android上跑一个project,可以通过3种方式申请http连接至tomcat服务器。


代码在这里:https://github.com/tomxuetoy/Android_HttpRequest.git

声明:这份代码(1st commit)基本原封不动来自这本书《Android应用开发揭秘》

tomcat作为JSP容器,可与程序进行动态互动,这是很有意思的惊讶


上面说代码基本原封不动,那么其中的一个改动就是http申请的链接地址。

原代码中给出的地址是这样的:http://192.168.1.110:8080/http1.jsp

书我没看过,不太清楚为什么是这样的,谁知道?请告诉我。


但是,在Ubuntu下运行的tomcat服务器和Android模拟器,要想能够通信,那么

Android模拟器内访问的tomcat上的网址就不再是这个:http://localhost:8080/

为什么?因为模拟器有自己的localhost,这个网址指向的是它自己的主机。


如果模拟器想要访问Ubuntu主机,也就是tomcat服务器的网址,那么就使用android内置的IP 10.0.2.2 吧,

10.0.2.2 是模拟器设置的特定ip,是Ubuntu主机的别名。


tomcat上要运行的两个jsp文件如下:

http.jsp

    <html>  
      <head>   
        <title>My JSP 'index.jsp' starting page</title>  
      </head>  
      <body>  
        <%  
            out.println("<h1>HTTP TEST<br/>http test</h1>");  
         %>  
      </body>  
    </html>  

httpGet.jsp

<html>
  <head>
    <title>My JSP 'index.jsp' starting page</title>
  </head> 
  <body>
    <%
    	String type = request.getParameter("par");
    	String result = new String(type.getBytes("iso-8859-1"),"gb2312");
    	out.println("<h1>parameters:"+result+"</h1>");
     %>
  </body>
</html>

第一个文件会给出固定的输出,而第二个文件会根据交互的参数传递给出相应的输出。


现在,可以运行Android程序了,要在模拟器中跑,这样,上面提到的访问地址才会有效。

运行一下,3个按钮挨个试试,比如第2个按钮“以GET方式传递数据”


结果是这样的:


有点失望,怎么是一堆源码?

仔细看,里面有一行:

<h1>parameters:test</h1>
这个就是与httpGet.jsp交互的结果!


在Android手机上连接tomcat


办法很简单,就是利用360随身wifi设备,当然,这是针对台式机而言。对于笔记本,可以直接使用金山毒霸自带的免费功能。

买一个360随身wifi,然后在计算机上安装360随身wifi相应的驱动和应用,去这里:http://wifi.360.cn/,找到那个“安装驱动”的链接。

安装应用之后,设置WiFi名称和密码,再用手机连接上即可。

计算机的IP可以在command line下,用ipconfig命令查看,比如我的是:192.168.0.7,那么Tomcat的页面即是htpp://192.168.0.7:8080

在手机浏览器上访问这个链接就可以打开计算机的Tomcat初始页面。

然后,将上面的Android app源代码中的ip地址10.0.2.2替换成192.168.0.7,再重新编译并选择手机运行,就可以体验更加真实的网络编程了。



说明


我的Firefox安装了goagent + FoxyProxy,在其开启的情况下使用tomcat没什么问题。



Enjoy!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值