1、数据库使用JDNI连接数据池
历经艰辛,找了无数帖子,其中 https://blog.csdn.net/zhanglf02/article/details/76726702 是最靠谱的,但是有一处错误。我使用的第三种配置方式。
第一步,在Eclipse的servers工程中修改文件,我之前在tomcat的安装目录下修改的,但是并没有用。
第二步,在servers文件下修改,在上面的链接博客中出现了一个错误,没有写url的值。
<Resource
name="jdbc/zxdy"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password="你的密码"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/zxdy"/>
第三步,在context.xml中之间插入代码
<ResourceLink global="jdbc/zxdy"
name="jdbc/zxdy" type="javax.sql.DataSource"/>
第四步:
在web.xml文件里设置:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/数据源名</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
在application.xml文件里设置:
<!--通过JNDI获得数据源的引用-->
<bean id="DataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jdbc/数据源名</value>
</property>
</bean>
<!-- 配置JdbcTemplate的bean -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref local="DataSource"/>
</property>
</bean>
2、src中的java文件没有在WEB-INF中生成class文件
解决方法如下:
1. 先确认下 project->build automatically是否勾选上
2. 如果选上了,还不能class文件, 就手动编译:选中工程,然后 project->clean…->选第2个Clean projects selected below, 选择OK。
3.如果以上2步都无法编译出class文件,那就是项目设置出问题了。project->properties->java build path->source->src,将Default output folder设置为[项目名]/WebRoot/WEB-INF/classes,点击OK。
4.如果以上3步依然无法解决问题,首先请检查项目是否报错,以及引用的jar包是否路径都正确。jar路径不对的话,project->properties->java build path->Libraries,将jar路径不正确的引用remove了,然后Add Extenal JARs,重新添加jar包。
5.有时eclipse程序假死,反应有点慢,关掉重启,部署后就有了。
3、出现Unable to find ‘struts.multipart.saveDir’ property setting.
在struts.properties文件中加入如下代码:struts.multipart.saveDir = /tmp,它会把文件暂存到tmp文件中,你需要在设置一个位置,之后系统会自动删除tmp文件的暂存文件
4、mysql修改编码,但是mysql5.7没有默认my.ini文件
在Mysql服务中,看属性,路径为 “XXXXXX” --defaults-file=“XXXXXmy.ini”
只需要修改这个默认文件,修改设置如下。如果没有默认文件,则从第一步开始。
解决办法:
1、在mysql的目录下,建立一个配置文件my.ini:
[mysqld]
character-set-server=utf8
#绑定IPv4和3306端口
bind-address = 0.0.0.0
port = 3306
sql_mode=“STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION”
default_storage_engine=innodb
innodb_buffer_pool_size=1000M
innodb_log_file_size=50M
#设置mysql的安装目录
basedir=F:/test/mysql-5.7.19-winx64
#设置mysql数据库的数据的存放目录
datadir=E:\software_offline_software_offline_software\mysql\mysql-5.7.23-winx64\mysql-5.7.23-winx64\data
#允许最大连接数
max_connections=200
#skip_grant_tables
[mysql]
default-character-set=utf8
[mysql.server]
default-character-set=utf8
[mysql_safe]
default-character-set=utf8
[client]
port = 3306
default-character-set=utf8
plugin-dir=E:\software_offline_software_offline_software\mysql\mysql-5.7.23-winx64\mysql-5.7.23-winx64\lib\plugin
注意:路径要为双斜杠
2、开始-运行-regedit-回车,进入windows注册表,然后找到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySql] (注意这是在win7和mysql5.7下的注册路径,其他版本可能不一样),修改其中“ImagePath”里面“–defaults-file=”后面的路径文件就好,这个文件才是mysql启动时读取的配置文件,并不一定放在mysql安装目录下或者是data目录下的就一定是使用的配置文件。
如:
3、在系统服务设置中重启MYSQL服务。