- 浏览: 606443 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (263)
- 默认类别 (0)
- STRUTS HIBERNATE (2)
- STRUTS SPRING HIBERNATE (18)
- SOA/WEB service (8)
- PORTAL (3)
- 想法和设计思想 (17)
- SMARTEAM 二次开发 (0)
- ACTIVEBPEL (0)
- ERP (0)
- EAI (0)
- 甲醇汽油 (0)
- webwork freemarker spring hibernate (1)
- 工作流技术研究 (1)
- ROR (5)
- 搜索引擎 (7)
- 3.非技术区 (0)
- 1.网站首页原创Java技术区(对首页文章的要求: 原创、高质量、经过认真思考并精心写作。BlogJava管理团队会对首页的文章进行管理。) (2)
- 2.Java新手区 (2)
- 4.其他技术区 (0)
- ESB (1)
- Petals ESB (6)
- 手机开发 (1)
- docker dedecms (1)
最新评论
-
w630636065:
楼主,期待后续!!!!!!!!
生成文本聚类java实现 (2) -
zilong513:
十分感谢楼主,期待后续。
生成文本聚类java实现 (2) -
qqgoodluck:
可否介绍一下您的选型依据,包括Petal ESB与MULE等E ...
Petals ESB 简介 -
jackiee_cn:
写的比较清楚,学习了
Petals ESB 集群实战 -
忙两夜:
你好,能发一下源代码吗
抓取口碑网店铺资料
只需要你三个JAVA类和两个配置文件,就可以完成你的MVC应用,我们就做一个示例吧。
非常报歉,因为老板在,所以前几天落下了这个BLOG,对不起了。
本文以一个登录为例。
第一个JAVA文件
第二个JAVA文件:
第三个JAVA文件;
两个配置文件,
第一个struts-config.xml
第二个XML文件:
applicationContext.xml
其它的POJO使用myeclise插件就会自动生成。
呵呵是不是开发很简单呢,能够节省你多少的工作量呀,如果有兴趣的同志可以共同探讨。
没东西啊
非常报歉,因为老板在,所以前几天落下了这个BLOG,对不起了。
本文以一个登录为例。
第一个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插件就会自动生成。
呵呵是不是开发很简单呢,能够节省你多少的工作量呀,如果有兴趣的同志可以共同探讨。
评论
9 楼
jzx19770812
2006-12-02
不错的文章,很适合我这样的初学者,目前在写个bookstore的例子,正在做事务的配置呢,作者的文章对我很有帮助,谢谢。
:D
其实作者的这三个文件两个配置已经把struts+spring+hibernate应用的关键部分都写出来了,也用不着完整的例子了
:D
其实作者的这三个文件两个配置已经把struts+spring+hibernate应用的关键部分都写出来了,也用不着完整的例子了
8 楼
ouspec
2006-10-10
恩,这个帖子,请等待申诉
7 楼
heweiya
2006-10-09
呵呵,居然被评为垃圾贴,心里倒是不明白了,这个我没有照抄谁家的代码,只是在不断实践中去掉了反复COPY代码而且对实际编码又哆嗦的service层。也就是以前要用的至少5个JAVA文件,还有比较哆嗦的配置文件等。三个JAVA文件好象工作量会减少很多吧。
为什么又有人反对呢?想不明白。
N,可能是标题让人反感吧。
我现在开发就是使用这个结构组织自己的程序的,开发量比较小,正在研究使用ANT来生成尤如rails一样的东东呢。希望ANT出一个scaffold,使用 antbee script/generate controller LoginAction Login LoginOut。
为什么又有人反对呢?想不明白。
N,可能是标题让人反感吧。
我现在开发就是使用这个结构组织自己的程序的,开发量比较小,正在研究使用ANT来生成尤如rails一样的东东呢。希望ANT出一个scaffold,使用 antbee script/generate controller LoginAction Login LoginOut。
6 楼
jigsaw
2006-09-29
楼主真的很强。。。看标题还以为是自己写了个超简单的框架呢。。。
哪怕你把这里的内容拷贝过来也好得多啊
http://csis.pace.edu/~bergin/mvc/mvcgui.html
哪怕你把这里的内容拷贝过来也好得多啊
http://csis.pace.edu/~bergin/mvc/mvcgui.html
5 楼
java虫
2006-09-29
少了service层,其他的没看出来哪有什么简单之处
建议改一下帖子的标题
建议改一下帖子的标题
4 楼
BirdGu
2006-09-29
这是在干嘛?普及Spring?
3 楼
jichongchong
2006-09-27
没东西啊
2 楼
ouspec
2006-09-25
例子呢?
1 楼
毛冬
2006-09-25
例子! 例子!!
发表评论
-
Eclipse当中两种远程调试方法
2011-01-05 11:17 2277基于Maven管理的项目,在eclipse当中有两种调 ... -
[翻译]使用Maven创建google Appengine
2010-05-06 15:35 2184原文请参考:http://www.salientpoin ... -
Not must be hibernate.properties or hibernate.cfg.xml
2010-03-05 13:47 1307Sometimes, Custom have ext ... -
使用yourkit java profiler进行性能分析
2010-01-28 17:00 4462说明: YourKit Java Profile ... -
试用Hibernate二级缓存Ehcache
2010-01-28 15:50 1861Hibernate supports several t ... -
给你的应用加入简易Licence限制
2009-06-01 15:01 3165有的时候,客户会提出这样的需求,他们的应用能不能当 ... -
优化hibernate的一招。
2007-11-09 10:20 1668原来的程序: java 代码 List Lre ... -
JSF+A4J+Spring调用ORACLE存贮过程的拙作
2007-08-17 09:35 2820近一周写了一个简单的工具,本工具是通过Spring ... -
hibernate3.2上使用UserType范例
2007-07-27 13:57 3200仔细看看hibernate的DOC发现不少惊奇的东东 ... -
三个JAVA文件完成jsf+spring+hibernate的集成.
2007-07-16 17:43 3673呵呵,本文章只贡献给哪些走捷径的coder, 开发工具:mye ... -
Myeclise5.5自动生成spring2.0+hibernate3.2+jsf1.1时的错误
2007-07-16 15:25 11149我使用myeclipse5.5分别加入hibernate3.2 ... -
ORACLE SQL语句in超过1000个的处理方法
2007-06-25 16:21 11265表现的情况: sql 代码 Hibernate ... -
EXCEL导入数据库及数据库数据导出到EXCEL
2007-05-18 17:01 16038很久没有发BLOG,呵呵,是因为最近在帮助朋友在做一个项 ... -
近期完成的一个较大的JS验证
2007-03-02 11:18 3611呵呵,近期偶完成的一个较大的JS验证,行家一看就 ... -
使用SSH+Freemarker做新闻发布系统
2007-02-07 17:18 9083最近, ... -
struts标签,请你走开(系列一)
2006-09-25 16:07 4935在项目开发的很多 ... -
用二维数组管理好你零乱的状态、分类和其它常用选项
2006-09-25 15:01 4017在大家的编码过程当中,有没有遇到过这么一种情况,很多零乱的状态 ...
相关推荐
Java MVC框架是软件开发中广泛使用的模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。这个标题所指的“很好的JAVA的MVC框架应用实例”很可能是提供了一个使用Java实现MVC...
在IT行业中,MVC(Model-View-Controller)框架是一种广泛应用的设计模式,它将应用程序的逻辑分为三个主要组件,以实现更好的分离关注点和代码组织。"利用Java做的基本MVC框架"指的是使用Java编程语言实现的一个MVC...
### 利用MVC模式开发Java应用程序 #### 一、MVC模式简介 MVC(Model-View-Controller)模式是一种广泛应用于软件工程中的架构模式,尤其在Web应用开发领域非常常见。它将应用程序分为三个核心组件:模型(Model)、...
首先,MVC模式是软件工程中常用的一种设计模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。在坦克大战游戏中,模型负责处理游戏的业务逻辑,如坦克移动、射击、碰撞检测等...
《Java EE企业级应用开发教程》第二版,结合Spring、Spring MVC和MyBatis三大框架,为读者提供了全面深入的Java后端开发学习路径。这本书的源码资源旨在帮助开发者通过实践来理解并掌握企业级应用开发的核心技术。 ...
1. **MVC模式**:MVC是一种软件设计模式,它将应用程序分为三个核心部分:模型(Model)负责数据处理和业务逻辑,视图(View)负责显示用户界面,控制器(Controller)处理用户的输入并调用模型和视图。 2. **模型...
MVC将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller),使得各部分职责明确,易于维护。在这个基于Java的MVC案例中,我们将深入探讨这些组件以及它们如何协同工作。 1. **模型...
在Java Web开发领域,Model-View-Controller(MVC)模式是一种广泛采用的设计模式,它将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller),以实现业务逻辑、数据处理和用户界面的分离...
MVC三层框架在这里指的是系统的结构分为三个主要部分:模型(Model)负责处理业务逻辑和数据,视图(View)负责显示用户界面,而控制器(Controller)则协调模型和视图之间的交互。学生选课系统能够正常运行,意味着它已经...
在软件开发中,MVC(Model-View-Controller)设计模式是一种常用架构模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。这个模式有助于提高代码的可重用性和可维护性。本...
在这个架构中,系统被划分为三个主要部分:表现层(View)、业务逻辑层(Service)和数据访问层(DAO)。MVC(Model-View-Controller)模式是其中表现层的一种实现方式,它将应用的用户界面、数据模型和控制逻辑分离...
Java MVC(Model-View-Controller)框架是一种广泛应用于Web开发的设计模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller),以实现业务逻辑与用户界面的分离,提高代码的可...
1. **MVC模式**:这是一种软件设计模式,将应用程序分为三个主要部分,即模型、视图和控制器,以提高代码的可维护性和解耦性。 2. **Java MVC框架**:如Spring MVC,它简化了构建Web应用的过程,提供了强大的依赖...
纯MVC(PureMVC)是一个轻量级的框架,设计用于提高开发效率,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller),以实现松耦合和模块化。在Java环境下,PureMVC提供了一种规范化的...
2. **Spring**:Spring是一个全面的Java应用框架,也是开发MVC应用程序的首选。它提供了依赖注入、AOP(面向切面编程)、事务管理等功能,并且能够与JPA集成,提供ORM(对象关系映射)支持。 3. **FreeMarker**:这...
Java程序中的MVC(Model-View-Controller)框架是一种广泛应用于Web开发的设计模式,它将应用程序的业务逻辑、用户界面和数据访问分离,使得各部分的职责更加清晰,便于维护和扩展。本自定义框架类似于知名的Struts...
MVC是一种广泛应用于Web开发的设计模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。这种结构有助于保持代码的清晰性和可维护性。 首先,让我们理解多文件上传的概念。多...
在这个"mvc Java 三层结构编程"实例中,我们将会深入探讨如何利用Java实现一个包含登录功能的MVC应用。 **模型(Model)层**是应用程序的核心部分,它负责处理业务逻辑和数据操作。在这个例子中,模型层可能包括...
《Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)》是一本深入讲解如何使用Java EE技术栈进行企业级应用开发的教材。它主要聚焦于Spring框架、Spring MVC以及MyBatis这三大核心组件,它们是现代Java Web...
在这个"java mvc代码"示例中,我们可能看到的是一个简单的Java Web项目,可能包含了模型(Model)、视图(View)和控制器(Controller)三个主要组成部分。 **模型(Model)**:这是应用程序的核心,负责处理业务...