"该资源是关于使用Java Web技术构建一个基于SSM框架的在线问卷调查系统的详细介绍。系统允许管理员创建、管理和分享调查问卷,并收集、分析调查结果。"
在这个Java Web项目中,主要涉及以下几个核心知识点:
1. **SSM框架**:SSM是Spring、Spring MVC和MyBatis的缩写,是一个常见的Java Web开发框架组合。Spring负责依赖注入和整体应用管理,Spring MVC处理HTTP请求和响应,MyBatis则作为持久层框架,用于数据库交互。
2. **问卷创建流程**:
- 题目创建:管理员在题库中创建题目,系统目前仅支持4个选项的单选题。
- 问卷创建:管理员创建新的问卷。
- 题目关联:将题目与问卷进行关联,形成问卷内容。
- 活动创建:关联问卷,创建调查活动,获取调查问卷链接,并分享给目标人群。
- 结果统计:调查结束后,管理员可以查看和分析调查结果。
3. **系统功能模块**:
- **题库管理**:包括题目的录入和列表展示,只对当前登录的管理员用户开放。
- **问卷管理**:允许新建问卷,管理问卷列表,以及处理题目与问卷的多对多关系。
- **活动管理**:创建新活动,管理活动列表,活动与问卷的一对多关联,以及查看结果页。
- **调查页面**:用户无需登录即可作答,页面包含题目、选项和用户信息。
4. **数据结构**:
- **调查问卷(Survey)**:具有唯一标识sid,标题(title),简介(brief),以及与问题的多对多关系存储在关系表(Relation)中。
- **问题(Question)**:包含问卷id(qid),题目(question),选项(options)存储为字符串,以及录制用户信息的uid。
- **活动(Activity)**:包括活动id(aid),关联的问卷sid,开始日期(start_at)和截至日期(ended_at),根据当前时间判断活动状态。
5. **后端设计**:
- **对象分类**:servlet对象代表Web动态资源,负责处理请求;DAO/Repository对象处理数据库操作;Service对象处理复杂的业务逻辑。
- **数据对象**:DO(数据对象)直接映射数据库记录,如用户信息;VO(视图对象)用于展示,简化了DO的属性,如对外只显示uid和用户名。
6. **URL命名规则**:
- 静态资源:HTML、CSS、JS文件直接对应静态内容。
- 动态资源:JSON格式的数据用于API接口,.do扩展名通常用于处理表单提交,如用户注册、登录、退出等操作。
- 题目管理:包含新建题目的URL,如/ques。
这个系统通过SSM框架实现了问卷的全生命周期管理,包括创建、分发、收集和分析,为用户提供了一套完整的在线调查工具。同时,其背后的系统设计遵循了良好的编程实践,如对象分类和URL命名规则,确保了代码的可维护性和扩展性。