# 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请求写一个方法就好 - 注解: ![注解](https://images.gitee.com/uploads/images/2019/1203/214622_47fe2db6_4947509.png "屏幕截图.png") - 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类