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

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

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

    J2EE劍俠行

    直覺我的J2EE應用生涯,打造我心中的一把利劍。

    常用鏈接

    統計

    技術鏈接

    最新評論

    三個JAVA文件完成你的MVC應用

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


    本文以一個登錄為例。

    第一個JAVA文件


    /**============================================================
    ?*?版權:?Antbee?版權所有?(c)?2002?-?2006
    ?*?文件:?com.antbee.sysmanage.login.action.UserAction
    ?*?所含類:?UserAction
    ?*?修改記錄:
    ?*?日期????????????????作者????????????????內容
    ?*?=============================================================
    ?*?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:?版權所有?(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);//?角色ID
    ????????????????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");//?角色ID
    ????????session.invalidate();//?控件無效
    ????????return?mapping.findForward("LogOut");
    ????}


    第二個JAVA文件:


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

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

    import?java.util.List;

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

    /**
    ?*?<p></p>
    ?*
    ?*?<p>Copyright:?版權所有?(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文件;

    /**============================================================
    ?*?版權:?antbee?版權所有?(c)?2002?-?2006
    ?*?文件:?com.antbee.sysmanage.login.dao.hibernate.UserDAOImpl
    ?*?所含類:?UserDAOImpl
    ?*?修改記錄:
    ?*?日期????????????????作者????????????????內容
    ?*?=============================================================
    ?*?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:?版權所有?(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?/>
    ????
    <!--?動態驗證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>
    ????
    <!--?全局轉向?-->
    ????
    <global-forwards>
    ????????
    <!--?所有非法用戶返回登錄頁面??-->
    ????????
    <forward?name="LoginGo"?path="/User.do?method=LogOut"></forward>
    ????????
    <!--?業務規則出錯信息提示??-->
    ????????
    <forward?name="Fail"?path="/jsp/common/failed.jsp"></forward>
    ????
    </global-forwards>
    ????
    <!--?分發控制?-->
    ????
    <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控制事務?-->
    ????
    <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插件就會自動生成。

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

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

    評論

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

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

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

    樓主!好牛的題目!可惜你的文章應該放到新手區吧!  回復  更多評論   

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

    呵呵,能總結也是不錯滴。  回復  更多評論   

    主站蜘蛛池模板: 亚洲精品国产精品乱码视色| 免费观看理论片毛片| 亚洲一区二区女搞男| 亚洲欧美国产国产综合一区 | 亚洲精品国产第一综合99久久| 99久9在线|免费| 1区1区3区4区产品亚洲| 中文字幕免费高清视频| 亚洲精品视频在线免费| 日本免费人成在线网站| 国产91在线|亚洲| 日韩成全视频观看免费观看高清| 亚洲AV无码成人精品区日韩| 又爽又高潮的BB视频免费看| 未满十八私人高清免费影院| 亚洲精品无码久久久久AV麻豆| 国产乱妇高清无乱码免费| 亚洲人成亚洲人成在线观看| 特级精品毛片免费观看| 亚洲伊人久久大香线蕉影院| 破了亲妺妺的处免费视频国产| 一级毛片aaaaaa视频免费看| 国产∨亚洲V天堂无码久久久| 久久久久久久久久国产精品免费| 亚洲婷婷在线视频| 国产精品免费综合一区视频| 久久九九久精品国产免费直播| 中文字幕亚洲精品资源网| 嫩草影院在线免费观看| 在线观看亚洲网站| ZZIJZZIJ亚洲日本少妇JIZJIZ| 久久久久久AV无码免费网站下载| 国产亚洲玖玖玖在线观看| 伊人久久亚洲综合影院| kk4kk免费视频毛片| 亚洲精品乱码久久久久久按摩| 69av免费视频| 久久WWW免费人成—看片| 亚洲色图.com| 在线免费观看一级毛片| 久久久精品国产亚洲成人满18免费网站 |