1、导入老项目右键没有run on server
这个就是版本的问题,是Dynamic Web Services的版本问题,在导入时我直接就新建的空项目,再import file System的,在右键项目上的properties->progect facet查看Dynamic Web Services版本是4.0,这个在创建的时候应该是可以指定的,但是也可以在eclipse的工作空间里边找到项目在.setting下的org.eclipse.wst.common.project.facet.core.xml文件里边修改 <installed facet="jst.web" version="3.0"/> 这一行为3.0 就可以了。
2、项目可以发布到tomcat上后,运行出来的界面就是单纯的html样式,没有css的效果。
这个问题在我是用上述步骤修改好之后,再运行就没有问题了,但这是在我复现这个过程的时候,发生的,在第一次导入项目的时候,修改好并没有解决问题,而是在修改tomcat服务器的Modules的配置后才完成,具体:双击Servers栏 -> 在工作区出现的窗口下方选择Modules -> 在里边找到对应的项目,把Path修改为 "/"
在run as server,才得以解决
3、我的老项目用的是c3p0连接池的数据库进行的连接,以前项目完成的时候是可以直接用中文进行搜索的,现在用中文搜索不出来信息。
这个我感觉就是数据库的编码格式和之前的编码格式不一样导致的,但是见数据库的sql语句我也是用的项目自带的sql语句执行的。在数据库上改来改去没有解决问题,最后在c3p0连接池的配置文件进行了一点修改解决问题,就是将 <property name="jdbcUrl">jdbc:mysql://localhost:3308/smarthomeshop</property> 一行改为
<property name="jdbcUrl">jdbc:mysql://localhost:3308/smarthomeshop?useUnicode=true&characterEncoding=UTF8 </property>,加入?useUnicode=true&characterEncoding=UTF8,就可以解决中文搜索条件发送到数据库由于编码格式不同导致中文乱码而搜索不到数据的问题了
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<!-- 默认配置,如果没有指定使用则使用这个配置 -->
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3308/smarthomeshop</property>
<property name="user">root</property>
<property name="password">root123</property>
<property name="acquireIncrement">50</property>
<property name="initialPoolSize">100</property>
<property name="minPoolSize">5</property>
<property name="maxPoolSize">15</property>
<property name="maxStatements">15</property>
<property name="maxStatementsPerConnection">5</property>
</default-config>
</c3p0-config>
4、在最开始导入老项目之前肯定要先创建数据库,但是我用自带的sql语句建库建表都没有问题,在插入数据的时候,由于有中文就一直报错,一条也插入不进去。
show create table 表名; 查看表的字符集 , table 换成 database 就是查看数据库的字符集
alter table 表名 convert to character set utf8; 修改创建好的表的字符集为utf8 , 编码格式也可以是其他格式的
alter database 库名 character set utf8; 修改创建好的数据库的字符集
在数据库创建好后也运行了 set names utf8; 但是创建出来的表的字符还是latinl。
解决步骤:创建数据库,use数据库,set names gbk,创建数据表,alter table 表名 convert to character set utf8,再插入数据。