项目总结—校园办公管理系统(SSM框架搭建)
文章目录
CSDN下载地址:校园管理系统
GIT下载地址:校园管理系统
学以致用,学习完SSM框架之后,独立完成一个小院办公管理系统,熟悉框架的开发流程,熟悉项目的开发流程,完成一个简单的校园办公管理系统,下图是自己画的UML图,实现相关功能。
开发环境:Windows + Tomcat
开发工具:Myeclipse、Oracle数据库
使用到的框架:EasyUI、SSM、log4j(日志记录)。
#登录页面
开启Tomcat服务器后,打开chrome浏览器,输入地址:localhost:XXXX/EasyUISSM/login.jsp 进入登录页面。
输入测试账号:
学生: 账号:刘磊 密码:2000
老师: 账号:郭老师 密码:1000
管理员 账号:管理员 密码:12345
输入账号密码后,将账号和密码在数据库中进行查询,如果查询到存在该用户和密码,返回一个User对象,然后通过getQX()得到该用户的权限,根据不同的权限进行跳转页面。
首先,login.jsp登录页面源代码:
<div class="form" style="position: fixed">
<div id="landing"><b>「天 天 向 上」办公平台</b></div>
<div class="fix"></div>
<div id="landing-content">
<div id="photo"><img src="data:images/p.png" /></div>
<form action="user/login.do">
<div class="inp"><input type="text" name="name" placeholder="请输入您的用户名" /></div>
<div class="inp"><input type="password" name="pwd" placeholder="请输入您的密码" /></div>
<input class="login" type="submit" value="登录" style=" font-size: 16px; color:white; background-color: orange"/>
</form>
</div>
</div>
创建一个实力类User,该实体类中的变量属性为name,pwd,qx;并且全部添加set,get方法。
然后,通过service接口进行查询功能:该类中的方法名称必须与application-context.xml中事务的方法名称前缀保持一致;否则,必须在事务中进行配置相关方法;
import com.sys.entity.User;
public interface UserService {
//登录功能
User getUser(User user);
}
新建一个实现类UserServiceImpl实现Service接口中的查询方法;
该类必须添加注解@Service ;然后通过注解@Autowired自动导入dao层数据;该类实现了Service接口的方法,返回一个User对象;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.sys.dao.UserDao;
import com.sys.entity.User;
import com.sys.service.UserService;
@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserDao dao;
@Override
public User getUser(User user) {
// TODO Auto-generated method stub
return dao.selectByCondition(user);
}
}
数据库访问层操作,新建一个UserDao.java实体类;
该类中,进行数据库查找数据,
import com.sys.entity.User;
public interface UserDao {
//登录页面
User selectByCondition(User user);
}
然后通过Mybatis来实现数据库的查找,编写Userdao.xml文件;
该类中必须注意两个地方:
然后添加控制器进行业务逻辑控制:
创建一个userController.java类,该类必须添加注解@Controller,并且路径地址和自动导入注解;
然后编写 login方法的具体实现:
@RequestMapping("/login.do")
public String login(User user,Map<String, Object> map,HttpSession session) {
//业务逻辑层返回模型数据
User realUser=service.getUser(user);
if(realUser!=null) {
//把用户数据保存在session当中
session.setAttribute("user", user);
if(realUser.getQx().equals("admin")){
return "index"; //管理员页面
}else if(realUser.getQx().equals("teacher")){
return "teacher_main"; //老师页面
}else{
return "student_main"; //权限页面
}
//登录成功
} else {
//登录失败
map.put("error", "账号或密码错误");
return "login"; //返回登录页面
}
}
至此登录功能完成;
登录进入系统以后,可以进行添加班级,添加学生,添加或扣除积分,请假管理等功能,
这些功能就不一一列出,至此,校园办公管理系统就可顺利完成。
项目总结—校园办公管理系统(SSM框架搭建)的更多相关文章
- SSM框架搭建web服务器实现登录功能(Spring+SpringMVC+Mybatis)
初学java EE,虽然知道使用框架会使开发更加便捷高效,但是对于初学者来说,感到使用框架比较迷惑,尤其是各种jar包的引用.各种框架的配置.注解的使用等等. 最好的学习方法就是实践,于是下载了一个现 ...
- SSM 框架搭建
SSM框架搭建(Spring.SpringMVC.Mybatis) 一:基本概念 Spring : Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框 ...
- SSM框架搭建教程(从零开始,图文结合)
1.准备 IntelliJ IDEA Tomcat JDK Maven mysql spring.springmvc.mybatis 了解 现在假设如上条件你都具备,那么通过我这篇博客 你一定可以整合 ...
- 实习小结(二)--- SSM框架搭建
SSM项目框架搭建 前几天做了一个学生信息管理的项目,使用纯控制台输入,查询数据库,将信息在控制台中打印,功能完善得差不多之后,老师让将这个项目移植到Web中,使用Spring+SpringMVC+M ...
- SpringMVC笔记——SSM框架搭建简单实例
落叶枫桥 博客园 首页 新随笔 联系 订阅 管理 SpringMVC笔记——SSM框架搭建简单实例 简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发 ...
- idea ssm框架搭建
1.分享一篇完整的ssm框架搭建连接 大牛博客:https://www.cnblogs.com/toutou/p/ssm_spring.html#_nav_0 2.我的搭建的完整项目连接,可以进入我的 ...
- SSM框架搭建详细解析
总结了一下搭建SSM框架流程,在以后用到的时候方便回头使用. 使用工具:MyEclipse 2015:Tomcat 8版本:jdk1.8版本. 首先: 1:创建一个WebProject项目,jdk1. ...
- JavaWeb开发SSM框架搭建详解
1.需要用到的jar包:由于很多的jar包不好下载,我直接上传到百度网盘: 很多,而且不好下载,我已经整理好好了: 链接:https://pan.baidu.com/s/1iIFprmstp86uKz ...
- ssm框架搭建整合测试
下载各种jar包 mybatis下载 https://github.com/mybatis/mybatis-3/releases mysql驱动下载 http://mvnrepository.com/ ...
随机推荐
- 死磕以太坊源码分析之MPT树-上
死磕以太坊源码分析之MPT树-上 前缀树Trie 前缀树(又称字典树),通常来说,一个前缀树是用来存储字符串的.前缀树的每一个节点代表一个字符串(前缀).每一个节点会有多个子节点,通往不同子节点的路径 ...
- 智能佳机械软手智能研究版 QB SOFTHAND Research
智能佳机械软手智能研究版是一种基于软机器人技术的拟人机器人手,灵活.适应性强,能够与周围环境.物体和人类进行交互,同时限制伤害操作员.破坏要处理的产品和破坏机器人本身的风险. 智能佳机械软手智 ...
- application.properties 中文乱码问题解决
1. 设置 File Encodings的Transparent native-to-ascii conversion为true,具体步骤如下:依次点击 File -> Settings -&g ...
- Beta冲刺——第九天
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...
- 总结(2019CSP之后),含题解
从\(\mathcal{CSP}\) 爆炸 到现在,已经有\(3\)个月了.这三个月间,我--这个小蒟蒻又接触了许多听不懂的东西 \(\mathcal{No.}1\) 字符串\(\mathcal{ha ...
- 【MyBatis】MyBatis 动态 SQL
MyBatis 动态SQL if 可以根据实体类的不同取值,使用不同的 SQL 语句来进行查询. 使用动态 SQL 最常见情景是根据条件包含 where 子句的一部分. 持久层 DAO 接口: pub ...
- nodejs中的文件系统
. 目录 简介 nodejs中的文件系统模块 Promise版本的fs 文件描述符 fs.stat文件状态信息 fs的文件读写 fs的文件夹操作 path操作 简介 nodejs使用了异步IO来提升服 ...
- MySQL select 语句指定字段查询
指定字段查询 SELECT 语法 SELECT [ALL | DISTINCT] {* | table.* | [table.field1[as alias1][,table.field2[as al ...
- 基于kubernetes实现coredns的及验证
CoreDNS: k8s内部的DNS ,用于对pod对service做记录的,好让其他的pod做访问 这里不用做过多的阐述 官方kube-dns现在已经没有在维护了,从Kubernetes 1.11 ...
- 鸿蒙的远程交互组件应用及微信小程序的远程交互组件应用
注:鸿蒙的远程交互组件应用相对复杂 ,访问网络时,首先要配置网络权限,华为官方文档有问题,在此引用我老师配置的模板,见附件 过程:1.导入鸿蒙的网络请求模块fetch 2.发起对服务器的请求(在这过程 ...