时下最流行的web开发框架,虽然有几个项目经验,俗话说好记性不如烂笔头啊。记下,日后参考。
一 先看log4j配置:
log4j.rootLogger=info,console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
log4j.logger.com.wehave=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=info
log4j.logger.java.sql.PreparedStatement=info
log4j.logger.java.sql.ResultSet=info
log4j.logger.javax.sql=info
基本设置就足矣。
二 ,看看web.xml 的整合
首先加入strtuts2 的filter
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts- plugin.xml,struts.xml,struts_books.xml</param-value>
</init-param>
</filter>
加入spring 监听:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Listener log4jConfigLocation -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
三 编写struts 配置文件:
<struts>
<package name="products" extends="struts-default">
<!--default-interceptor-ref name="validation"/-->
<!-- Add actions here -->
<action name="list" class="bookAction" method="list">
<result>/list.jsp</result>
</action>
<action name="delete" class="bookAction" method="delete">
<result type="redirect">list.action?queryMap=${queryMap}</result>
</action>
<action name="*" class="com.mycom.commons.AbstractAction">
<result>/{1}.jsp</result>
</action>
<action name="edit" class="bookAction" method="load">
<result>/editBook.jsp</result>
</action>
<action name="save" class="bookAction" method="save">
<interceptor-ref name="params"/>
<interceptor-ref name="validation"/>
<result name="input">/editBook.jsp</result>
<result type="redirect">list.action?queryMap=${queryMap}</result>
</action>
</package>
</struts>
这个就比较简单了,有的地方可以参考struts文档。
四 加载Hibernate配置
hibernate.cfg.xml
<hibernate-configuration>
<session-factory>
<property name="show_sql">true</property>
<mapping resource="com/mycom/books/model/books.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>
定义自己的bean,在总的cfg文件中加载即可。
五,看看spring的配置
首先是Hibernate数据源的配置,在这里用的是MySql。
<beans>
<!-- dataSource config -->
<bean id ="dataSource" class ="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/game?useUnicode=true&characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="root"/>
</bean>
<!-- SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="configLocation">
<value>classpath:com\mycom\bean\hibernate\hibernate.cfg.xml</value>
</property>
</bean>
<!-- TransactionManager 不过这里暂时没注入-->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<!-- DAO 定义-->
<bean id="booksDao" class="com.mycom.books.dao.hibernate.BooksMapDao">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<!-- service 定义-->
<!-- view 定义-->
</bean>
总结,这样一个SSH的基本框架就出来了,关于spring struts的默认加载可以在web.xml 中设置:比如,
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-context/applicationContext.xml</param-value>
</context-param>
这样基本自己添加一些JSP页面;就可以把基本框架建设好了。接下来就考虑事物,并发,性能等对系统进行逐步优化了。