010_学生管理系统一

源码: https://download.youkuaiyun.com/download/aihiao/14974520

 

1. 新建一个名为StudentManager的Web项目

2. 考入相关jar

3. c3p0-config.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>

	<!-- default-config 默认的配置 -->
  <default-config>
    <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
    <property name="jdbcUrl">jdbc:mysql://192.168.25.138:3306/StudentManager?useSSL=true&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;serverTimezone=Asia/Shanghai</property>
    <property name="user">root</property>
    <property name="password">lyw123456</property>
    
    <!-- 初始化连接池数量 -->
    <property name="initialPoolSize">10</property>
    <!-- 数据库连接最大空闲时间 -->
    <property name="maxIdleTime">30</property>
    <!-- 池子最大连接数 -->
    <property name="maxPoolSize">100</property>
    <!-- 池子最小连接数 -->
    <property name="minPoolSize">10</property>
    <!-- 最大Statements对象数 -->
    <property name="maxStatements">200</property>
  </default-config>
 
</c3p0-config>

4. 数据库连接池JDBCUtil.java工具类

package com.lywgames.util;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;

/**
 * 使用数据库连接池的获取的数据库连接, 我们不用做关闭操作, 数据库连接池自行管理
 */
public class JDBCUtil {
    private static DataSource dataSource = null;

    static {
        dataSource = new ComboPooledDataSource();
    }
    
    public static DataSource getDataSource() {
        return dataSource;
    }
    
