參考博客:http://blog.csdn.net/SnowWitch/article/details/50925382
1. struts的核心jar包
-- struts2-core-2.3.1.1.jar struts核心包
-- freemarker-2.3.18.jar freeMarker是一個模板引擎,一個基於模板生成文本輸出的通用工具
-- commons-logging-1.1.1.jar Jakarta的通用日誌記錄包
-- ognl-3.0.3.jar 支持ognl表達式
-- xwork-core-2.3.1.1.jar xwork的包 由於Struts2是由xwork的延伸 有些類依然關聯着 xwork的類
-- commons-fileupload-1.2.2.jar struts的上傳下載
struts2需要導入的包:
-- asm-3.3.jar
-- asm-commons-3.3.jar
-- asm-tree-3.3.jar
-- commons-fileupload-1.2.2.jar
-- commons-io-2.0.1.jar
-- commons-lang3-3.1.jar
-- commons-logging-1.1.1.jar
-- freemarker-2.3.19.jar
-- javassist-3.11.0.GA.jar
-- ognl-3.0.6.jar
-- struts2-core-2.3.8.jar
-- swork-core-2.3.8.jar
struts的簡單原理:
-> 登錄一個網站,一般在web.xml中會默認跳轉到一個登錄界面login.jsp, login.jsp中有一個登錄的表單,表單的action爲login
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<form id="form1" name="form1" method="post" action="login"></form>
-> 點擊表單提交,struts攔截器會根據action的值跳轉到對應的頁面
web.xml中配置攔截器
<!-- 配置struts -->
<filter>
<filter-name>struts2</filter-name><!--這裏的名字要和下面一致 -->
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern><!--對所有的頁面過濾 -->
</filter-mapping>
struts.xml
<action name="login" class="com.hy.action.TestAction">
<result name="success">success.jsp</result>
</action>
若頁面返回的值爲"success",則跳轉到success.jsp。當然,這裏可以給多個結果判斷。
2. spring需要導入的包
-- aopalliance.jar
-- aspectjweaver.jar
-- cglib-nodep-2.1_3.jar
-- commons-dbcp-1.3.jar
-- commons-logging.jar
-- commons-pool-1.5.4.jar
-- log4j-1.2.15.jar
-- spring.jar
-- spring-aop.jar
-- spring-beans.jar
-- spring-context.jar
-- spring-core.jar
-- spring-jdbc.jar
-- spring-tx.jar
-- struts2-spring-plugin-2.3.8.jar
整合spring後,struts中的過濾配置:
struts.xml
<package name="default" extends="struts-default">
<!-- struts和spring整合配置 -->
<action name="login" class="loginServer">
<result name="success">success.jsp</result>
</action>
</package>
applicationContext.xml
<!-- Service配置 -->
<bean id="loginService" class="com.hy.service.impl.LoginServiceImpl" />
<!-- Action配置 -->
<bean id="loginServer" class="com.hy.action.LoginAction" scope="prototype"><!--id對應struts.xml中對應action的class名稱,前端請求被攔截後會程序會跳轉到這,接着執行
com.hy.action.LoginAction實現類中的代碼,執行完實現類中代碼返回到struts.xml的action中,根據實現類中返回值確定最後展示頁面
--> <property name="loginService" ref="loginService"></property><!--這裏是將com.hy.action.LoginAction注入到spring容器中--> </bean>
scope="prototype"配置每次請求都創建一個新的action對象,默認是單例設計模式 spring四種依賴注入的方式,參考博文:
http://blessht.iteye.com/blog/1162131
3.Hibernate需要的jar包
-- antlr-2.7.6.jar
-- commons-collections-3.1.jar
-- dom4j-1.6.1.jar
-- hibernate3.jar
-- jta-1.1.jar
-- mysql-connector-java-5.1.10.bin.jar
-- slf4j-api-1.5.8.jar
-- slf4j-log44j12-1.5.8.jar