版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、下午五點,終于搞定,高興今天是冬至節(jié),剛?cè)プ隽艘患媸虑?,自娛了一把,我們公司在一座五星寫字樓里面,裝修豪華,廁所的地板是橡膠瓷磚的那種,每次小便器前總有一塊瓷磚上面布滿了“地圖”,打掃衛(wèi)生的人寫了一張紙貼在墻上“大家注意,往前一步,文明一大片”,我剛剛偷偷的換了一張紙,上書“尿不進(jìn)去,說明你短”,哈哈開始寫這個文檔,我是實習(xí)生,很菜,很多東西不會,這個東西我配置了一天,剛配好,記錄下來。首先聲明,我這個事針對J2EE程序員的,不是針對Flex的,我的初衷就是在J2EE里加入Flex支持。有人說用flex沒必要用Struts,但是,我說用上最好,因為你不是每個頁面都用flex處理,很多很復(fù)雜
2、的流程flex投入巨大,所以還是普通jsp搞定最好。所以加上一層action不會影響太多性能的。嘿嘿。這個文檔是建立在你已經(jīng)學(xué)習(xí)了三大框架的而且已經(jīng)會三大框架的整合開發(fā)的基礎(chǔ)上的。要對整個流程熟悉,才能自己完成這個項目。其中有什么問題大家可以加我qq:402026752來討論。也可以給我發(fā)郵件索要工程源文件。在此提醒大家一點,flex加入后的S2SH項目不能直接導(dǎo)入,不然會有很多問題,主要是tomcat的webapps下沒有相關(guān)的配置文件,所以還是按照這個文檔一步一步來吧。Flex4的插件安裝方法網(wǎng)上有很多的,必須MyEclipse7.5以上,但是9.0的不要嘗試了。我已經(jīng)試過了,失敗了。我的
3、配置如下: MyEclipse8.5; Flex4插件版; Tomcat 6.0.26; BlazeDS 4.0;1, newàweb project,命名為flextest,這個我想不用截圖吧2 加入S2SH三大框架的jar包,也可以使用MyEclipse導(dǎo)入,配置各個配置文件。這個就是三大框架集成過程,不想多啰嗦。完成后的架構(gòu)圖先上一張:這是我完全做完后的效果圖這個項目雖然很小很簡單,但是我采用的是jspàactionàserviceàdaoà數(shù)據(jù)庫的標(biāo)準(zhǔn)工程做法。其中src中的hibernateutil包可以不要,這個是動力節(jié)點老師王勇寫
4、的工具包,主要就是導(dǎo)出Model到數(shù)據(jù)庫中,整個例子很簡單。我將代碼全部貼出來。到這一步你的工程里還沒有flex任何東西,但是我的截圖里有,這個你不用急往下看,你的SSH項目能運行起來才是關(guān)鍵。User.java:package com.xaut.bean;public class User private Integer id;private String username;private String password;public Integer getId() return id;public void setId(Integer id) this.id = id;public Str
5、ing getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPassword(String password) this.password = password;User.hbm.xml<?xml version="1.0" encoding="utf-8"?><!DOCTYPE h
6、ibernate-mapping PUBLIC "-/Hibernate/Hibernate Mapping DTD 3.0/EN""<hibernate-mapping> <class name="com.xaut.bean.User"> <id name="id" type="java.lang.Integer"> <generator class="identity" /> </id> <property name
7、="username" type="java.lang.String"/> <property name="password" type="java.lang.String"/> </class></hibernate-mapping>baseDAO.javapackage com.xaut.dao;import java.io.Serializable;import java.util.List;SuppressWarnings("rawtypes")
8、 public interface BaseDAO /* 加載指定ID的持久化對象 */public Object loadById(Class clazz,Serializable id);baseDAOImpl.javapackage com.xaut.dao;import java.io.Serializable;import java.util.List;import org.hibernate.Hibernate;import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernat
9、e.Session;import org.springframework.orm.hibernate3.HibernateCallback;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;SuppressWarnings("rawtypes") public class BaseDAOImpl extends HibernateDaoSupport implements BaseDAO /* 加載指定ID的持久化對象 */public Object loadById(Class cl
10、azz, Serializable id) return this.getHibernateTemplate().load(clazz, id);/*加載滿足條件的持久化對象*/public Object loadObject(String hql) final String hql1 = hql;Object obj = null;List list = getHibernateTemplate().executeFind(new HibernateCallback()public Object doInHibernate(Session session) throws HibernateE
11、xceptionQuery query = session.createQuery(hql1);return query.list(););if(list.size()>0)obj=list.get(0);return obj;EportDB.javapackage com.xaut.hibernateutil;import org.hibernate.cfg.Configuration;import org.hibernate.tool.hbm2ddl.SchemaExport;public class ExportDB public static void main(String a
12、rgs) /默認(rèn)讀取hibernate.cfg.xml文件Configuration cfg = new Configuration().configure();SchemaExport export = new SchemaExport(cfg);export.create(true, true);HibernateUtils.javapackage com.xaut.hibernateutil;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configura
13、tion;public class HibernateUtils private static SessionFactory factory;statictryConfiguration cfg = new Configuration().configure();factory = cfg.buildSessionFactory();catch(Exception e)e.printStackTrace();public static Session getSession()return factory.openSession();public static void closeSession
14、(Session session)if (session != null) if (session.isOpen() /關(guān)閉sessionsession.close();public static SessionFactory getSessionFactory()return factory;UserService.javapackage com.xaut.service;import com.xaut.bean.User;public interface UserService public User userlogin(String username,String password);U
15、serServiceImpl.javapackage com.xaut.service;import com.xaut.bean.User;import com.xaut.dao.BaseDAO;public class UserServiceImpl implements UserService/* 通過依賴注入DAO組件實例 */BaseDAO baseDAO; public BaseDAO getBaseDAO() return baseDAO;public void setBaseDAO(BaseDAO baseDAO) this.baseDAO = baseDAO;public Us
16、er userlogin(String username,String password)String hql="from User as a where a.username='"+username+"' and a.password='"+password+"'"return (User)baseDAO.loadObject(hql);UserAction.javapackage com.xaut.web.action;import java.io.IOException;import javax.
17、servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;import com.xaut.bean.User;import com.xaut.service.UserService;public class UserAction extends ActionSupport implements ModelDriven&l
18、t;User> private UserService userService;private User user=new User();public User getModel() / TODO Auto-generated method stubreturn user; public String login() throws IOExceptionHttpServletResponse response = ServletActionContext.getResponse();User tempUser = userService.userlogin(user.getUsernam
19、e(), user.getPassword();if(tempUser!=null)response.getWriter().write("success"); else response.getWriter().write("index"); return null;public UserService getUserService() return userService;public void setUserService(UserService userService) this.userService = userService;public
20、User getUser() return user;public void setUser(User user) this.user = user;到這一步要說明一下,login()不能像傳統(tǒng)Action那樣寫一個return語句就了事。必須采用我這種方法,要不然flex獲得的將是整個Action頁面。這就是和flex結(jié)合時要注意的地方。Hibernate.cfg.xml<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC "-/
21、Hibernate/Hibernate Configuration DTD 3.0/EN" "<hibernate-configuration><session-factory> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.connection.url">jdbc:mysql:/localhost:330
22、6/flextest</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">111111</property><property name="hibernate.dialect"> org.hibernate.dialect.MySQLDialect</property>
23、<property name="hibernate.show_sql">true</property><property name="hibernate.format_sql">false</property> <mapping resource="com/xaut/bean/User.hbm.xml"/></session-factory></hibernate-configuration>Struts.xml<?xml version=&qu
24、ot;1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-/Apache Software Foundation/DTD Struts Configuration 2.1/EN" "/dtds/struts-2.1.dtd"><struts><package name="default" namespace="/" extends="struts-
25、default"><action name="userLogin" class="userAction" method="login"><result name="index">/index.jsp</result><result name="success">/login_success.jsp</result></action></package></struts>applicat
26、ionContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance" xmlns:p="/schema/p"xsi:schemaLocation="http:/
27、/schema/beans /schema/beans/spring-beans-2.0.xsd"><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="com.mysql.jdbc.Driver"/><pr
28、operty name="jdbcUrl" value="jdbc:mysql:/localhost:3306/flextest?useUnicode=true&characterEncoding=utf8"/><property name="user" value="root"/><property name="password" value="111111"/><property name="maxPoolSi
29、ze" value="20"/><property name="minPoolSize" value="2"/><property name="initialPoolSize" value="2"/><property name="maxIdleTime" value="20"/></bean><bean id="sessionFactory" class="
30、;org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource"/><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
31、<prop key="hibernate.show_sql">true</prop></props></property><property name="mappingResources"><list><value>com/xaut/bean/User.hbm.xml</value></list></property></bean> <bean id="transactionManager" cla
32、ss="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <bean id="transactionInterceptor" class="erceptor.TransactionIntercept
33、or"> <property name="transactionManager" ref="transactionManager"/> <property name="transactionAttributes"> <props> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property></bean> <bean class=&qu
34、ot;org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="beanNames"> <list> <value>UserService</value> </list> </property> <property name="proxyTargetClass"> <value>true</value> </pr
35、operty> <property name="interceptorNames"> <list> <value>transactionInterceptor</value> </list> </property> </bean> <bean id="baseDAO" class="com.xaut.dao.BaseDAOImpl"> <property name="sessionFactory" ref=&
36、quot;sessionFactory"></property> </bean> <bean id="userService" class="com.xaut.service.UserServiceImpl"> <property name="baseDAO" ref="baseDAO"/> </bean> <bean id="userAction" class="com.xaut.web.action.
37、UserAction" scope="prototype"> <property name="userService" ref="userService"/> </bean> </beans>Web.xml<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns=" xmlns:xsi="http:/www.w3
38、.org/2001/XMLSchema-instance" xsi:schemaLocation=" <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> &
39、lt;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>
40、</filter-mapping> <display-name>BlazeDS</display-name> <description>BlazeDS Application</description> <!- Http Flex Session attribute and binding listener support -> <listener> <listener-class>flex.messaging.HttpFlexSession</listener-class> </
41、listener> <!- MessageBroker Servlet -> <servlet> <servlet-name>MessageBrokerServlet</servlet-name> <display-name>MessageBrokerServlet</display-name> <servlet-class>flex.messaging.MessageBrokerServlet</servlet-class> <init-param> <param-name
42、>services.configuration.file</param-name> <param-value>/WEB-INF/flex/services-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!- begin rds <servlet> <servlet-name>RDSDispatchServlet</servlet-name&g
43、t;<display-name>RDSDispatchServlet</display-name> <servlet-class>flex.rds.server.servlet.FrontEndServlet</servlet-class><init-param><param-name>useAppserverSecurity</param-name><param-value>true</param-value></init-param> <load-on-startu
44、p>10</load-on-startup> </servlet> <servlet-mapping id="RDS_DISPATCH_MAPPING"> <servlet-name>RDSDispatchServlet</servlet-name> <url-pattern>/CFIDE/main/ide.cfm</url-pattern> </servlet-mapping>end rds -> <servlet-mapping> <servle
45、t-name>MessageBrokerServlet</servlet-name> <url-pattern>/messagebroker/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> </welcome-file-list> <!- for
46、WebSphere deployment, please uncomment -> <!- <resource-ref> <description>Flex Messaging WorkManager</description> <res-ref-name>wm/MessagingWorkManager</res-ref-name> <res-type>com.ibm.websphere.asynchbeans.WorkManager</res-type> <res-auth>Conta
47、iner</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> -></web-app>建好工程后建好數(shù)據(jù)庫就可以運行ExportDB.java來導(dǎo)出表了,很方便。王勇老師很強(qiáng)大,建議大家有時間多看看他的視頻教程。至此你的j2ee項目應(yīng)該能運行了吧。添加flex支持:首先得有BlazeDS,解壓開里面的blazeds.war。打開WEB-INF找到flex和lib文件夾,復(fù)制到項目的WEB-INF文件夾下,有充滿文件選擇yes-to
48、-all.3 在WebRoot下新建一個文件夾flexpages準(zhǔn)備保存flex文件。到這一步先不要急,將項目部署到tomcat下,并啟動tomcat,一定要啟動,不然下面加入flex時Myeclipse無法獲取flex配置文件services-config.xml,導(dǎo)致不能繼續(xù)下去。4 右鍵工程名,選擇“添加/更改項目類型”,選擇“添加Flex項目類型”這一步具體選擇應(yīng)該和圖中保持一致。5,Next:這一步如果你沒有錯誤的話根文件夾就會自動獲取到信息。只需要自己改改就OK了。6:點擊驗證配置,F(xiàn)inish后,會發(fā)現(xiàn)項目上有一個紅叉,打開Problem視圖:顯示有一個問題,右鍵à重新
49、創(chuàng)建HTML模板;OK;7:新的問題來了,你會發(fā)現(xiàn)flex源文件和java源文件在一個文件夾中,這樣是不是很不爽,想要實現(xiàn)項目有效管理,就應(yīng)該將兩者分開;在項目名上右擊àProperties在下面的主源文件夾,將src改成flex_src;OK!輸出文件夾不用管。8:將src里的mxml文件拖到剛建好的flex_src下。OK基本已經(jīng)成型。9:在web.xml.中添加以下內(nèi)容 <!- Http Flex Session attribute and binding listener support -> <listener> <listener-class
50、>flex.messaging.HttpFlexSession</listener-class> </listener> <!- MessageBroker Servlet -> <servlet> <servlet-name>MessageBrokerServlet</servlet-name> <servlet-class>flex.messaging.MessageBrokerServlet</servlet-class> <init-param> <param-nam
51、e>services.configuration.file</param-name> <param-value>/WEB-INF/flex/services-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>MessageBrokerServlet</servlet-name> <
52、;url-pattern>/messagebroker/*</url-pattern></servlet-mapping>最終的web.xml如下所示;<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns=" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation=" <wel
53、come-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <filter> <filter-name>struts2</filter-name> <fil
54、ter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!- Http Flex Session attribute and binding listener support -&g
55、t; <listener> <listener-class>flex.messaging.HttpFlexSession</listener-class> </listener> <!- MessageBroker Servlet -> <servlet> <servlet-name>MessageBrokerServlet</servlet-name> <servlet-class>flex.messaging.MessageBrokerServlet</servlet-clas
56、s> <init-param> <param-name>services.configuration.file</param-name> <param-value>/WEB-INF/flex/services-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Message
57、BrokerServlet</servlet-name> <url-pattern>/messagebroker/*</url-pattern> </servlet-mapping> </web-app>9:編寫flextest.mxml;內(nèi)容如下<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx=" layout="absolute"> <mx:Script> <!CDATA import .navigateToURL;import mx.controls.Alert;import mx.rpc.events.ResultEvent; private function loginHandle():void doLogin.send(); private function loginResult(evt
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村產(chǎn)業(yè)融合市場需求分析
- 國旗下演講稿:學(xué)會做人(8篇)
- 2024-2025學(xué)年上海市寶山區(qū)淞誼中學(xué)七年級(上)第一次段考數(shù)學(xué)試卷(含解析)
- 語文統(tǒng)編版(2024)一年級上冊識字4 日月山川 教案
- 高中英語課本語法
- 第4講 古代希臘羅馬的政治課件
- 會計數(shù)據(jù)分析 Solutions-Manual Chapter-1-EOC-SM-Updated
- 地方政府與城投企業(yè)債務(wù)風(fēng)險研究報告-陜西篇 2024 -聯(lián)合資信
- 科學(xué)課件分享教學(xué)課件
- 課件怎樣配合講課
- 玻璃體積血的護(hù)理查房
- 入離職分析報告
- 2024年度政府招商引資培訓(xùn)課程
- 《規(guī)則意識班會》課件
- 2023年云南合和(集團(tuán))股份限公司招聘3人歷年高頻難易度、易錯點模擬試題(共500題)附帶答案詳解
- 企業(yè)文化建設(shè)與公司戰(zhàn)略的契合度
- 業(yè)務(wù)流程改善與創(chuàng)新
- 材料代用管理制度模版
- 個人傭金合同英文版
- 施工安全管理培訓(xùn)課件
- 廉潔進(jìn)校園清廉潤童心小學(xué)廉潔主題班會
評論
0/150
提交評論