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

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

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

    J2EE劍俠行

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

    常用鏈接

    統(tǒng)計(jì)

    技術(shù)鏈接

    最新評(píng)論

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

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


    本文以一個(gè)登錄為例。

    第一個(gè)JAVA文件


    /**============================================================
    ?*?版權(quán):?Antbee?版權(quán)所有?(c)?2002?-?2006
    ?*?文件:?com.antbee.sysmanage.login.action.UserAction
    ?*?所含類(lèi):?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?{
    ????
    //?依賴(lài)注入
    ????private?UserDAO?userDAO;

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

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

    ????
    /**
    ?????*
    ?????*?用戶(hù)登錄
    ?????*
    ?????*?
    @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);//?用戶(hù)姓名
    ????????????????session.setAttribute("UserId",?UserId);//?用戶(hù)ID
    ????????????????session.setAttribute("DeptId",?DeptId);//?部門(mén)ID
    ????????????????session.setAttribute("DeptName",?DeptName);//?部門(mén)DeptName
    ????????????????session.setAttribute("UserType",?UserType);//?用戶(hù)類(lèi)別
    ????????????????session.setAttribute("RoleId",?RoleId);//?角色I(xiàn)D
    ????????????????return?mapping.findForward("Comein");
    ????????????}
    ????????}
    ????????request.setAttribute(
    "UserMsg",?"User.LawLess");
    ????????
    return?mapping.findForward("Fail");
    ????}

    ????
    /**
    ?????*
    ?????*?用戶(hù)退出
    ?????*
    ?????*?
    @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");//?用戶(hù)姓名
    ????????session.removeAttribute("UserId");//?用戶(hù)ID
    ????????session.removeAttribute("DeptId");//?部門(mén)ID
    ????????session.removeAttribute("UserType");//?用戶(hù)類(lèi)別
    ????????session.removeAttribute("RoleId");//?角色I(xiàn)D
    ????????session.invalidate();//?控件無(wú)效
    ????????return?mapping.findForward("LogOut");
    ????}


    第二個(gè)JAVA文件:


    /**============================================================
    ?*?版權(quán):?antbee?版權(quán)所有?(c)?2002?-?2006
    ?*?文件:?com.antbee.kams.sysmanage.login.dao.UserDAO
    ?*?所含類(lèi):?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?{
    ????
    //用戶(hù)登錄 如果是正確的用戶(hù)名/密碼,則返回true,否則返回false
    ????public?boolean?Login(String?UserName,String?PassWord);
    ????
    //取得用戶(hù)信息
    ????public?AirlineUserInformation?GetUser(String?LoginName);
    }


    第三個(gè)JAVA文件;

    /**============================================================
    ?*?版權(quán):?antbee?版權(quán)所有?(c)?2002?-?2006
    ?*?文件:?com.antbee.sysmanage.login.dao.hibernate.UserDAOImpl
    ?*?所含類(lèi):?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)?用戶(hù)登錄?如果是正確的用戶(hù)名/密碼,則返回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)?取得用戶(hù)信息
    ?????
    */
    ????
    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;
    ????}
    }


    兩個(gè)配置文件,
    第一個(gè)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?/>
    ????
    <!--?動(dòng)態(tài)驗(yàn)證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>
    ????????
    <!--?所有非法用戶(hù)返回登錄頁(yè)面??-->
    ????????
    <forward?name="LoginGo"?path="/User.do?method=LogOut"></forward>
    ????????
    <!--?業(yè)務(wù)規(guī)則出錯(cuò)信息提示??-->
    ????????
    <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>
    ????
    <!--?使用表單驗(yàn)證共同類(lèi)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>


    第二個(gè)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插件就會(huì)自動(dòng)生成。

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

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

    評(píng)論

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

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

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

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

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

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

    主站蜘蛛池模板: 亚洲成av人在片观看| 亚洲综合婷婷久久| 久久国产乱子伦精品免费一 | 亚洲免费在线观看视频| 亚洲国产精品无码观看久久| 久久久久亚洲精品天堂久久久久久| 免费无码成人AV在线播放不卡| 亚洲AV日韩综合一区| 亚洲国产精品久久66| 国产无遮挡又黄又爽免费视频| 美女视频黄的免费视频网页 | 亚洲成AⅤ人影院在线观看| 99re在线这里只有精品免费| 亚洲另类自拍丝袜第五页| 久久精品国产亚洲香蕉| 国产精品色午夜视频免费看| 在线看片免费人成视久网| 免费看美女午夜大片| 亚洲六月丁香婷婷综合| 一本久到久久亚洲综合| 无码国产精品一区二区免费| 中国一级特黄高清免费的大片中国一级黄色片 | 亚洲Av无码乱码在线znlu| 国产成人精品免费视| 中文字幕无码免费久久9一区9| 亚洲精品二三区伊人久久| 亚洲国产精品无码久久久不卡| 成人免费福利电影| 免费高清国产视频| 一区二区视频免费观看| 亚洲成在人线在线播放无码| 亚洲av伊人久久综合密臀性色| 国产片免费福利片永久| 在线视频免费观看爽爽爽| 成人A片产无码免费视频在线观看| 美女被免费网站在线视频免费| 亚洲制服丝袜中文字幕| 亚洲国产一区二区三区青草影视 | 91麻豆国产自产在线观看亚洲| 妞干网免费视频在线观看| 182tv免费观看在线视频|