zoukankan      html  css  js  c++  java
  • 将Windows MyEclipse的web项目移植到Debian下

    用windows先的MyEclipse很方便,但是要把MyEclipse的web项目移植到Debian下,稍微有一点麻烦。当然,如果是ubuntu的话,直接装MyEclipse就可以了。这里只将针对于无图形界面的Debian的移植过程。

    1.配环境(jdk+apache+tomcat+mysql)(当然,不需要数据库的就用配了)

    2.把原来的项目移植到Linux下。

    主要分为以上两个部分讲述。

    =========================

    1.1 jdk

    我下载的是jdk.tar.gz包,在安装上和rpm的包有一点不同。

    1.1.1 jdk上传到Debian中(推荐用winscp,方便且图形化)。

    1.1.2 配置jdk的环境变量:在/etc/profile中增加下面这三个语句,保存后退出

    # vim /etc/profile

    export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.24/
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

    1.1.3 使环境变量生效

    # source /etc/profile

    1.1.4 检验环境变了安装成功。输入如下的话,看是否可以出现jdk的版本号。或者写一个hello world,用javac,java编译运行,可以输出语句的就可以了。这个网上很多,随便找一下就可以了

    # source /etc/profile

    =========================

    1.2 apache-tomcat

    我是两个一起安装的,下载的是apache-tomcat.tar.gz的安装包。比较方便,完全不用安装。。。

    1.2.1 把安装包上传到Debian,找一个文件夹解压这个安装包

    # tar zxvf apache-tomcat-5.5.34.tar.gz

    1.2.2 然后当前目录就会出现一个文件夹: apache-tomcat-5.5.34。 进入到这个文件夹中的bin目录下,命令行输入

    # ./startup.sh

    启动服务器。这个时候在浏览器中输入 http://you_id:8080 就可以看到tomcat的欢迎页面了。

    当然,如果你的debian有独立ip的话就把you_id换成独立ip,没有的话。。。

    服务器配好了后先不忙把项目导入进去。先配mysql

    【以上代码和说明都来自或参考:http://www.linuxde.net/2011/10/1401.html

    ==========================

    1.3 MySQL

    1.3.1 直接用apt-get安装

    # sudo apt-get install mysql-server

    我不知道为什么网上给了那么多安装mysql的教程,复杂有难装。这个多简单,一句话就搞定了,而且用的时候一样好用。

    1.3.2 添加用户。我是一直都用root的,因为是自己用,没什么关系。

    # /usr/bin/mysqladmin -u root password 123456

    这个就可以了,root用户,123456密码

    1.3.3 修改字符编码。这个时候的数据如果存入中文的话,在数据库中会显示??。这种情况下,使用where xxx="dddd"查询的时候结果为空。所以要修改 /etc/my.cnf 文件:

    以下每一项都最好是添加下面的话,尽量不要删除原来的语句。当然,有冲突的就以下面的为准:

    [client]
    default-character-set=utf8
     
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    #default-character-set=utf8
    character-set-server=utf8
    init_connect='SET NAMES utf8'
     
    [mysql]
    no-auto-rehash
    default-character-set=utf8
     
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid

    1.3.4 重启服务器

    #/etc/init.d/mysql restart 

    这个时候就可以了。当然,如果在做1.3.3这步操作之前数据库中已经有中文数据的话,这个中文数据应该是不会正常显示的

    重新导入一次就可以了(1.3.3和1.3.4都参考自:http://www.linuxde.net/2011/10/1401.html

    =========================

    到这里为止,环境都配完了,现在要开始移植。以一个我自己写的简单servlet小例子为例。

    =========================

    结构如上所示。重要的是src下面那个包中的java文件盒WEB_INF下面的lib和web.xml。

    BookItem.java

    public class BookItem extends HttpServlet{
        public void doGet(HttpServletRequest request, HttpServletResponse response){
            PrintWriter out;
            try {
                out = response.getWriter();
                out.println("a BookItem page");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                //out.println("something else failed");
                e.printStackTrace();
            }
            
        }
        
        
        public void dePost(HttpServletRequest request, HttpServletResponse response){
            doGet(request, response);
        }
        
    
    }

    web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
        xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
      
      <servlet>
          <servlet-name>test</servlet-name>
          <servlet-class>com.bookiten.BookItem</servlet-class>
      </servlet>
      <servlet-mapping>
          <servlet-name>test</servlet-name>
          <url-pattern>/test</url-pattern>
      </servlet-mapping>
    </web-app>

    按照这种形式,在MyEclipse中打开服务器程序,在浏览器中输入http://localhost:8080/Test/test 就可以看到打印输出的【a BookItem page】

    这一步成功了,说明在window下的程序可以正常运行。然后放到debian下。

    特别说明:这个程序一定要先被编译一次,再拷贝到debian中。否则classes文件在debian下无法解析(恩,大概是这么个意思)

    移植的时候非常简单,只需要移动两个文件夹就可以了。

    1)首先我们要在debian解压得到的apache-tomcat/webapps目录下,新建一个文件夹,就叫它test,就是下面这个树形结构的根节点。

    test
    |-- WEB-INF
    |   |-- classes
    |   |   `-- com
    |   |       `-- bookiten
    |   |           `-- BookItem.class
    |   |-- lib
    |   `-- web.xml
    `-- com
        `-- bookiten
            `-- BookItem.java

    然后我们可以看到,这个test根节点下面有两个文件夹,分别是WEB-INF和com

    没错,这两个文件夹就是从刚才的MyEclipse项目中直接上传上去的。不需要做任何修改。值得注意的是,com.bookiten包是在src文件夹下面的。在windows下面,src文件夹比较有用。但是到了debian下面的话,就没必要要src了。

    2)重启服务器。进入到apache-tomcat/bin目录下,在终端输入如下,重启服务器

    ./shutdown.sh
    ./startup.sh

    3)在浏览器中输入http://you_ip/test/test 就可以看到【a BookItem page】输出了

    这里需要注意的是,我们在windows下面输入的网址是Test/test, 而在debian下面输入的是test/test。大小写一定要分清。

    因为在windows下面,MyEclipse的项目名称叫Test,所以在windows下面用Test/test

    而在debian下,我们心间的文件夹是test,所以在debian下用test/test

    这也说明,你的项目叫什么名字,就改成什么就可以了。

    ========================================

    如果项目不涉及数据库操作的话,到这里就可以。但是如果涉及数据库的话,也没有复杂很多。最关键的就是导入mysql.jar包(参考自:http://blog.163.com/cvskill@126/blog/static/3814738020097604524363/

    ①下载MySQL的JDBC驱动,我的是mysql-connector-java-5.1.7.jar包。网上随便都可以下到。

    ②把mysql.jar包上传到debian的随便什么目录下

    ③修改环境变量。我们在上面安装jdk的时候配过一次环境变量的。现在再在path中加上mysql.jar包的绝对路径就可以了

    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:/home/software/mysql-connector-java-5.1.7.bin.jar:$PATH

    需要注意的地方都已经标红了。和windows下面不同,debian的环境变了要用冒号分开,而不是分号。需要注意。

    ④再将这个mysql.jar包拷贝到apache-tomcat/lib目录下面(当然,在MyEclipse项目中所用到的所有jar包,都要考到这个目录下)

    ⑤万能的重新启动服务器

    注意:

    1. 在MyEclipse中访问数据库的用户名和密码,最好是和在debian中是一样的。因为代码需要编译才能在debian中使用,如果仅仅在debian中修改源码是没有效果的。所以数据库的用户名和密码最好保持一致

    2. 还是在MyEclipse中,先编译再把源文件包和WEB-INF拷到debian中

    然后就可以在浏览器上访问了。

    Bon Appetite~

  • 相关阅读:
    C代码优化的一些方法
    读书笔记之:C++程序设计原理与实践(其他)[+++]
    读书笔记之:C++ Primer Plus(第5版)
    使用SoapFormatter 类序列化
    C# 多线程学习系列
    winform中读取嵌入的xml文件
    使用Web Service上(服务器端访问)
    jquery ajax调用webservice
    ashx文件和HttpHandler
    以Window服务作为wcf的寄主
  • 原文地址:https://www.cnblogs.com/zhawj159753/p/3985080.html
Copyright © 2011-2022 走看看