"本资源是北大青鸟课程的第二阶段教学内容,主要涉及实现系统业务逻辑层(Biz层)的编程实践,以‘e拍’在线拍卖系统为例,讲解Struts框架的应用。教学过程中,学员需要自己编写代码,并在教员的指导下解决遇到的问题。课程内容包括了数据库管理、分层开发模式以及Struts框架中的Action和JSP页面的交互。"
在“e拍”在线拍卖系统(二)这个项目案例中,主要涉及到以下几个知识点:
1. **数据库管理与Hibernate整合**:为了处理商品表和出价表与用户表的关联,需要将用户表纳入Hibernate的管理。这是因为商品和出价信息都需要引用用户的ID。实现方式是在Hibernate配置文件中增加User实体类的映射,同时注意在实际开发中,如果是在已有系统上进行开发,应避免覆盖原有实体类,以免破坏系统。
2. **分层开发模式**:遵循Entity-Dao-Biz-Web的经典开发顺序,每层都有明确的职责。Entity层负责数据模型,Dao层处理数据访问,Biz层处理业务逻辑,而Web层则负责用户交互和页面展示。ActionForm、Action和JSP页面构成了Web层,Action层的方法设计应基于页面操作和流程控制。
3. **接口设计**:在分层架构中,接口设计尤为重要,因为它定义了不同层之间的通信方式。良好的接口设计可以提高代码的可读性和可维护性。
4. **关联关系配置**:在Hibernate中,处理实体间的关联关系是关键。例如,Goods类需要与User类建立many-to-one的关系,这意味着一个商品可能有一个卖家和一个买家,对应于User表中的两个外键。在实体类中,需要删除冗余的外键属性,添加对应的User对象属性,并在映射文件中配置关联关系。
5. **Struts框架应用**:使用Struts框架的DispatchAction来处理Action层的方法,根据页面操作和流转关系设定Action的方法。DispatchAction允许灵活地处理请求,方便实现复杂的业务逻辑和页面跳转。
6. **用户权限控制**:在拍卖系统中,显示"出价"按钮的功能需要考虑用户登录状态和角色。例如,只有当用户已登录,当前日期在拍卖日期之间,且用户不是商品的买家时,才会显示"出价"按钮,这涉及到权限验证和业务逻辑的实现。
通过这个案例,学员不仅可以学习到如何使用Struts框架开发Web应用,还能深入理解数据库管理和分层开发模式,同时提高解决实际问题的能力。在实践中,学员需注意代码的编写和问题的调试,以提升自身的编程技能和问题解决能力。