学生成绩查询系统
欢迎浏览
你好!这一篇文章是为了巩固对前面知识,完成的练习。需要使用的知识:jsp,mysql,java
工具:c3p0数据库连接器。
项目目录
![项目目录](https://img-blog.csdnimg.cn/20191028084007862.png
com.zz.action
package com.zz.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public interface Action {
public void execute(HttpServletRequest request,HttpServletResponse response);
}
com.zz.action.student
QueryStudentInfoAction.java
package com.zz.action.student;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zz.action.Action;
import com.zz.dao.ScoreDao;
import com.zz.dao.StudentDao;
import com.zz.pojo.Score;
import com.zz.pojo.Student;
public class QueryStudentInfoAction implements Action {
private StudentDao studentDao;
private ScoreDao scoreDao;
public QueryStudentInfoAction() {
studentDao = new StudentDao();
scoreDao = new ScoreDao();
}
@Override
public void execute(HttpServletRequest request, HttpServletResponse response) {
//下拉班级
ArrayList<Student> slist = studentDao.getKindOfClassname();
request.setAttribute("slist", slist);
if(!request.getParameter("subject").equals("")&&request.getParameter("name").equals("")&&request.getParameter("classname").equals("所有班级")) {
//按科目查找
String subject = request.getParameter("subject");
ArrayList<Score> list = scoreDao.getInfoBySub(subject);
HashMap<Integer,Student> map = new HashMap<Integer,Student>();
for (Score score: list) {
int sid = score.getSid();
Student student = studentDao.getStudentById(sid);
map.put(sid, student);
}
request.setAttribute("list", list);
request.setAttribute("map", map);
try {
request.getRequestDispatcher("/studentInfo.jsp").forward(request, response);
return;
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else if(request.getParameter("subject").equals("")&&!request.getParameter("name").equals("")&&request.getParameter("classname").equals("所有班级")) {
//按姓名查找
String name = request.getParameter("name");
int sid = studentDao.getIdByName(name);
ArrayList<Score> list = scoreDao.getScoreBySid(sid);
HashMap<Integer,Student> map = new HashMap<Integer,Student>();
for (Score score: list) {
int sdid = score.getSid();
Student student = studentDao.getStudentById(sdid);
map.put(sdid, student);
}
request.setAttribute("list", list);
request.setAttribute("map", map);
try {
request.getRequestDispatcher("/studentInfo.jsp").forward(request, response);
return;
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else if(request.getParameter("subject").equals("")&&request.getParameter("name").equals("")&&!request.getParameter("classname").equals("")) {
//按班级查找
String classname = request.getParameter("classname");
if(classname.equals("所有班级")) {
//查全部信息
try {
request.getRequestDispatcher("student-info.action").forward(request, response);
return;
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else {
ArrayList<Student> list = studentDao.getInfoByCname(classname);
int size = list.size()-1;
ArrayList<Score> scoreList = new ArrayList<Score>();
int a = 0;
for(a=0;a<=size;a++) {
int b = list.get(a).getId();
scoreList.addAll(scoreDao.getScoreBySid(b));
}
HashMap<Integer,Student> map = new HashMap<Integer,Student>();
for (Score score: scoreList) {
int sdid = score.getSid();
Student student = studentDao.getStudentById(sdid);
map.put(sdid, student);
}
request.setAttribute("list", scoreList);
request.setAttribute("map", map);
try {
request.getRequestDispatcher("/studentInfo.jsp").forward(request, response);
return;
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}else if(!request.getParameter("subject").equals("")&&!request.getParameter("name").equals("")&&!request.getParameter("classname").equals("")) {
//多条件查找
if(request.getParameter("classname").equals("所有班级")) {
String subject = request.getParameter("subject");
String name = request.getParameter("name");
int sid = studentDao.getIdByName(name);
ArrayList<Score> list = scoreDao.getOnSidSubject(sid, subject);
HashMap<Integer,Student> map = new HashMap<Integer,Student>();
for (Score score: list) {
int id = score.getSid();
Student student = studentDao.getStudentById(id);
map.put(id, student);
}
request.setAttribute("list", list);
request.setAttribute("map", map);
try {
request.getRequestDispatcher("/studentInfo.jsp").forward(request, response);
return;
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
String subject = request.getParameter("subject");
String name = request.getParameter("name");
String classname = request.getParameter("classname");
int sid = studentDao.getIdOnNameCName(name, classname);
ArrayList<Score> list = scoreDao.getOnSidSubject(sid, subject);
HashMap<Integer,Student> map = new HashMap<Integer,Student>();
for (Score score: list) {
int id = score.getSid();
Student student = studentDao.getStudentById(id);
map.put(id, student);
}
request.setAttribute("list", list);
request.setAttribute("map", map);
try {
request.getRequestDispatcher("/studentInfo.jsp").forward(request, response);
return;
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
StudentInfoAction.java
package com.zz.action.student;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import javax.servlet