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

2022-09-15 13:56:06 浏览数 (1)

1、完成登录功能

1.1、表准备

ssm数据库中,加入manager表

代码语言:javascript复制
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

代码语言:javascript复制
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

代码语言:javascript复制
@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

代码语言:javascript复制
public interface IManagerServcie {
    public List<Manager> loginManager(Manager m);
}

ManagerServiceImpl.java

代码语言:javascript复制
@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、编写控制层

代码语言:javascript复制
@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

代码语言:javascript复制
<%@ 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

代码语言:javascript复制
<%@ 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

代码语言:javascript复制
@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

代码语言:javascript复制
<%@ 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

代码语言:javascript复制
table{
    width:500px;
}
table td{
    border: 1px solid black;
    text-align: center;
}

修改配置文件springmvc.xml

代码语言:javascript复制
<mvc:default-servlet-handler/>

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

3、通过sid删除学生信息

3.1、修改控制器

StudentsController.java

代码语言:javascript复制
@RequestMapping("/deleteStudents")
public String deleteSudents(int sid){
        iStudentsService.deleteStudents(sid);
        return "redirect:findAll";
}

3.2、修改业务层

StudentsServiceImpl.java

代码语言:javascript复制
@Override
public int deleteStudents(int sid) {
        System.out.println("删除学生的信息!");
        return iStudentsDAO.deleteStudents(sid);
}

3.3、修改页面

/pages/index.jsp

代码语言:javascript复制
<a href="${pageContext.request.contextPath}/deleteStudents?sid=${students.sid}">删除</a>

4、修改学生信息

4.1、完成学生信息查询

通过sid找到学生信息

4.1.1、修改控制器

StudentsController.java

代码语言:javascript复制
@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

代码语言:javascript复制
@Override
    public Students findById(int sid) {
        System.out.println("通过SID查询学生的信息!");
        return iStudentsDAO.findById(sid);
    }
4.1.3、创建修改页面

/pages/update.jsp

代码语言:javascript复制
<%@ 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、修改页面
代码语言:javascript复制
<a href="${pageContext.request.contextPath}/findById?sid=${students.sid}">修改</a>

4.2、完成学生信息修改

4.2.1、修改控制器

StudentsController.java

代码语言:javascript复制
@RequestMapping("/updateStudents")
    public String updateStudents(Students students){
        iStudentsService.updateStudents(students);
        return "redirect:findAll";
    }
4.2.2、修改业务层

StudentsServiceImpl.java

代码语言:javascript复制
@Override
    public int updateStudents(Students students) {
        System.out.println("修改学生的信息!");
        return iStudentsDAO.updateStudents(students);
    }
4.2.3、修改页面

/pages/update.jsp

代码语言:javascript复制
<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

代码语言:javascript复制
@RequestMapping("/addStudents")
    public String addStudents(Students students){
        iStudentsService.addStudents(students);
        return "redirect:findAll";
    }

5.2、修改业务层

StudentsServiceImpl.java

代码语言:javascript复制
 @Override
    public int addStudents(Students students) {
        System.out.println("增加学生的信息!");
        return iStudentsDAO.addStudents(students);
    }

5.3、修改页面

/pages/index.jsp

代码语言:javascript复制
<tr><td clospan="5"><a href="${pageContext.request.contextPath}/pages/add.jsp">增加学生信息</a></td></tr>

5.4、创建页面

/pages/add.jsp

代码语言:javascript复制
<%@ 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

代码语言:javascript复制
@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

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

6.3、修改页面

index.jsp

代码语言:javascript复制
<%@ 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>

0 人点赞