将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~

原文地址:https://www.cnblogs.com/zhawj159753/p/3985080.html