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项目绝对路径的方法,struts2设置了struts.multipart.saveDir后会在根目录建立文件夹,这样会涉及linux下的权限问题
### 在Linux下配置Struts中的Oracle数据源 #### 背景介绍 本文将详细介绍如何在Linux环境下配置Struts框架中的Oracle数据源。这是一项重要的技术任务,对于那些需要在基于Struts的应用程序中集成Oracle数据库的开发...
1. **添加依赖**:将Struts2的JAR文件添加到项目的类路径中,如果是Maven或Gradle项目,需要在对应的pom.xml或build.gradle文件中声明依赖。 2. **配置web.xml**:在Web应用的`web.xml`配置文件中,配置Struts2的...
通过深入学习和理解Struts标签库,开发者能够更高效地构建用户界面,降低代码耦合度,提升项目质量。查阅"Struts标签库查询手册.chm"文件,可以获得详细的标签用法和示例,进一步巩固这些知识。
本篇文章将深入探讨如何搭建SVN服务器,以及它在Struts项目中的应用。 首先,我们需要理解SVN的基本概念。SVN是一个开源的版本控制系统,它允许用户管理文件和目录的不同版本,方便团队成员协作开发,同时跟踪每一...
将项目从 Windows 环境移植到 Linux 后,遇到了一系列新的挑战,包括但不限于 struts 配置文件未被正确加载等问题。 **问题详情及解决方法:** 1. **Action 请求未被响应**:struts 配置文件未能正确加载,初步...
通过研究和实现基于Linux、Struts、Hibernate和Spring的房产网站,我们可以看到,这种技术组合在提高开发效率、降低维护成本、增强可扩展性方面具有显著优势。同时,它适应了信息时代的需求,使得非专业人员也能轻松...
5. **跨平台**:可以在多种操作系统上运行,如Windows、Linux和macOS。 在“studentSystem”这个项目中,我们可以推测它是一个学生管理系统。可能的功能包括学生信息管理、课程管理、成绩录入等。Struts2负责处理...
1. **进入文件夹的上级目录**:打开命令提示符(Windows)或终端(Linux/MacOS),切换到`struts2-jfreechart-plugin-2.0.11`文件夹的上级目录。例如: ```cmd D:\>cd D:\jarfile\struts2-jfreechart-plugin-...
本项目"Struts1-windowsToLinux"显然是一个利用Struts1框架在跨平台环境下,即从Windows环境访问Linux服务器上的文件,并在Web页面上展示文件内容的应用。 在这个项目中,主要涉及以下几个关键知识点: 1. **...
Struts、Spring和Hibernate是Java开发中非常著名的三个框架,它们在企业级应用开发中有着广泛的应用。这个“STRUTS+SPRING+HIBERNATE练习(完整)”的教程很可能是为了帮助开发者掌握这三个框架的集成使用。下面将详细...
Struts2项目通常使用Maven,但Ant也是可行的选择。在这里,我们推荐使用Maven,因为它具有更广泛的社区支持和更强大的依赖管理功能。 3. **IDE**: 为了方便开发,你可以选择一款Java IDE,如Eclipse、IntelliJ IDEA...
Struts是Apache软件基金会下的一个开源项目,是一个基于MVC(Model-View-Controller)设计模式的Java Web应用框架,它使得开发人员可以更轻松地构建动态、数据驱动的Web应用。本指南将深入探讨Struts的核心概念和...
标题中的"struts-eclipse tar包"是指专门为Eclipse IDE定制的一个Struts开发包,这个tar文件是Linux/Unix系统下常见的归档文件格式,用于存储多个文件和目录。这个包的目的是方便Eclipse用户在开发环境中集成和使用...
它不仅在“基础设施”项目如Linux、MySQL等之外独树一帜,而且在框架领域内更是引领了潮流。Struts 2.0 的出现极大地改变了开发者构建Web应用的方式,并且在市场上占据了主导地位。 #### Struts 2.0 的主要特点与...
这样,你就有了一个基础的Struts项目结构。 - 注册页面(reguser.jsp): 这是一个使用Struts标签库(taglib)的JSP页面。它定义了一个HTML表单,用于收集用户输入的登录名、密码和电子邮件。`<%@ taglib>`指令引入...
### jsp源码项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5) #### 一、项目概述 该项目是一款基于Java技术栈开发的项目申报系统,主要使用的技术框架包括Struts2、Spring、Hibernate以及前端技术JSP,并且...
毕设&课设&项目&实训-基于SSH(Struts2+Spring+Hibernate)搭建的论坛系统,属于一个类似于CSDN 【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、...