    /**
     * 获取连接对象
     */
    public static Connection getConn(){
        try {
            return dataSource.getConnection();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }
    
    /**
     * 释放资源
     * @param st
     * @param rs
     */
    public static void release(Statement st, ResultSet rs){
        closeRs(rs);
        closeSt(st);
    }

    public static void release(Statement st){
        closeSt(st);
    }
    
    public static void closeRs(ResultSet rs){
        try {
            if(rs != null){
                rs.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            rs = null;
        }
    }
    
    public static void closeSt(Statement st){
        try {
            if(st != null){
                st.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            st = null;
        }
    }
    
}

5. 学生Student.java实体类

package com.lywgames.domain;

import java.sql.Timestamp;

/**
 * 这是学封装的对象 bean
 */
public class Student {
    private int sid;
    private String sname;
    private String gender;
    private String phone;
    private String hobby;
    private String info;
    private Timestamp birthday;
    
    public Student() {}
    
    public Student(String sname, String gender, String phone, String hobby, String info, Timestamp birthday) {
        this.sname = sname;
        this.gender = gender;
        this.phone = phone;
        this.hobby = hobby;
        this.info = info;
        this.birthday = birthday;
    }
    
    public Student(int sid, String sname, String gender, String phone, String hobby, String info, Timestamp birthday) {
        super();
        this.sid = sid;
        this.sname = sname;
        this.gender = gender;
        this.phone = phone;
        this.hobby = hobby;
        this.info = info;
        this.birthday = birthday;
    }

    public int getSid() {
        return sid;
    }

    public void setSid(int sid) {
        this.sid = sid;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getHobby() {
        return hobby;
    }

    public void setHobby(String hobby) {
        this.hobby = hobby;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }

    public Timestamp getBirthday() {
        return birthday;
    }

    public void setBirthday(Timestamp birthday) {
        this.birthday = birthday;
    }

    @Override
    public String toString() {
        return "Student [sid=" + sid + ", sname=" + sname + ", gender=" + gender + ", phone=" + phone + ", hobby="
                + hobby + ", info=" + info + ", birthday=" + birthday + "]";
    }
    
}

6. 分页PageBean.java实体类

package com.lywgames.domain;

import java.util.List;

/**
 * 这是一个用于封装了分页的数据。
 * 里面包含:
 *      该页的学生集合数据
 *      总的记录数
 *      总的页数
 *      当前页
 *      每页显示的记录数
 * @param <T>
 */
public class PageBean<T> {
    private int currentPage; //当前页
    private int totalPage; //总页数
    private int pageSize; //每页的记录数
    private int totalSize; //总的记录数
    private List<T> list; //当前页的学生集合
    
    public int getCurrentPage() {
        return currentPage;
    }
    public void setCurrentPage(int currentPage) {
        this.currentPage = currentPage;
    }
    public int getTotalPage() {
        return totalPage;
    }
    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }
    public int getPageSize() {
        return pageSize;
    }
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
    public int getTotalSize() {
        return totalSize;
    }
    public void setTotalSize(int totalSize) {
        this.totalSize = totalSize;
    }
    public List<T> getList() {
        return list;
    }
    public void setList(List<T> list) {
        this.list = list;
    }
}

7. 数据库操作StudentDao.java接口

package com.lywgames.dao;

import java.sql.SQLException;
import java.util.List;
import com.lywgames.domain.Student;

/**
 * 这是针对学生表的数据访问 
 */
public interface StudentDao {
    /**
     * 查询所有学生
     * @return  List<Student>
     */
    List<Student> findAll() throws SQLException;
    
    /**
     * 添加学生
     * @param student 需要添加到数据库的学生对象
     * @throws SQLException
     */
    int insert(Student student) throws SQLException;
    
    /**
     * 根据id删除学生
     * @param sid
     * @throws SQLException
     */
    int delete(int sid) throws SQLException;
    
    /**
     * 根据id查询单个学生对象
     * @param sid
     * @return
     * @throws SQLException
     */
    Student findStudentById(int sid) throws SQLException;
    
    /**
     * 更新学生信息
     * @param student 需要更新的学生数据
     * @throws SQLException
     */
    int update(Student student) throws SQLException;
    
    /**
     * 模糊查询, 根据姓名或者根据性别或者两者兼有。 
     * @param sname
     * @param sgender
     * @return 集合
     * @throws SQLException
     */
    List<Student> searchStudent(String sname, String sgender) throws SQLException;
    
    /**
     * 查询当页的学生数据
     * @param currentPage
     * @param pageSize
     * @return
     * @throws SQLException
     */
    List<Student> findStudentByPage(int currentPage, int pageSize) throws SQLException;
    
    
    /**
     * 查询总的学生记录数
     * @return
     * @throws SQLException
     */
    int findCount() throws SQLException;
}

8. 数据库操作StudentDaoImpl.java实现类

package com.lywgames.dao.impl;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import com.lywgames.dao.StudentDao;
import com.lywgames.domain.Student;
import com.lywgames.util.JDBCUtil;

/**
 * 这是StudentDao的实现。 针对前面定义的规范, 做出具体的实现。
 */
public class StudentDaoImpl implements StudentDao {
    /**
     * 查询所有学生
     */
    @Override
    public List<Student> findAll() throws SQLException {
        QueryRunner queryRunner = new QueryRunner();
        return queryRunner.query(JDBCUtil.getConn(), "select * from t_student", new BeanListHandler<Student>(Student.class));
    }
    
    /**
     * 添加学生
     */
    @Override
    public int insert(Student student) throws SQLException {
        QueryRunner queryRunner = new QueryRunner();
        return queryRunner.update(JDBCUtil.getConn(), "insert into t_student values (null, ?, ?, ?, ?, ?, ?)", student.getSname(), 
                student.getGender(), student.getPhone(), student.getHobby(), student.getInfo(), student.getBirthday());
    }
    
    /**
     * 根据id删除学生
     */
    @Override
    public int delete(int sid) throws SQLException {
        QueryRunner queryRunner = new QueryRunner();
        return queryRunner.update(JDBCUtil.getConn(), "delete from t_student where sid = ?", sid);
    }
    
    /**
     * 根据id查询单个学生对象
     */
    @Override
    public Student findStudentById(int sid) throws SQLException {
        QueryRunner queryRunner = new QueryRunner();
        return queryRunner.query(JDBCUtil.getConn(), "select * from t_student where sid = ?", new BeanHandler<Student>(Student.class), sid);
    }

    /**
     * 更新学生信息
     */
    @Override
    public int update(Student student) throws SQLException {
        QueryRunner queryRunner = new QueryRunner();
        return queryRunner.update(JDBCUtil.getConn(), "update t_student set sname = ?, gender = ?, phone = ?, hobby = ?, info = ?,  birthday = ? where sid = ?", 
                student.getSname(), student.getGender(), student.getPhone(), student.getHobby(), student.getInfo(), student.getBirthday(), student.getSid());
    }
    
    /**
     * 模糊查询, 根据姓名或者根据性别或者两者兼有。 
     */
    @Override
    public List<Student> searchStudent(String sname, String sgender) throws SQLException {
        /**
         * 1. sname有值, sgender为null或者""
         * select * from t_student where sname like ?
         * 2. sgender有值, sname为null或者""
         * select * from t_student where sgender = ?
         * 3. sname有值, sgender也有值
         * select * from t_student where sname = ? and sgender = ?
         */
        
        String sql = "select * from t_student";
        List<String> params = new ArrayList<String>();
        if(sname != null && sname.length() > 0 && (sgender == null || sgender.length() <= 0)) {
            sql = sql + " where sname like ?";
            params.add("%" + sname + "%");
        }
        if(sgender != null && sgender.length() > 0 && (sname == null || sname.length() <= 0)) {
            sql = sql + " where gender = ?";
            params.add(sgender);
        }
        if(sname != null && sname.length() > 0 && sgender != null && sgender.length() > 0) {
            sql = sql + " where sname like ? and gender = ?";
            params.add("%" + sname + "%");
            params.add(sgender);
        }
        
        QueryRunner queryRunner = new QueryRunner();
        return queryRunner.query(JDBCUtil.getConn(), sql, new BeanListHandler<Student>(Student.class), params.toArray());
    }

    /**
     * 查询当页的学生数据
     */
    @Override
    public List<Student> findStudentByPage(int currentPage, int pageSize) throws SQLException {
        // 假设pageSize是5
        // 第一页: [5, 0], 0 = (1 - 1) * 5
        // 第二页: [5, 5], 5 = (2 - 1) * 5
        // 第三页: [5, 10], 10 = (3 - 1) * 5
        String sql = "select * from t_student limit ? offset ?";
        QueryRunner queryRunner = new QueryRunner();
        return queryRunner.query(JDBCUtil.getConn(), sql, new BeanListHandler<Student>(Student.class), pageSize, (currentPage - 1) * pageSize);
    }

    /**
     * 查询总的学生记录数
     */
    @Override
    public int findCount() throws SQLException {
        QueryRunner queryRunner = new QueryRunner();
        return ((Long)queryRunner.query(JDBCUtil.getConn(), "select count(*) from t_student", new ScalarHandler())).intValue();
    }

}

9. 逻辑操作StudentService.java接口

package com.lywgames.service;

import java.sql.SQLException;
import java.util.List;
import com.lywgames.domain.PageBean;
import com.lywgames.domain.Student;

/**
 * 这是学生的业务处理规范
 */
public interface StudentService {
    int DEFAULT_PAGE_SIZE = 5; // 默认一页显示多少条记录
    
    /**
     * 查询所有学生
     * @return  List<Student>
     */
    List<Student> findAll();
    
    /**
     * 添加学生
     * @param student 需要添加到数据库的学生对象
     * @throws SQLException
     */
    int insert(Student student);
    
    /**
     * 根据id删除学生
     * @param sid
     * @throws SQLException
     */
    int delete(int sid);
    
    /**
     * 根据id查询单个学生对象
     * @param sid
     * @return
     * @throws SQLException
     */
    Student findStudentById(int sid);
    
    /**
     * 更新学生信息
     * @param student 需要更新的学生数据
     * @throws SQLException
     */
    int update(Student student);
    
    /**
     * 模糊查询, 根据姓名或者根据性别或者两者兼有。 
     * @param sname
     * @param sgender
     * @return 集合
     * @throws SQLException
     */
    List<Student> searchStudent(String sname, String sgender);
    
    /**
     * 查询当页的学生数据
     * @param currentPage
     * @return
     * @throws SQLException
     */
    PageBean<Student> findStudentByPage(int currentPage);
}

10. 逻辑操作StudentServiceImpl.java实现类

package com.lywgames.service.impl;

import java.sql.SQLException;
import java.util.List;
import com.lywgames.dao.StudentDao;
import com.lywgames.dao.impl.StudentDaoImpl;
import com.lywgames.domain.PageBean;
import com.lywgames.domain.Student;
import com.lywgames.service.StudentService;

/**
 * 这是学生业务实现
 */
public class StudentServiceImpl implements StudentService {
    private StudentDao studentDao = new StudentDaoImpl();
    
    @Override
    public List<Student> findAll(){
        try {
            return studentDao.findAll();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    public int insert(Student student){
        try {
            return studentDao.insert(student);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return -1;
    }

    @Override
    public int delete(int sid) {
        try {
            return studentDao.delete(sid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return -1;
    }

    @Override
    public Student findStudentById(int sid) {
        try {
            return studentDao.findStudentById(sid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    public int update(Student student) {
        try {
            return studentDao.update(student);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return -1;
    }

    @Override
    public List<Student> searchStudent(String sname, String sgender) {
        try {
            return studentDao.searchStudent(sname, sgender);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    public PageBean<Student> findStudentByPage(int currentPage) {
        PageBean<Student> pageBean = new PageBean<Student>();
        pageBean.setCurrentPage(currentPage);
        pageBean.setPageSize(DEFAULT_PAGE_SIZE);
        try {
            pageBean.setList(studentDao.findStudentByPage(currentPage, DEFAULT_PAGE_SIZE));
            int count = studentDao.findCount();
            pageBean.setTotalSize(count);
            pageBean.setTotalPage(count % DEFAULT_PAGE_SIZE == 0 ? count / DEFAULT_PAGE_SIZE : (count / DEFAULT_PAGE_SIZE) + 1);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        
        return pageBean;
    }
    
}

11. 查找所有学生StudentListServlet.java

package com.lywgames.servlet;

import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lywgames.domain.Student;
import com.lywgames.service.StudentService;
import com.lywgames.service.impl.StudentServiceImpl;

/**
 * 查找所有学生
 */
public class StudentListServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		StudentService service = new StudentServiceImpl();
		List<Student> studentList = service.findAll();
		if(studentList != null) {
			req.setAttribute("studentList", studentList);
		}
		req.getRequestDispatcher("list.jsp").forward(req, resp);
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
}

12. 分页查找学生StudentListPageServlet.java

package com.lywgames.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lywgames.domain.PageBean;
import com.lywgames.domain.Student;
import com.lywgames.service.StudentService;
import com.lywgames.service.impl.StudentServiceImpl;

/**
 * 分页查找学生
 */
public class StudentListPageServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		int currentPage = Integer.valueOf(req.getParameter("currentPage")).intValue() ;
		
		StudentService service = new StudentServiceImpl();
		PageBean<Student> pageBean = service.findStudentByPage(currentPage);
		req.setAttribute("pageBean", pageBean);
		req.getRequestDispatcher("page_list.jsp").forward(req, resp);
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
}

13. 添加学生AddServlet.java

package com.lywgames.servlet;

import java.io.IOException;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lywgames.domain.Student;
import com.lywgames.service.StudentService;
import com.lywgames.service.impl.StudentServiceImpl;

/**
 * 添加学生
 */
public class AddServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
	
		String sname = req.getParameter("sname");
		String gender = req.getParameter("gender");
		String phone = req.getParameter("phone");
		String info = req.getParameter("info");
		long time = System.currentTimeMillis();
		try {
			time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(req.getParameter("birthday")).getTime();
		} catch (ParseException e) {
			e.printStackTrace();
		}
		Timestamp birthday = new Timestamp(time);
		
		String[] hobbys = req.getParameterValues("hobby");
		StringBuffer sb = new StringBuffer();
		for(int i = 0; i < hobbys.length; i++) {
			sb.append(hobbys[i]);
			if(i < hobbys.length - 1) {
				sb.append(",");
			}
		}
		
		StudentService service = new StudentServiceImpl();
		Student student = new Student(sname, gender, phone, sb.toString(), info, birthday);
		int result = service.insert(student);
		if(result == 1) {
			req.getRequestDispatcher("StudentListServlet.action").forward(req, resp);
		}
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
}

14. 编辑学生信息EditServlet.java

package com.lywgames.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lywgames.domain.Student;
import com.lywgames.service.StudentService;
import com.lywgames.service.impl.StudentServiceImpl;

/**
 * 编辑学生信息
 */
public class EditServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
		
		String sid = req.getParameter("sid");
		StudentService service = new StudentServiceImpl();
		Student student = service.findStudentById(Integer.parseInt(sid));
		if(student != null) {
			req.setAttribute("student", student);
			req.getRequestDispatcher("edit.jsp").forward(req, resp);
		}
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
}

15. 更新学生信息UpdateServlet.java

package com.lywgames.servlet;

import java.io.IOException;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lywgames.domain.Student;
import com.lywgames.service.StudentService;
import com.lywgames.service.impl.StudentServiceImpl;

/**
 * 更新学生信息
 */
public class UpdateServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
		
		int sid = Integer.parseInt(req.getParameter("sid"));
		String sname = req.getParameter("sname");
		String gender = req.getParameter("gender");
		String phone = req.getParameter("phone");
		String info = req.getParameter("info");
		long time = System.currentTimeMillis();
		try {
			time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(req.getParameter("birthday")).getTime();
		} catch (ParseException e) {
			e.printStackTrace();
		}
		Timestamp birthday = new Timestamp(time);
		
		String[] hobbys = req.getParameterValues("hobby");
		StringBuffer sb = new StringBuffer();
		for(int i = 0; i < hobbys.length; i++) {
			sb.append(hobbys[i]);
			if(i < hobbys.length - 1) {
				sb.append(",");
			}
		}
		
		StudentService service = new StudentServiceImpl();
		Student student = new Student(sid, sname, gender, phone, sb.toString(), info, birthday);
		int result = service.update(student);
		if(result == 1) {
			req.getRequestDispatcher("StudentListServlet.action").forward(req, resp);
		}
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
}

16. 删除学生DeleteServlet.java

package com.lywgames.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lywgames.service.StudentService;
import com.lywgames.service.impl.StudentServiceImpl;

/**
 * 删除学生
 */
public class DeleteServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
		
		String sid = req.getParameter("sid");
		StudentService service = new StudentServiceImpl();
		int result = service.delete(Integer.parseInt(sid));
		if(result == 1) {
			req.getRequestDispatcher("StudentListServlet.action").forward(req, resp);
		}
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
}

17. 查找学生SearchStudentServlet.java

package com.lywgames.servlet;

import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.lywgames.domain.Student;
import com.lywgames.service.StudentService;
import com.lywgames.service.impl.StudentServiceImpl;

/**
 * 查找学生
 */
public class SearchStudentServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
	
		String sname = req.getParameter("sname");
		String gender = req.getParameter("gender");
		
		StudentService service = new StudentServiceImpl();
		List<Student> studentList = service.searchStudent(sname, gender);
		if(studentList != null) {
			req.setAttribute("studentList", studentList);
		}
		req.getRequestDispatcher("list.jsp").forward(req, resp);
	}
	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
}

18. web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>StudentManager</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>

	<servlet>
		<servlet-name>StudentListServlet</servlet-name>
		<servlet-class>com.lywgames.servlet.StudentListServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>StudentListServlet</servlet-name>
		<url-pattern>/StudentListServlet.action</url-pattern>
	</servlet-mapping>
	<servlet>
		<servlet-name>AddServlet</servlet-name>
		<servlet-class>com.lywgames.servlet.AddServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>AddServlet</servlet-name>
		<url-pattern>/AddServlet.action</url-pattern>
	</servlet-mapping>
	<servlet>
		<servlet-name>EditServlet</servlet-name>
		<servlet-class>com.lywgames.servlet.EditServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>EditServlet</servlet-name>
		<url-pattern>/EditServlet.action</url-pattern>
	</servlet-mapping>
	<servlet>
		<servlet-name>UpdateServlet</servlet-name>
		<servlet-class>com.lywgames.servlet.UpdateServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>UpdateServlet</servlet-name>
		<url-pattern>/UpdateServlet.action</url-pattern>
	</servlet-mapping>
	<servlet>
		<servlet-name>DeleteServlet</servlet-name>
		<servlet-class>com.lywgames.servlet.DeleteServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>DeleteServlet</servlet-name>
		<url-pattern>/DeleteServlet.action</url-pattern>
	</servlet-mapping>
	<servlet>
		<servlet-name>SearchStudentServlet</servlet-name>
		<servlet-class>com.lywgames.servlet.SearchStudentServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>SearchStudentServlet</servlet-name>
		<url-pattern>/SearchStudentServlet.action</url-pattern>
	</servlet-mapping>
	<servlet>
		<servlet-name>StudentListPageServlet</servlet-name>
		<servlet-class>com.lywgames.servlet.StudentListPageServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>StudentListPageServlet</servlet-name>
		<url-pattern>/StudentListPageServlet.action</url-pattern>
	</servlet-mapping>
</web-app>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值