javaWeb学生信息查询

该博客介绍了一个使用jsp, mysql, java和c3p0数据库连接器实现的学生信息查询系统。项目包括了com.zz.action, com.zz.dao等包结构,支持按科目、姓名、班级等条件进行查询。" 130522775,17992589,使用Cocos Creator 3D开发飞机大战微信小游戏入门,"['Cocos2d', '游戏引擎', '游戏程序', '微信小游戏']
摘要由CSDN通过智能技术生成

欢迎浏览

你好!这一篇文章是为了巩固对前面知识,完成的练习。需要使用的知识: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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值