# StuManaSys
**Repository Path**: ezioasche/StuManaSys
## Basic Information
- **Project Name**: StuManaSys
- **Description**: JavaWeb大作业
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: framework
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2019-11-04
- **Last Updated**: 2021-11-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# JavaWeb大作业README
# StuManaSys
#### 介绍
JavaWeb大作业
#### 软件架构
master分支是基本的三层架构
framework是正式项目
最终确定就只实现SpringMVC框架,采用了前端控制器模式
虽然不能完全实现框架,但是主要功能都以基本实现
#### 安装教程
Tomcat9环境测试的,Tomcat7可能会有问题
JDK8+
需要的jar包已包含在项目里面
数据库:MariaDB(MySQL)
dbconfig.properties配置数据库参数
servlet.properties配置控制器所在jar包(这个不用去动它)
#### 使用说明
为了简化设计我们约定所有url请求都按照
[ip:port/projectmapper/actionClassName/actionMethodName/{param}.do]
这样的格式
说明:
- ip:IP地址(127.0.0.1)
- port:端口号(8080)
- projectmapper:项目映射(projectmapper)
- actionClassName:控制器所在类的注解值
- actionMethodName:具体需要调用的控制器方法的注解值
- {param}:可选,采用路径GET传参(非传统[?param=XXX]形式)
- .do:在url结尾加上.do(包括param也跟上.do,不会影响传参)表明调用框架的Action
### 下面是框架使用说明
三层架构中,本框架只涉及web层也就是控制器,其余Service和DAO不影响,按照正常方式就好
控制器编写要求:
- 不用使用Servlet
- 将一个实体集相关的控制器建在一个类(EntityController)中
- 每一个具体servlet请求写一个方法就好
- 注解:

- RequestMapping 核心注解,配置映射关系和请求方式
- PathVariable 说明此参数来源于路径传参{param}
- JsonObject 说明参数来源于和实体集对应的Json形式
- RequestParam 说明参数来源于POST表单请求
- 要求:
1. 控制器所在类必须@RequestMapping 指定映射(/actionClassName)
1. 控制器方法必须@RequestMapping 指定映射(/actionMethodName)
1. 参数类型是上述后三个注解所指的必须加上相应注解
1. 此外参数还支持:HTTPServlet组件(即HTTPServletRequest和HTTPServletResponse)且不用打注解
1. 其他参数不允许使用(否则抛出异常IllegalArgumentException)
ps:要用到Session可以先传参数HTTPServletRequest然后就可以得到
- 和SpringMVC一样,控制器方法返回字符串则向前端返回字符串
- 返回带.jsp、.html后缀字符串则进行跳转(请求转发)
- 返回实体集对象则向前端发送对象序列化的Json字符串
具体实例可以参考项目中的com.stum.action.DemoAction类