struts2+spring+mybatis入门教程七之常见问题

(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注入;

$方式一般用于传入数据库对象.例如传入表名;

你可能感兴趣的:(J2EE)