共计 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; | |
} | |
public String toString() {return "Manager{" + | |
"mid=" + mid + | |
", uname='" + uname + '\'' + | |
", pword='" + pword + '\'' + | |
'}'; | |
} | |
} |
1.3、编写持久层
IManagerDAO.java
public interface IManagerDAO { | |
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、编写控制层
public class ManagerController { | |
private IManagerServcie iManagerServcie; | |
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
public class ManagerController { | |
private IManagerServcie iManagerServcie; | |
private IStudentsService iStudentsService; | |
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
"/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
"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
"/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
"/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
"/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
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> |
