`
494078416
  • 浏览: 80508 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

Struts项目向Linux

阅读更多

 

Struts项目向Linux迁移小结

1. 系统兼容性处理

 

(1)路径符号问题:

a.在windows中 路径使用 \\和/都是可以的,但Linux中只能使用\:

处理方法:

查找程序中所有含有类似“\\”路径的代码(共84处),进行修改,将\\替换为File.seperator,从而兼容Linux。

 

b. 在windows中,获取的路径的函数是:

“盘符:\...\tomcat\webapps\XXX\”

而 Linux中,是“usr\local\tomcat\ webapps\XXX\”,该路径在Linux无法识别,需要在前面增加“/”。

处理办法:函数进行修改:

Properties props=System.getProperties(); //获得系统属性集 String osName = props.getProperty("os.name"); //操作系统名称  根据操作系统的名称,进行路径设置。

和 "Struts项目向Linux迁移小结" 有关的 java 编程小帖士:

strong>Locale.getCurrencyPositiveSeparation

决定是否在正货币值和表示正货币的符号间加入空格。

语法

public boolean getCurrencyPositiveSeparation ( )

返回值

如果正货币值和表示正货币的符号间用空格分隔,那么返回true;如果二者之间没有空格,则返回false。

说明

用此方法确保当前场所下的正货币值被正确说明。

请参阅:getCurrencyNegativePosition, getCurrencyPositivePosition,getCurrency-NegativeSeparation

(2)文件写权限问题:

 

系统中有部分程序需要进行文件写操作,相关程序执行失败。原因是Linux有严格的文件操作权限,默认是不给写权限的。所以需要对相关的文件和文件夹授予写的权限,需要授权的文件(夹)有:

具体命令:#Chmod  -R 777  文件名

 

(3)文件名大小写敏感问题

由于windows对文件后缀名的大小写是不敏感的,而Linux下是敏感的。所以在程序中引用的文件名的后缀与实际大小写不一致,在Linux下是无法识别的。

解决方法:

修改文件的后缀名

(4)数据库中表名大小写问题

表名大小写在windows下默认是不敏感的;而在Linux下是敏感的 。

  解决办法:

    1)通过修改MySql Server安装目录下的 my.cnf 文件, 设置 lower_case_table_names=1

2) 修改建库脚本,将所有涉及到的表名都修改为小写

3)对于已经存在的系统:对所有表名大写的表,执行如下语句:

ALTER  TABLE table_name RENAME TO new_table_name

(5)jfreechart中文日文字体显示问题

a.       由于Java虚拟机找不到字体文件造成的。

 

解决办法:

(1)把字体文件Simsun.ttf(可以从windows下Simsun.ttc拷贝一份到Linux下)

拷贝到JRE的字体目录$JAVA_HOME/jre/lib/fonts下,

(2)编辑字体目录下的文件fonts.dir,把第一行的数字加1,然后在最后加一行加上:

simsun.ttf -SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0

保存文件。

(3)切换到该目录下的 jre/lib 目录下, 将 font.properties 备份一下:

# cd /usr/java/j2sdk1.4.2_01/# cd jre/lib/# mv font.properties font.properties.bak

(4) font.properties.zh_cn.sun 复制为 font.properties。

# cp font.properties.zh_cn.sun font.properties

(5), 编辑复制得到的 font.properties 文件, 跳到文件尾部,

找到“filename.xxx=”这一行, 将后面的路径修改为你机器上的 simsun.ttf 所在的全路径,

下面的 appendedfontpath 一行也做相应修改, 将路径指向你的 simsun.ttf 所在文件夹。

filename.-hanyi-hanyisong-medium-r-normal--*-%d-*-*-c-*-gbk-0=/usr/share/fonts/local/simsun.ttf

appendedfontpath=/usr/share/fonts/local/

 

 

2、安装问题说明

 

问题一:Tomcat无法启动

解决方法:

(1)    更换端口号 Server.xml 中:8080修改为8088

(2)    Tomcat\bin下所有的sh文件写权限开放

 

问题二:访问Tomcat,出现jsp无法编译的错误

解决方法:

Linux自带的jdk的jar不全,没有dt.jar.

重新下载jdk进行部署(j2sdk-1_4_2_19-Linux-i586.bin)

 

问题三:编译MySql时报错“Linux thread not found”

解决方法:

因为MySQL 4.0 不支持使用了 NTPL线程,用以下命令处理:

  (1)# cp /usr/include/pthread.h /usr/include/pthread.h.bak

  (2)# echo ‘/* Linuxthreads */’ >> /usr/include/pthread.h
(3)# ./configure –with-pthread –with-named-thread-lib=-lpthread
(4)# make && make install

 

问题四:windows客户端无法访问Mysql

解决方法:

由于(1)telnet 3306端口无响应

(2)mysql在本机可以通过命令行访问,

(3)使用  show variables like ‘port’ 命令查看,发现端口号=0;说明该mysql的端口设置无效,有可能被别的程序占用;

(4)netstat –anp,发现3306端口没有被使用。使用rpm -qa mysql命令查看,发现该Linux下已经安装了另一个版本的mysql;

使用Rpm –e –nodep mysql5.0  命令进行卸载,再执行show variables like ‘port’ 命令,

端口号=3306。

(5)windows客户端访问Mysql,出现访问被拒绝提示。但telnet 3306,已经能够连接。

(6)iptables添加开放了3306端口
#iptables -A INPUT -p tcp -m tcp --sport 3306 -j ACCEPT
#iptables -A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT
#service iptables save
#service iptables restart

在防火墙中添加该端口 vi /etc/sysconfig/iptables

添加-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

更改完了之后输入service iptables restart

(7)mysql增加访问权限:

登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root –p root>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;

flush privileges

(8)/etc/my.cnf 里注释掉 skip-networking;在 /etc/hosts.allow 加入MySQL 服务侦听 mysqld: 127.0.0.1

 

最终解决问题。

 

 

附件:安装步骤说明   

1. Java环境安装:

(1)www.sun.com网站下载jdk1.4.2版本的安装包j2sdk-1_4_2_19-Linux-i586.bin

(2)安装。#.    

 

2.Tomcat安装

(1)http://tomcat.apache.org/下载tomcat软件包

(2)安装。

#tar zxvf apach-tomcat-4.1.37.tar.gz 
    #mv apach-tomcat-4.1.37 /usr/local  
(3)设置环境变量

#vi /etc/profile 

    export JAVA_HOME=/usr/local/j2sdk1.4.2_19 
    export TOMCAT_HOME=/usr/local/apach-tomcat-4.1.39

Export PATH=$JAVA_HOME/bin;$PATH

Export CLASSPATH=.:$JAVA_HOME/lib/dt.jar: $JAVA_HOME/lib/tools.jar
   保存退出

  # source /etc/profile  //让当前配置立即生效

(4)启动tomcat服务器 
    $ /usr/local/apach-tomcat-6.0.16/bin/startup.sh 
   控制台会出现如下内容: 
    Using CATALINA_BASE:   /usr/local/apache-tomcat-6.0.16 
    Using CATALINA_HOME:   /usr/local/apache-tomcat-6.0.16 
    Using CATALINA_TMPDIR: /usr/local/apache-tomcat-6.0.16/temp 
    Using JRE_HOME:       /usr/local/jdk1.6.0_04

(5)在浏览器中输入http://localhost:8080/就可以看到tomcat的log了

 3.Linux中文字体支持设置

(1)把字体文件Simsun.ttf(可以从windows下Simsun.ttc拷贝一份到Linux下)

拷贝到JRE的字体目录$JAVA_HOME/jre/lib/fonts下,

(2)编辑字体目录下的文件fonts.dir,把第一行的数字加1,然后在最后加一行加上:

simsun.ttf -SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0

保存文件。

(3)切换到该目录下的 jre/lib 目录下, 将 font.properties 备份一下:

# cd /usr/java/j2sdk1.4.2_01/# cd jre/lib/# mv font.properties font.properties.bak

(4) font.properties.zh_cn.sun 复制为 font.properties。

# cp font.properties.zh_cn.sun font.properties

(5), 编辑复制得到的 font.properties 文件, 跳到文件尾部,

找到“filename.xxx=”这一行, 将后面的路径修改为你机器上的 simsun.ttf 所在的全路径,

下面的 appendedfontpath 一行也做相应修改, 将路径指向你的 simsun.ttf 所在文件夹。

filename.-hanyi-hanyisong-medium-r-normal--*-%d-*-*-c-*-gbk-0=/usr/share/fonts/local/simsun.ttf

appendedfontpath=/usr/share/fonts/local/

 

4.MySQL安装:

1)建立相应目录和组:

# mkdir /usr/local/mysql

# groupadd mysql

# useradd -g mysql mysql //useradd -g mysql -d /usr/local/mysql name

2)开始安装mysql

# tar xzvf mysql-4.0.15.tar.gz //解压缩

# cd mysql-4.0.15 //进入解压后的文件目录

// Linux thread not found问题的处理

# cp /usr/include/pthread.h /usr/include/pthread.h.bak
# echo ‘/* Linuxthreads */’ >> /usr/include/pthread.h

# ./configure –with-pthread –with-named-thread-lib=-lpthread  --prefix=/usr/local/mysql 
# make && make install

 

3)copy配置文件

有large,medium,small三个环境下的,根据机器性能选择,如果负荷比较大,可修改里面的一些变量的内存使用值

# cp support-files/my-medium.cnf /etc/my.cnf //复制配置文件

 

4)更改目录权限和组

# cd /usr/local/mysql

# chown -R mysql .

# chgrp -R mysql .

5)建立数据库和表

# bin/mysql_install_db --user=mysql //初始化授权

6)再次更改目录权限和组

# chown -R root .

# chown -R mysql var

7)启动MySQL服务

# bin/mysqld_safe --user=mysql &

8)设置MySQL启动服务

# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld

# chkconfig --add mysqld //在自动启动列表里添加mysqld

# chkconfig --level 345 mysqld on

9)修改MySQL密码

# /usr/local/mysql/bin/mysqladmin -u root password 'new-password' //修改密码

# /usr/local/mysql/bin/mysqladmin -u root -h localhost password 'new-password'

// 将localhost替换成你的主机域名,比如:zhaorg.csu.edu.cn

10)登录mysql数据库:

# mysql -u root -p

Enter password: root

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 18 to server version: 5.0.19-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use mysql;

mysql>delete from user where password=""; //删除用于本机匿名连接的空密码帐号

mysql>flush privileges;

mysql>quit

分享到:
评论

相关推荐

    windows linux 下,获取java项目绝对路径的方法

    windows linux 下,获取java项目绝对路径的方法,struts2设置了struts.multipart.saveDir后会在根目录建立文件夹,这样会涉及linux下的权限问题

    在linux下配置Struts中的Oracle 数据源

    ### 在Linux下配置Struts中的Oracle数据源 #### 背景介绍 本文将详细介绍如何在Linux环境下配置Struts框架中的Oracle数据源。这是一项重要的技术任务,对于那些需要在基于Struts的应用程序中集成Oracle数据库的开发...

    struts2-2.3.16.1安装包及其配置jar

    1. **添加依赖**:将Struts2的JAR文件添加到项目的类路径中,如果是Maven或Gradle项目,需要在对应的pom.xml或build.gradle文件中声明依赖。 2. **配置web.xml**:在Web应用的`web.xml`配置文件中,配置Struts2的...

    Struts标签库查询手册

    通过深入学习和理解Struts标签库,开发者能够更高效地构建用户界面,降低代码耦合度,提升项目质量。查阅"Struts标签库查询手册.chm"文件,可以获得详细的标签用法和示例,进一步巩固这些知识。

    svn搭建(Struts)

    本篇文章将深入探讨如何搭建SVN服务器,以及它在Struts项目中的应用。 首先,我们需要理解SVN的基本概念。SVN是一个开源的版本控制系统,它允许用户管理文件和目录的不同版本,方便团队成员协作开发,同时跟踪每一...

    linux下的j2ee

    将项目从 Windows 环境移植到 Linux 后,遇到了一系列新的挑战,包括但不限于 struts 配置文件未被正确加载等问题。 **问题详情及解决方法:** 1. **Action 请求未被响应**:struts 配置文件未能正确加载,初步...

    Linux下基于Struts、Hibernate和Spring的房产网站自动生成技术的研究与实现.pdf

    通过研究和实现基于Linux、Struts、Hibernate和Spring的房产网站,我们可以看到,这种技术组合在提高开发效率、降低维护成本、增强可扩展性方面具有显著优势。同时,它适应了信息时代的需求,使得非专业人员也能轻松...

    Struts2 + Jdbc + mysql

    5. **跨平台**:可以在多种操作系统上运行,如Windows、Linux和macOS。 在“studentSystem”这个项目中,我们可以推测它是一个学生管理系统。可能的功能包括学生信息管理、课程管理、成绩录入等。Struts2负责处理...

    如何修改struts2-jfreechart-plugin2.0.11jar包

    1. **进入文件夹的上级目录**:打开命令提示符(Windows)或终端(Linux/MacOS),切换到`struts2-jfreechart-plugin-2.0.11`文件夹的上级目录。例如: ```cmd D:\>cd D:\jarfile\struts2-jfreechart-plugin-...

    Struts1-windowsToLinux

    本项目"Struts1-windowsToLinux"显然是一个利用Struts1框架在跨平台环境下,即从Windows环境访问Linux服务器上的文件,并在Web页面上展示文件内容的应用。 在这个项目中,主要涉及以下几个关键知识点: 1. **...

    STRUTS+SPRING+HIBERNATE练习(完整).rar

    Struts、Spring和Hibernate是Java开发中非常著名的三个框架,它们在企业级应用开发中有着广泛的应用。这个“STRUTS+SPRING+HIBERNATE练习(完整)”的教程很可能是为了帮助开发者掌握这三个框架的集成使用。下面将详细...

    搭建struts2简单环境

    Struts2项目通常使用Maven,但Ant也是可行的选择。在这里,我们推荐使用Maven,因为它具有更广泛的社区支持和更强大的依赖管理功能。 3. **IDE**: 为了方便开发,你可以选择一款Java IDE,如Eclipse、IntelliJ IDEA...

    Struts快速学习指南

    Struts是Apache软件基金会下的一个开源项目,是一个基于MVC(Model-View-Controller)设计模式的Java Web应用框架,它使得开发人员可以更轻松地构建动态、数据驱动的Web应用。本指南将深入探讨Struts的核心概念和...

    struts-eclipse tar包

    标题中的"struts-eclipse tar包"是指专门为Eclipse IDE定制的一个Struts开发包,这个tar文件是Linux/Unix系统下常见的归档文件格式,用于存储多个文件和目录。这个包的目的是方便Eclipse用户在开发环境中集成和使用...

    struts2.0教程(pdf)

    它不仅在“基础设施”项目如Linux、MySQL等之外独树一帜,而且在框架领域内更是引领了潮流。Struts 2.0 的出现极大地改变了开发者构建Web应用的方式,并且在市场上占据了主导地位。 #### Struts 2.0 的主要特点与...

    Java-Struts入门初步知识.doc

    这样,你就有了一个基础的Struts项目结构。 - 注册页面(reguser.jsp): 这是一个使用Struts标签库(taglib)的JSP页面。它定义了一个HTML表单,用于收集用户输入的登录名、密码和电子邮件。`<%@ taglib>`指令引入...

    jsp源码项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5)

    ### jsp源码项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5) #### 一、项目概述 该项目是一款基于Java技术栈开发的项目申报系统,主要使用的技术框架包括Struts2、Spring、Hibernate以及前端技术JSP,并且...

    毕设&课设&项目&实训-基于SSH(Struts2+Spring+Hibernate)搭建的论坛系统zip

    毕设&课设&项目&实训-基于SSH(Struts2+Spring+Hibernate)搭建的论坛系统,属于一个类似于CSDN 【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、...

Global site tag (gtag.js) - Google Analytics