阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

SSM整合-学生信息管理系统

208次阅读
没有评论

共计 8584 个字符,预计需要花费 22 分钟才能阅读完成。

1、完成登录功能

1.1、表准备

ssm 数据库中,加入 manager 表

CREATE TABLE `manager` (`id` int(11) NOT NULL AUTO_INCREMENT,
`uname` varchar(20) DEFAULT NULL,
`pword` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
INSERT INTO `manager` VALUES ('1', 'zhangsan', 'zhangsan'), ('2', 'lisi', 'lisi');

1.2、编写 pojo

Manager.java

import java.io.Serializable;
public class Manager implements Serializable {private int mid;
private String uname;
private String pword;
public int getMid() {return mid;
}
public void setMid(int mid) {this.mid = mid;
}
public String getUname() {return uname;
}
public void setUname(String uname) {this.uname = uname;
}
public String getPword() {return pword;
}
public void setPword(String pword) {this.pword = pword;
}
@Override
public String toString() {return "Manager{" +
"mid=" + mid +
", uname='" + uname + '\'' +
", pword='" + pword + '\'' +
'}';
}
}

1.3、编写持久层

IManagerDAO.java

@Repository("iManagerDAO")
public interface IManagerDAO {@Select("select * from manager where uname=#{uname} and pword=#{pword}")
public List<Manager> loginManager(Manager m);
}

1.4、编写业务层

IManagerServcie.java

public interface IManagerServcie {public List<Manager> loginManager(Manager m);
}

ManagerServiceImpl.java

@Service("managerServiceImpl")
public class ManagerServiceImpl implements IManagerServcie {@Autowired
@Qualifier(value="iManagerDAO")
private IManagerDAO iManagerDAO;
@Override
public List<Manager> loginManager(Manager m) {return iManagerDAO.loginManager(m);
}
}

1.5、编写控制层

@Controller("managerController")
@RequestMapping("/manager")
public class ManagerController {@Autowired
@Qualifier("managerServiceImpl")
private IManagerServcie iManagerServcie;
@RequestMapping("/loginManager")
public String loginManager(Manager m, Model model,HttpSession session){List<Manager> list=iManagerServcie.loginManager(m);
if(list.size()>0){session.addAttribute("uname",m.getUname());
return "index";
}else{return "login";
}
}
}

1.6、编写 view 层

/pages/login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title> 登录天易 IT 学院 </title>
</head>
<body>
<center>
<h3> 登录天易 IT 学院 </h3>
<form action="${pageContext.request.contextPath}/manager/loginManager" method="post">
用户名:<input type="text" name="uname"/>
密码:<input type="password" name="pword"/>
<input type="submit" value="登录">
</form>
</center>
</body>
</html>

/pages/index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title> 欢迎来到天易 IT 学院学生信息管理系统 </title>
</head>
<body>
<center>
<h3> 欢迎:${uname},<a href=""> 退出 </a></h3>
<h3> 天易 IT 学院学生信息管理系统 </h3>
<table>
<tr><th> 学员 ID</th><th> 学员姓名 </th><th> 学员性别 </th><th> 学员年龄 </th></tr>
</table>
</center>
</body>
</html>

1.7、测试

http://localhost:8080/ssm001/pages/login.jsp

2、查询学生表中所有信息

2.1、修改控制器

ManagerController.java

@Controller("managerController")
@RequestMapping("/manager")
public class ManagerController {@Autowired
@Qualifier("managerServiceImpl")
private IManagerServcie iManagerServcie;
@Autowired
@Qualifier("studentsServiceImpl")
private IStudentsService iStudentsService;
@RequestMapping("/loginManager")
public String loginManager(Manager m, Model model, HttpSession session){List<Manager> list=iManagerServcie.loginManager(m);
if(list.size()>0){List<Students> list1=iStudentsService.findAll();
session.setAttribute("uname",m.getUname());
model.addAttribute("list",list1);
return "index";
}else{return "login";
}
}
}

2.2、修改展示层

/pages/index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title> 欢迎来到天易 IT 学院学生信息管理系统 </title>
<link type="text/css" rel="styleSheet" href="${pageContext.request.contextPath}/css/index.css" />
</head>
<body>
<center>
<h3> 欢迎:${uname},<a href=""> 退出 </a></h3>
<h3> 天易 IT 学院学生信息管理系统 </h3>
<table>
<tr><th> 学员 ID</th><th> 学员姓名 </th><th> 学员性别 </th><th> 学员年龄 </th><th> 操作 </th></tr>
<c:forEach items="${list}" var="students">
<tr><td>${students.sid}</td><td>${students.sname}</td><td>${students.sex}</td><td>${students.age}</td><td><a href=""> 删除 </a>|<a href=""> 修改 </a></td></tr>
</c:forEach>
</table>
</center>
</body>
</html>

2.3、编写静态资源

/css/index.css

table{width:500px;
}
table td{border: 1px solid black;
text-align: center;
}

修改配置文件 springmvc.xml

<mvc:default-servlet-handler/>

mvc:default-servlet-handler 将在 SpringMVC 上下文中定义一个 DefaultServletHttpRequestHandler,它会对进入 DispatcherServlet 的请求进行筛查,如果发现是没有经过映射的请求,就将该请求交由 WEB 应用服务器默认的 Servlet 处理,如果不是静态资源的请求,才由 DispatcherServlet 继续处理。

3、通过 sid 删除学生信息

3.1、修改控制器

StudentsController.java

@RequestMapping("/deleteStudents")
public String deleteSudents(int sid){iStudentsService.deleteStudents(sid);
return "redirect:findAll";
}

3.2、修改业务层

StudentsServiceImpl.java

@Override
public int deleteStudents(int sid) {System.out.println("删除学生的信息!");
return iStudentsDAO.deleteStudents(sid);
}

3.3、修改页面

/pages/index.jsp

<a href="${pageContext.request.contextPath}/deleteStudents?sid=${students.sid}"> 删除 </a>

4、修改学生信息

4.1、完成学生信息查询

通过 sid 找到学生信息

4.1.1、修改控制器

StudentsController.java

@RequestMapping("findById")
public String findById(Model model,int sid){Students students=iStudentsService.findById(sid);
model.addAttribute("students",students);
return "update";
}

4.1.2、修改业务层

StudentsServiceImpl.java

@Override
public Students findById(int sid) {System.out.println("通过 SID 查询学生的信息!");
return iStudentsDAO.findById(sid);
}

4.1.3、创建修改页面

/pages/update.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title> 修改学生信息页面 </title>
</head>
<body>
<center>
<h3> 欢迎:${uname},<a href="${pageContext.request.contextPath}/findAll"> 返回 </a></h3>
<h3> 天易 IT 学院学生信息管理系统 - 学生信息修改 </h3>
<form>
<table>
<tr><th> 姓名:</th><td><input type="text" name="sname" value="${students.sname}"/></td></tr>
<tr><th> 性别:</th><td><input type="text" name="sex" value="${students.sex}"/></td></tr>
<tr><th> 年龄:</th><td><input type="text" name="age" value="${students.age}"/></td></tr>
<tr><td clospan="2"><input type="submit" value="修改"/></td></tr>
</table>
</form>
</center>
</body>
</html>

4.1.4、修改页面

<a href="${pageContext.request.contextPath}/findById?sid=${students.sid}"> 修改 </a>

4.2、完成学生信息修改

4.2.1、修改控制器

StudentsController.java

@RequestMapping("/updateStudents")
public String updateStudents(Students students){iStudentsService.updateStudents(students);
return "redirect:findAll";
}

4.2.2、修改业务层

StudentsServiceImpl.java

@Override
public int updateStudents(Students students) {System.out.println("修改学生的信息!");
return iStudentsDAO.updateStudents(students);
}

4.2.3、修改页面

/pages/update.jsp

<form action="updateStudents" method="post">
<input type="hidden" name="sid" value="${students.sid}"/>
<table>
<tr><th> 姓名:</th><td><input type="text" name="sname" value="${students.sname}"/></td></tr>
<tr><th> 性别:</th><td><input type="text" name="sex" value="${students.sex}"/></td></tr>
<tr><th> 年龄:</th><td><input type="text" name="age" value="${students.age}"/></td></tr>
<tr><td clospan="2"><input type="submit" value="修改"/></td></tr>
</table>
</form>

5、增加学生信息

5.1、修改控制器

StudentsController.java

@RequestMapping("/addStudents")
public String addStudents(Students students){iStudentsService.addStudents(students);
return "redirect:findAll";
}

5.2、修改业务层

StudentsServiceImpl.java

@Override
public int addStudents(Students students) {System.out.println("增加学生的信息!");
return iStudentsDAO.addStudents(students);
}

5.3、修改页面

/pages/index.jsp

<tr><td clospan="5"><a href="${pageContext.request.contextPath}/pages/add.jsp"> 增加学生信息 </a></td></tr>

5.4、创建页面

/pages/add.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title> 增加学生信息页面 </title>
</head>
<body>
<center>
<h3> 欢迎:${uname},<a href="${pageContext.request.contextPath}/findAll"> 返回 </a></h3>
<h3> 天易 IT 学院学生信息管理系统 - 学生信息增加 </h3>
<form action="${pageContext.request.contextPath}/addStudents" method="post">
<table>
<tr><th> 姓名:</th><td><input type="text" name="sname" /></td></tr>
<tr><th> 性别:</th><td><input type="text" name="sex"/></td></tr>
<tr><th> 年龄:</th><td><input type="text" name="age"/></td></tr>
<tr><td clospan="2"><input type="submit" value="增加"/></td></tr>
</table>
</form>
</center>
</body>
</html>

6、前台通过姓名查询学生信息

6.1、修改控制器

StudentsController.java

@RequestMapping("/findBySname")
public String findBySname(Model model,String sname){List<Students> list=iStudentsService.findByName("%"+sname+"%");
model.addAttribute("list",list);
model.addAttribute("sname",sname);
return "forward:/index.jsp";
}

6.2、修改业务层

StudentsServiceImpl.java

@Override
public List<Students> findByName(String sname) {System.out.println("通过 NAME 查询学生的信息!");
return iStudentsDAO.findByName(sname);
}

6.3、修改页面

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title> 天易 IT 学院学生信息查询系统 </title>
</head>
<body>
<center>
<h3> 天易 IT 学院学生信息查询系统 </h3>
<form action="${pageContext.request.contextPath}/findBySname" method="post">
请输入学生姓名:<input type="text" name="sname" value="${sname}"><input type="submit" value="查看学生信息">
</form>
<table>
<tr><th> 学员 ID</th><th> 学员姓名 </th><th> 学员性别 </th><th> 学员年龄 </th></tr>
<c:forEach items="${list}" var="students">
<tr><td>${students.sid}</td><td>${students.sname}</td><td>${students.sex}</td><td>${students.age}</td></tr>
</c:forEach>
</table>
</center>
</body>
</html>

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-06-06发表,共计8584字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中