ssi框架学习总结(mvc三层架构)(2)
strust.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!-- 这是一个重要的地方,很多人在使用<s:include>子页面后,发现子页面乱码,怎么改都不行,原因就在次,struts2的默认编码为UTF-8,乱码的同志请看看你的jsp页面上的编码是不是和这个不一致呢。只要把这里和jsp编码改一致就行了 --> <constant name="struts.i18n.encoding" value="UTF-8" /> <!-- 告诉struts2,我要用spring装配工厂,其实默认就是这个了-_-!!! --> <constant name="struts.objectFactory" value="spring" /> <!-- struts2的扩展名,比如struts1的时候,用的.do,struts2默认为.action,可以改成其它的,比如.dxd --> <constant name="struts.action.extension" value="action" /> <!-- 资源文件 --> <constant name="struts.custom.i18n.resources" value="messageResource"> </constant> <!-- 用户注册类 --> <!-- abstract属性就说明了该action继承自自己定义的基础action,而class采用的registerAction是由spring产生的 --> <package name="register" extends="struts-default"> <action name="register" class="registerAction" method="addUser"> <!-- 注册成功 --> <result name="success">success.jsp</result> <!-- 注册失败 --> <result name="input">error.jsp</result> </action> <action name="login" class="registerAction" method="loginUser"> <!-- 注册成功 --> <result name="success">success.jsp</result> <!-- 注册失败 --> <result name="error">error.jsp</result> </action> </package> </struts>
这样strust的配置大致就完成了。
第四步:配置ibatis的相关配置文件,主要是jdbc.properties,SqlMapConfig.xml以及User.xml的配置,jdbc.properties主要用于配置数据库的数据源参数,会在加载spring的时候自动初始化,ibatis数据源的配置到时可以托管给spring初始化,所以这里就不细讲了。SqlMapConfig.xml主要是配置ibatis的配置文件的位置,User.xml则用于编写相关的数据库语句等,配置大致如下:
jdbc.properties:
jdbc.driverClass=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/userinfo jdbc.user=root jdbc.password=123456 jdbc.minPoolSize=5 jdbc.maxPoolSize=20 jdbc.maxIdleTime=1800 jdbc.acquireIncrement=5 jdbc.maxStatements=50 jdbc.initialPoolSize=10 jdbc.idleConnectionTestPeriod=1800 jdbc.acquireRetryAttempts=30
详细的参数含义在spring的配置文件会提及,就不细说了。
SqlMapConfig.xml:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <!-- 用户信息表 --> <sqlMap resource="com/broada/demo/dao/ibaties/map/User.xml" /> </sqlMapConfig>
User.xml:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap> <typeAlias alias="User" type="com.broada.demo.entity.User" /> <!-- 保存注册信息 --> <insert id="insertUser" parameterClass="User"> insert into user (name,password,username,address)values(#name#,#password#,#username#,#address#) </insert> <select id="selsectUser" parameterClass="java.lang.String" resultClass="User"> select * from user where name = #name#; </select> </sqlMap>
这样,ibatis的配置大致就完成。
第五步:配置spring的相关配置文件,主要是整合ibatis以及strust中用到的bean,需要配置web.xml以及applicationContext-web.xml两个配置文件:
web.xml:
<listener> <!-- 这个就是今后用到的WebApplicationUtilContent --> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <!-- springframework config files --> <context-param> <param-name>contextConfigLocation</param-name> <!-- 把spring的配置文件放到了/WEB-INF/下的springframework包里,方便统一管理,命名规则是以applicationContent-开头的xml文件,初始化时会自动搜索所有符合规则的配置文件 --> <param-value> /WEB-INF/spring/applicationContext-*.xml </param-value> </context-param>