近期应工作需要研究了一下resin,以前一直都是用Tomact的,突然换了一开始有点不适应,后来感觉这个还真的不错,下面就谈下我开放中的一些认知吧。
工程发布:
我采用的是war包发布模式
首先需在resin安装目录下的conf中的resin。Xml(我使用的4.x版)找到这样的语句话
<web-app-deploy path="/var/www/webapps"/>一般有默认,若未找到需在<host-default>
这个节点下进行添加。Path只的是你war包需要存放的位置。
注:工程想正常发布成功,需你工程中无错误
我因为在本机运行时,log4j的路径为缺省值。。/webroot/logs在xp下会自动将logs放到根目录下,但在Linux上无法找到该路径,在启动时会报错相关错误可以到resin安装目录下的log文件夹下查看stdout、stderr这两个文件,其中前者是记录输出和启动信息,后者主要记录错误信息
当将工程的war包发布到相关目录后还需在resin。Xml中配置这样一句话
<web-app id="/weather" root-directory="/var/www/weather" archive-path="/var/www/webapps/weather.war">
其中archive-path指的是你war包的存放路径,root-directory指的是发布成功后resin将工程解压后的存放路径,id为访问名
最后是数据源的配置,有些resin版本中的conf文件夹下会出现resin。Conf和resin。Xml这两个文件,有的只有resin.xml一个,我的xp上只有一个,Linux上有两个,
对于连接池的配置千万不要被resin。Conf中的语句给误导
<!--
- Sample database pool configuration
-
- The JDBC name is java:comp/env/jdbc/test
-
<database>
<jndi-name>jdbc/mysql</jndi-name>
<driver type="org.gjt.mm.mysql.Driver">
<url>jdbc:mysql://localhost:3306/test</url>
<user></user>
<password></password>
</driver>
<prepared-statement-cache-size>8</prepared-statement-cache-size>
<max-connections>20</max-connections>
<max-idle-time>30s</max-idle-time>
</database>
-->
在他里面有这么一段话,如果你也在他里面配置的话,会一直报无法找的jdbc/mysql这个连接的
其实这段代码应该配在resin。Xml中
我当时就犯了这个错误,最后在上面提到的两个日志文件中找到原因,其有相关错误提示,这里不做说明
使用localhost连接数据库时可能会出现说root@localhost的密码不对,而你输入的是对的,
这个问题可能是数据库访问权限问题解决方法如下:
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.%.%’ IDENTIFIED BY ‘yourpassword’ WITH GRANT OPTION;
mysql 授权 (以IP)
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@'%.example.com’ IDENTIFIED BY ‘yourpassword’ WITH GRANT OPTION;
上面第一个是配置某个IP的访问密码第二个是配置域名(个人理解)
其源解决方法如下
java程序内调用时,无需在web。Xml中进行配置。
Mysql中文问题
可以在mysql里用命令set set-charset——client等设置你需要改变的一些编码
有点晚了,今天就写到这吧,还有一部分以后续上