最近做了一个项目,因为听人家说Hibernate非常强大,心里有些发憷,所以改成ibatis了。由于水平有限,只能使用简单的框架了。管理还是spring.前端struts2。除了spring.其他的两个还真是刚刚接触。凭着一点点经验,摸着石头过河吧。好了,废话少说,开始。
一,系统说明:
OS:xp sp3
DB: oracle92
java:jdk1.6.0_10
ide:myeclipse6.0.1(比较老了,呵呵。个人比较落伍,赶不上潮流了)
二,环境搭建
1,上面软件怎么安装我就不说了,关于jdk home配置我也不说了,说了还不一定对。呵呵。
三,创建项目
1,File->New->WebProject
2,输入项目名,这里的J2EE Speicification Level 选择Java EE 5.0.
3,导入lib包。主要用到包请参照pic1.gif
4,web.xml配置
<display-name>aotongerp</display-name>
<!-- spring log4j 配置 -->
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>aotongerp</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
<!-- 设置编码格式 -->
<filter>
<filter-name>RequestEncodingFilter</filter-name>
<filter-class>
com.playgod.aterp.util.RequestEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value><!--gb2312-->
</init-param>
<init-param>
<param-name>ignore</param-name>
<param-value>false</param-value><!--false-->
</init-param>
</filter>
<filter-mapping>
<filter-name>RequestEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 设置编码格式 -->
<filter>
<filter-name>RequestPermitFilter</filter-name>
<filter-class>
com.playgod.aterp.util.RequestPermitFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>RequestPermitFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- struts2配置 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- DWR 配置 -->
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/dwr.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
其中包括了spring,struts2,log4j,dwr和一个自己写的编码过滤器。
整合ss还需要sturts.properties文件。内容如下
struts.objectFactory=spring
该文件位置在src根目录下
struts.xml文件样例
<struts>
<package name="default" extends="struts-default" namespace="/">
<!-- LoginAction配置 -->
<action name="login" class="loginClass" method="execute">
<result name="success">main.jsp</result>
<result name="input">login.jsp</result>
</action>
</package>
</struts>
该文件也在src目录下
spring整合ibatis。
applicationContext.xml
<!-- ibatis设置 -->
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="WEB-INF/sqlmap-config.xml"/>
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 使用sqlMapClient -->
<bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">
<property name="sqlMapClient">
<ref bean="sqlMapClient"/>
</property>
</bean>
OK.整合就先到这里吧。这样下来基本上就OK了。注意配ibatis的时候在web-inf下面扔一个sqlmap-config文件。
内容像下面的样子
<?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>
<!-- 所用到的SQL语句文件 -->
<!-- 用户表 -->
<sqlMap resource="com/playgod/aterp/system/sql/user-map.xml"/>
<!-- 角色表 -->
<sqlMap resource="com/playgod/aterp/system/sql/role-map.xml"/>
</sqlMapConfig>
未完待续