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

来源:互联网 发布:java跳转到jsp 编辑:程序博客网 时间:2024/06/07 13:08

原来用的是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 download

我下的是红框里那个,具体根据你自己的需要下载对应的版本

下好了解压一下就可以了,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 stubresponse.getOutputStream().write("success".getBytes());}

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

2、开发Android端:

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

主代码如下:

public class MainActivity extends Activity {public static final int SUCCESS = 1, FAIL = 2;//servlet的URLpublic 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("失败了。。。");}};};@Overrideprotected 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() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubnew Thread() {@Overridepublic void run() {// TODO Auto-generated method stubtry {//新建URLURL url = new URL(URLString);//新建HttpURLConnectionHttpURLConnection 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 blocke.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查看:

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


运行servlet:

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

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



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


点击打开链接








原创粉丝点击