• i-jetty 下的JavaWeb开发(一)


      最近需要将android端作为服务器进行开发,让android作为服务器,现阶段技术并不是很成熟,主要的服务器有i-jetty,是基于PC端的jetty的移植。i-jetty同tomcat类似,也是Servlet的容器,但是i-jetty需要使用android的方法进行调用,否则android设备无法分辨。

      通过一番搜索查阅,发现网上对这一块的描述都很浅显,有具体方法,但尝试过后又有一些问题,所以写下这篇博文,以供后来者学习借鉴之用。

      首先,先说说环境的搭建。要在i-jetty下开发,最好的是使用maven的项目管理方法。Ant的方法是行不通的。所以,你需要去eclipse官网下载eclipse for JEE。然后去maven官网下载maven。maven的配置就不多说了,网上很多教程。有了这两样,你还需要一个连接eclipse和maven的桥梁:m2eclipse。具体的安装配置网上都有。

      OK,这些配置好了之后,就可以去github上下载i-jetty的源码,https://github.com/EvidenceKiller/i-jetty-1,这是我fork的源码。里面包含i-jetty的源码,还包含两个范例,一个是console,一个是hello。具体我是参考的hello的例子。

      在eclipse中导入下载的源码和范例。会有错误,不要在意这些细节。具体查看hello和example-webapps-parent这两个工程。example-webapps-parents是一个maven project,hello是一个maven module。打开example-webapps-parent目录下的pom.xml,内容如下:

    <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>org.mortbay.ijetty</groupId>
      <artifactId>example-webapps-parent</artifactId>
      <packaging>pom</packaging>
      <version>3.2-SNAPSHOT</version>
      <name>I-Jetty :: Example Webapps Parent</name>
      <description>Parent project for example webapps</description>
      <modules>
        <module>hello</module>
      </modules>
      <properties>
         <android.version>1.6_r2</android.version>
         <jetty.version>7.5.4.v20111024</jetty.version>
         <servlet.version>2.5-20081211</servlet.version>
      </properties>
    </project>
    

      里面定义了project的version,groupId等等。看看就好。

      在hello文件夹下的pom.xml中可以看到如下:

      <parent>
        <groupId>org.mortbay.ijetty</groupId>
        <artifactId>example-webapps-parent</artifactId>
        <version>3.2-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
      </parent>
    

      说明他继承自example-webapps-parent。主要需要把<plugins>下的<arguments>中的dx.jar文件需要修改下。定义环境变量android_home,修改dx.jar文件目录。

      做完这些,就可以运行了,右键hello项目,run as -> maven clean,成功之后,maven install,一般来说会成功,不成功的话看看报错原因,改正就好了。

      部署:

      不能直接拷贝war文件到android平台的jetty目录下的webapps,至少我是没成功。i-jetty根本不理我啊!!!试了好多遍了啊!!!i-jetty你要不要这么任性啊!!!好了不吐槽了。拷贝target目录下的hello-3.2-SNAPSHOT文件夹到jetty目录下的webapps,访问 http://your android ip:8080/hello-3.2-SNAPSHOT/sayit,看看是不是显示hello from servlet land!?

      好了,到这里这个example就成功的编译,部署了。有问题欢迎评论。

      下一篇讲下如何自己创建项目,编译部署自己的项目。

      

    ————————————————————————————————————————————————————————————————————————————— 无他,唯手熟尔。。。
  • 相关阅读:
    百度统计图标消失了?
    C#中的变量类型var
    弗恩15693桌面读写器在win8下的测试
    JSON格式标准:http://www.ietf.org/rfc/rfc4627.txt?number=4627
    PHP中文乱码(转自百度文库)(记住:不管怎么样,用navicat创建数据库时选择utf8编码.)
    html2pdf:生成pdf应用
    win2003系统下apache、php、mysql安装以及虚拟主机和目录权限设置(转载)
    (转载)java环境变量配置
    (转)smarty里使用php函数
    (转载)php 知道某年中第几天计算出日期年月日
  • 原文地址:https://www.cnblogs.com/ZXNblog/p/4387125.html
Copyright © 2020-2023  润新知