效果展示
涉及技术
Servlet、jsp、EL表达式、JSTL标签库、List集合、tomcat服务器
项目结构
部分代码
LoginServlet
public class LoginServlet extends HttpServlet{
UserService userService = new UserService();
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置请求的字符集为utf-8,解决中文乱码问题
req.setCharacterEncoding("UTF-8");
//获取参数
String username = req.getParameter("username");
String password = req.getParameter("password");
String career = req.getParameter("career");
//定义courseOffering对象集合,存储课程设置对象
List<Course_offering> courseofferingList = new ArrayList<>();
//定义课程集合
List<Course> courseList = new ArrayList<>();
//验证用户名和密码
User user = userService.getUserByUserNameAndCareer(username,career);
if(user != null){
//验证密码
if(user.getPassword().equals(password)){
System.out.println(username+"登录成功!");
switch (career){
case "teacher":
Teacher teacher = (Teacher) user;
courseofferingList = userService.getCourseOfferingBytID(teacher.gettID());
courseList = userService.getCourseByCourseOfferingList(courseofferingList);
// System.out.println(courseList.size());
req.setAttribute("user",teacher);
req.setAttribute("courseoffringList",courseofferingList);
req.setAttribute("courseList",courseList);
req.getRequestDispatcher("/pages/teacher/teacherInfo.jsp").forward(req,resp);
break;
case "student":
Student student = (Student) user;
courseofferingList = userService.getCourseOfferingBysID(student.getsID());
courseList = userService.getCourseByCourseOfferingList(courseofferingList);
req.setAttribute("user",student);
req.setAttribute("courseoffringList",courseofferingList);
req.setAttribute("courseList",courseList);
req.getRequestDispatcher("/pages/student/studentInfo.jsp").forward(req,resp);
break;
case "register":
Register register = (Register) user;
courseofferingList = userService.getAllCourseOffering();
req.setAttribute("user",register);
req.setAttribute("courseoffringList",courseofferingList);
req.getRequestDispatcher("/pages/register/registerInfo.jsp").forward(req,resp);
break;
default:
break;
}
}else{
//密码错误
req.setAttribute("msg","用户名或密码错误,请重新输入!");
req.setAttribute("username",username);
req.getRequestDispatcher("/index.jsp").forward(req,resp);
}
}else{
//用户名错误
req.setAttribute("msg","用户名或密码错误,请重新输入!");
req.setAttribute("username",username);
req.getRequestDispatcher("/index.jsp").forward(req,resp);
}
}
}
registerInfo
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<table border="1px" align="center">
<caption>管理员信息</caption>
<tr>
<td>工号</td>
<td>${requestScope.user.rID}</td>
</tr>
</table>
<c:forEach begin="0" end="${requestScope.courseoffringList.size()}" items="${requestScope.courseoffringList}" var="co">
<table border="1px" align="center">
<caption>课程设置</caption>
<tr>
<td>课程ID</td>
<td>${co.cID}</td>
</tr>
<tr>
<td>教师ID</td>
<td>${co.tID}</td>
</tr>
<tr>
<td>上课时间</td>
<td>${co.sKtime}</td>
</tr>
<tr>
<td>上课地点</td>
<td>${co.sKroom}</td>
</tr>
<tr>
<td>学生</td>
<td><c:forEach begin="0" end="${co.xList.size()}" items="${co.xList}" var="sID">
${sID}<br>
</c:forEach></td>
</tr>
</table>
</c:forEach>
</body>
</html>
完整代码
需要完整代码可以关注公众号“宏夏c”回复“课程管理代码”