<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    J2EE劍俠行

    直覺我的J2EE應(yīng)用生涯,打造我心中的一把利劍。

    常用鏈接

    統(tǒng)計

    技術(shù)鏈接

    最新評論

    三個JAVA文件完成你的MVC應(yīng)用

    只需要你三個JAVA類和兩個配置文件,就可以完成你的MVC應(yīng)用,我們就做一個示例吧。


    本文以一個登錄為例。

    第一個JAVA文件


    /**============================================================
    ?*?版權(quán):?Antbee?版權(quán)所有?(c)?2002?-?2006
    ?*?文件:?com.antbee.sysmanage.login.action.UserAction
    ?*?所含類:?UserAction
    ?*?修改記錄:
    ?*?日期????????????????作者????????????????內(nèi)容
    ?*?=============================================================
    ?*?2006-8-28????????????和巍雅?????????????建立文件
    ?*?============================================================
    */

    package?com.antbee.sysmanage.login.action;

    import?java.util.List;

    import?javax.servlet.http.HttpServletRequest;
    import?javax.servlet.http.HttpServletResponse;
    import?javax.servlet.http.HttpSession;

    import?org.apache.struts.action.ActionForm;
    import?org.apache.struts.action.ActionForward;
    import?org.apache.struts.action.ActionMapping;
    import?org.apache.struts.actions.DispatchAction;
    import?org.apache.struts.validator.DynaValidatorForm;
    import?com.antbee.hibernate.model.AirlineUserInformation;
    import?com.antbee.sysmanage.login.dao.UserDAO;

    /**
    ?*?<p>
    ?*?</p>
    ?*
    ?*?<p>
    ?*?Copyright:?版權(quán)所有?(c)?2002?-?2006
    ?*?</p>
    ?*?<p>
    ?*?Company:?antbee
    ?*?</p>
    ?*
    ?*?
    @author?@家軍
    ?*?
    @version?1.0
    ?
    */

    public?class?UserAction?extends?DispatchAction?{
    ????
    //?依賴注入
    ????private?UserDAO?userDAO;

    ????
    public?UserDAO?getUserDAO()?{
    ????????
    return?userDAO;
    ????}

    ????
    public?void?setUserDAO(UserDAO?userDAO)?{
    ????????
    this.userDAO?=?userDAO;
    ????}????????

    ????
    /**
    ?????*
    ?????*?用戶登錄
    ?????*
    ?????*?
    @param
    ?????*?
    @return
    ?????*?
    @throws
    ?????
    */
    ????
    public?ActionForward?Login(ActionMapping?mapping,?ActionForm?form,
    ????????????HttpServletRequest?request,?HttpServletResponse?response)
    ????????????
    throws?Exception?{
    ????????HttpSession?session?
    =?request.getSession();
    ????????DynaValidatorForm?LoginActionForm?
    =?(DynaValidatorForm)?form;
    ????????AirlineUserInformation?User?
    =?(AirlineUserInformation)?LoginActionForm
    ????????????????.get(
    "User");
    ????????
    if?(User?!=?null)?{
    ????????????String?MDpwd?
    =?CommonTools.encrypt(User.getPassword());
    ????????????
    if?(userDAO.Login(User.getLoginName(),?MDpwd))?{
    ????????????????
    //?成功登錄
    ????????????????
    //?加載一些session
    ????????????????AirlineUserInformation?LegalUser?=?userDAO.GetUser(User
    ????????????????????????.getLoginName());
    ????????????????String?LoginName?
    =?LegalUser.getLoginName();
    ????????????????String?UserName?
    =?LegalUser.getUserName();
    ????????????????String?UserId?
    =?LegalUser.getUserId().toString();
    ????????????????String?UserType?
    =?LegalUser.getUserType().toString();
    ????????????????String?DeptId?
    =?LegalUser.getAirlineDepartmentInformation()
    ????????????????????????.getDepartmentId().toString();
    ????????????????String?DeptName?
    =?LegalUser.getAirlineDepartmentInformation().getDepartmentName();
    ????????????????String?RoleId?
    =?LegalUser.getSysRoleInfo().getRoleId()
    ????????????????????????.toString();
    ????????????????session.setAttribute(
    "LoginName",?LoginName);//?登錄名
    ????????????????session.setAttribute("UserName",?UserName);//?用戶姓名
    ????????????????session.setAttribute("UserId",?UserId);//?用戶ID
    ????????????????session.setAttribute("DeptId",?DeptId);//?部門ID
    ????????????????session.setAttribute("DeptName",?DeptName);//?部門DeptName
    ????????????????session.setAttribute("UserType",?UserType);//?用戶類別
    ????????????????session.setAttribute("RoleId",?RoleId);//?角色I(xiàn)D
    ????????????????return?mapping.findForward("Comein");
    ????????????}
    ????????}
    ????????request.setAttribute(
    "UserMsg",?"User.LawLess");
    ????????
    return?mapping.findForward("Fail");
    ????}

    ????
    /**
    ?????*
    ?????*?用戶退出
    ?????*
    ?????*?
    @param
    ?????*?
    @return
    ?????*?
    @throws
    ?????
    */
    ????
    public?ActionForward?LogOut(ActionMapping?mapping,?ActionForm?form,
    ????????????HttpServletRequest?request,?HttpServletResponse?response)
    ????????????
    throws?Exception?{
    ????????HttpSession?session?
    =?request.getSession();
    ????????session.removeAttribute(
    "LoginName");//?登錄名
    ????????session.removeAttribute("UserName");//?用戶姓名
    ????????session.removeAttribute("UserId");//?用戶ID
    ????????session.removeAttribute("DeptId");//?部門ID
    ????????session.removeAttribute("UserType");//?用戶類別
    ????????session.removeAttribute("RoleId");//?角色I(xiàn)D
    ????????session.invalidate();//?控件無效
    ????????return?mapping.findForward("LogOut");
    ????}


    第二個JAVA文件:


    /**============================================================
    ?*?版權(quán):?antbee?版權(quán)所有?(c)?2002?-?2006
    ?*?文件:?com.antbee.kams.sysmanage.login.dao.UserDAO
    ?*?所含類:?IUserDAO
    ?*?修改記錄:
    ?*?日期????????????????作者????????????????內(nèi)容
    ?*?=============================================================
    ?*?2006-8-28???????????@家軍?????????????建立文件
    ?*?============================================================
    */

    package?com.antbee.sysmanage.login.dao;

    import?java.util.List;

    import?com.antbee.hibernate.model.AirlineUserInformation;

    /**
    ?*?<p></p>
    ?*
    ?*?<p>Copyright:?版權(quán)所有?(c)?2002?-?2006</p>
    ?*?<p>Company:?antbee</p>
    ?*
    ?*?
    @author?@家軍
    ?*?
    @version?1.0
    ?
    */

    public?interface?UserDAO?{
    ????
    //用戶登錄 如果是正確的用戶名/密碼,則返回true,否則返回false
    ????public?boolean?Login(String?UserName,String?PassWord);
    ????
    //取得用戶信息
    ????public?AirlineUserInformation?GetUser(String?LoginName);
    }


    第三個JAVA文件;

    /**============================================================
    ?*?版權(quán):?antbee?版權(quán)所有?(c)?2002?-?2006
    ?*?文件:?com.antbee.sysmanage.login.dao.hibernate.UserDAOImpl
    ?*?所含類:?UserDAOImpl
    ?*?修改記錄:
    ?*?日期????????????????作者????????????????內(nèi)容
    ?*?=============================================================
    ?*?2006-8-28????????????@家軍?????????????建立文件
    ?*?============================================================
    */

    package?com.antbee.sysmanage.login.dao.hibernate;

    import?java.util.ArrayList;
    import?java.util.Collections;
    import?java.util.Comparator;
    import?java.util.Iterator;
    import?java.util.List;
    import?java.util.Set;

    import?org.springframework.orm.ObjectRetrievalFailureException;
    import?org.springframework.orm.hibernate3.support.HibernateDaoSupport;


    import?com.antbee.hibernate.model.AirlineUserInformation;
    import?com.travelsky.kams.sysmanage.login.dao.UserDAO;

    /**
    ?*?<p>
    ?*?</p>
    ?*
    ?*?<p>
    ?*?Copyright:?版權(quán)所有?(c)?2002?-?2006
    ?*?</p>
    ?*?<p>
    ?*?Company:?antbee
    ?*?</p>
    ?*
    ?*?
    @author?Administrator
    ?*?
    @version?1.0
    ?
    */

    public?class?UserDAOImpl?extends?HibernateDaoSupport?implements?UserDAO?{

    ????
    /*
    ?????*?(非?Javadoc)
    ?????*
    ?????*?@see?com.travelsky.kams.sysmanage.login.dao.IUserDAO#Login(java.lang.String,
    ?????*??????java.lang.String)?用戶登錄?如果是正確的用戶名/密碼,則返回true,否則返回false
    ?????
    */
    ????
    public?boolean?Login(String?UserName,?String?PassWord)?{
    ????????
    //?TODO?Auto-generated?method?stub
    ????????String?finduser?=?"from?AirlineUserInformation?as?user?where?user.loginName='"
    ????????????????
    +?UserName?+?"'?and?user.password='"?+?PassWord?+?"'";
    ????????List?Lfinduser?
    =?this.getHibernateTemplate().find(finduser);
    ????????
    if?(Lfinduser.size()?>=?1)?{
    ????????????
    return?true;
    ????????}
    ????????
    return?false;
    ????}

    ????
    /*
    ?????*?(非?Javadoc)
    ?????*
    ?????*?@see?com.travelsky.kams.sysmanage.login.dao.IUserDAO#Login(java.lang.String,
    ?????*??????java.lang.String)?取得用戶信息
    ?????
    */
    ????
    public?AirlineUserInformation?GetUser(String?LoginName)?{
    ????????
    //?TODO?Auto-generated?method?stub
    ????????AirlineUserInformation?user?=?null;
    ????????String?finduser?
    =?"from?AirlineUserInformation?as?user?where?user.loginName='"
    ????????????????
    +?LoginName?+?"'";
    ????????List?Lfinduser?
    =?this.getHibernateTemplate().find(finduser);
    ????????
    if?(Lfinduser.size()?>=?1)?{
    ????????????user?
    =?(AirlineUserInformation)?Lfinduser.get(0);
    ????????}?
    else?{
    ????????????
    throw?new?ObjectRetrievalFailureException(
    ????????????????????AirlineUserInformation.
    class,?LoginName);
    ????????}
    ????????
    return?user;
    ????}
    }


    兩個配置文件,
    第一個struts-config.xml

    <?xml?version="1.0"?encoding="UTF-8"?>
    <!DOCTYPE?struts-config?PUBLIC?"-//Apache?Software?Foundation//DTD?Struts?Configuration?1.2//EN"?"http://struts.apache.org/dtds/struts-config_1_2.dtd">

    <struts-config>
    ????
    <data-sources?/>
    ????
    <!--?動態(tài)驗證FORM??-->
    ????
    <form-beans>
    ????????
    <form-bean?name="LoginActionForm"
    ????????????type
    ="org.apache.struts.validator.DynaValidatorForm">
    ????????????
    <form-property?name="User"
    ????????????????type
    ="com.antbee.hibernate.model.AirlineUserInformation"?/>
    ????????
    </form-bean>
    ????
    </form-beans>
    ????
    <!--?全局異常?-->
    ????
    <global-exceptions>
    ????????
    <exception?key="error.required"
    ????????????type
    ="org.springframework.dao.DataAccessException"
    ????????????path
    ="/dataAccessFailure.jsp"?/>
    ????
    </global-exceptions>
    ????
    <!--?全局轉(zhuǎn)向?-->
    ????
    <global-forwards>
    ????????
    <!--?所有非法用戶返回登錄頁面??-->
    ????????
    <forward?name="LoginGo"?path="/User.do?method=LogOut"></forward>
    ????????
    <!--?業(yè)務(wù)規(guī)則出錯信息提示??-->
    ????????
    <forward?name="Fail"?path="/jsp/common/failed.jsp"></forward>
    ????
    </global-forwards>
    ????
    <!--?分發(fā)控制?-->
    ????
    <action-mappings>
    ????????
    <action?path="/User"
    ????????????type
    ="org.springframework.web.struts.DelegatingActionProxy"
    ????????????name
    ="LoginActionForm"?scope="request"?parameter="method"
    ????????????validate
    ="false">
    ????????????
    <forward?name="UserMenu"?path="/jsp/leftMenu.jsp"?/>
    ????????????
    <forward?name="Comein"?path="/jsp/index.jsp"?/>
    ????????????
    <forward?name="LogOut"?path="/login.jsp"?/>
    ????????
    </action>????????
    ????
    </action-mappings>
    ????
    <!--?資源文件?-->
    ????
    <message-resources?parameter="resources.ApplicationResources"?/>
    ????
    <!--?使用Spring控制事務(wù)?-->
    ????
    <plug-in
    ????????
    className="org.springframework.web.struts.ContextLoaderPlugIn">
    ????????
    <set-property?property="contextConfigLocation"
    ????????????value
    ="classpath:applicationContext.xml"?/>
    ????
    </plug-in>
    ????
    <!--?使用表單驗證共同類validator?-->
    ????
    <plug-in?className="org.apache.struts.validator.ValidatorPlugIn">
    ????????
    <set-property?property="pathnames"
    ????????????value
    ="/WEB-INF/validator-rules.xml,?/WEB-INF/validation.xml"?/>
    ????
    </plug-in>
    </struts-config>


    第二個XML文件:
    applicationContext.xml


    <?xml?version="1.0"?encoding="UTF-8"?>
    <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">

    <beans>

    ????
    <!--Start?of?Session?Factory?-->
    ????
    <bean?id="SessionFactory"
    ????????class
    ="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    ????????
    <property?name="configLocation">
    ????????????
    <value>classpath:hibernate.cfg.xml</value>
    ????????
    </property>
    ????????
    <property?name="hibernateProperties">
    ????????????
    <props>
    ????????????????
    <prop?key="connection.provider_class">
    ????????????????????org.hibernate.connection.ProxoolConnectionProvider
    ????????????????
    </prop>
    ????????????????
    <prop?key="hibernate.dialect">
    ????????????????????org.hibernate.dialect.Oracle9Dialect
    ????????????????
    </prop>
    ????????????
    </props>
    ????????
    </property>
    ????
    </bean>
    ????
    <!--End?of?SessionFactory?-->

    ????
    <!--Start?of?TransactionManager?-->
    ????
    <bean?id="TransactionManager"
    ????????class
    ="org.springframework.orm.hibernate3.HibernateTransactionManager"
    ????????abstract
    ="false"?singleton="true"?lazy-init="default"
    ????????autowire
    ="default"?dependency-check="default">
    ????????
    <property?name="sessionFactory">
    ????????????
    <ref?bean="SessionFactory"?/>
    ????????
    </property>
    ????
    </bean>
    ????
    <!--End?of?TransactionManager?-->
    ????
    <!--?基本的DAO?BEGIN-->
    ????
    <bean?id="BaseTransactionProxy"
    ????????class
    ="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
    ????????abstract
    ="true">
    ????????
    <property?name="transactionManager">
    ????????????
    <ref?bean="TransactionManager"?/>
    ????????
    </property>
    ????????
    <property?name="proxyTargetClass">
    ????????????
    <value>true</value>
    ????????
    </property>
    ????????
    <property?name="transactionAttributes">
    ????????????
    <props>
    ????????????????
    <prop?key="save*">PROPAGATION_REQUIRED</prop>
    ????????????????
    <prop?key="remove*">PROPAGATION_REQUIRED</prop>
    ????????????????
    <prop?key="*">PROPAGATION_REQUIRED</prop>
    ????????????
    </props>
    ????????
    </property>
    ????
    </bean>
    ????
    <!--?基本的DAO?END?-->

    ????
    <!--Start?of?userDAO?-->
    ????
    <bean?id="userDAO"
    ????????class
    ="com.antbee.sysmanage.login.dao.hibernate.UserDAOImpl">
    ????????
    <property?name="sessionFactory">
    ????????????
    <ref?local="SessionFactory"?/>
    ????????
    </property>
    ????
    </bean>
    ????
    <bean?id="userDAOProxy"?parent="BaseTransactionProxy"
    ????????class
    ="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
    ????????
    <property?name="target">
    ????????????
    <ref?local="userDAO"?/>
    ????????
    </property>
    ????
    </bean>
    ????
    <!--End?of?userDAO?-->
    ????????????????

    ????
    <!--Start?of?UserAction?-->
    ????
    <bean?name="/User"
    ????????class
    ="com.antbee.sysmanage.login.action.UserAction"?singleton="false">
    ????????
    <property?name="userDAO">
    ????????????
    <ref?bean="userDAOProxy"?/>
    ????????
    </property>
    ????
    </bean>
    ????
    <!--End?of?AddUserAction?-->

    </beans>


    其它的POJO使用myeclise插件就會自動生成。

    呵呵是不是開發(fā)很簡單呢,能夠節(jié)省你多少的工作量呀,如果有興趣的同志可以共同探討。

    posted on 2006-09-29 11:43 @家軍 閱讀(1901) 評論(3)  編輯  收藏 所屬分類: J2EE技術(shù)類

    評論

    # re: 三個JAVA文件完成你的MVC應(yīng)用 2006-09-29 12:18 竹十一

    !好題目!
    還以為你用3個文件自己實現(xiàn)了MVC呢,失望!  回復(fù)  更多評論   

    # re: 三個JAVA文件完成你的MVC應(yīng)用 2006-09-29 14:11 kangxm

    樓主!好牛的題目!可惜你的文章應(yīng)該放到新手區(qū)吧!  回復(fù)  更多評論   

    # re: 三個JAVA文件完成你的MVC應(yīng)用 2006-09-30 11:15 冰川

    呵呵,能總結(jié)也是不錯滴。  回復(fù)  更多評論   

    主站蜘蛛池模板: 日本亚洲成高清一区二区三区| 黄页网站免费在线观看| 国产无遮挡色视频免费观看性色 | 亚洲av无码国产精品夜色午夜 | 亚洲一区在线免费观看| 中文字幕在线观看免费视频| 国产成人综合亚洲| 在线看亚洲十八禁网站| 精品一区二区三区免费毛片| 国产精品亚洲av色欲三区| 亚洲理论片中文字幕电影| 亚洲综合激情另类小说区| 亚洲国产成人久久三区| 亚洲欧洲日产专区| 亚洲色无码专区在线观看| 在线观看午夜亚洲一区| 亚洲动漫精品无码av天堂| 久久夜色精品国产噜噜噜亚洲AV | 亚洲成a人片在线观看国产| 亚洲免费日韩无码系列| 亚洲人成色777777在线观看| 亚洲人成依人成综合网| 国产成人亚洲合集青青草原精品| 亚洲精品无AMM毛片| 一区二区视频免费观看| 日韩精品免费在线视频| 4455永久在线观免费看| 免费观看的av毛片的网站| 18未年禁止免费观看| 久久WWW免费人成人片| 精品久久久久久久免费人妻| 亚洲电影日韩精品| 亚洲第一极品精品无码久久| 亚洲国产精品综合福利专区| 亚洲欧美成人av在线观看| 一区二区视频免费观看| 一区二区免费视频| 24小时日本在线www免费的| 亚洲日本中文字幕一区二区三区| 亚洲av永久无码精品古装片| 亚洲an日韩专区在线|