(1)struts.xml路径问题:
不能放在web-inf目录下,否则启动失败;
(2)各xml文件的doctype:
应与jar包版本一致,可去网上搜相关doctype,若不一致,xml编辑器会报语法错误;
(3)struts.xml中package的extends配置:
非异步请求的action,其父package继承struts-default,异步的继承json-default。
(4)web中struts2的核心过滤类配置:
FilterDispatcher是struts2.0.x-struts2.1.2版本的过滤器,
StrutsPrepareAndExecuteFilter是2.1.3以后的过滤器;
若web.xml中过滤类配置与jar包版本不匹配,则启动weblgic时报错。
(5)spring配置文件中数据源配置:
需设置java.naming.provider.url java.naming.factory.initial两个prop,设置jndiName值应与weblogic中数据源jndiName一致;
(6)spring中dao的实体bean配置:
需在xml中bean下声明sqlSessionFactory属性,否则启动时报错demoDao注入失败,提示property sqlSessionFactory必须存在;
(7)spring中mybatis配置:
需在xml中配置sqlSessionFactory实体bean,id名不能更改,且需添加dataSource、configLoaction两个属性,以初始化该实体bean;
(8)mybatis配置文件有2个,config.xml和mapper.xml:
两个xml的doctype不同,需注意,mapper中resultMap对应的表单类可以在config.xml中定义,进行统一管理;
(9)log4j配置文件:文件中logfile.file可设置日志输出的路径,建议此处定义为变量,新建类对变量进行初始化,在web.xml中配置该类的路径与log4j.properties,使其随系统启动而执行;
(10)jsonplugin-0.34.jar 与 struts2-json-plugin.jar,不能同时引入,都包含struts-plugin.xml,两个都可以实现异步传输json对象。
jsonplugin-0.32.jarstruts2.0.x
jsonplugin-0.33.jarstruts2.1.x
jsonplugin-0.34.jarstruts2.2.x+
(11)mapper.xml中#{htsl}与${htsl}区别:
#可以进行预编译,进行类型匹配,#变量名#? 会转化为 jdbc的?类型 , $不进行数据类型匹配,$变量名$就直接把$name$替换为 name的内容;
#方式能够很大程度防止sql注入;$方式无法方式sql注入;
$方式一般用于传入数据库对象.例如传入表名;