import java.util.Date;
public class Student {
private int sid; private String sname; private String gender; private String phone; private String hobby; private String info; private Date birthday; public Student(String sname, String gender, String phone, String hobby, String info, Date birthday) { super(); 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, Date birthday) { super(); this.sid= sid; this.sname = sname; this.gender = gender; this.phone = phone; this.hobby = hobby; this.info = info; this.birthday = birthday; } public Student() { super(); // TODO Auto-generated constructor stub } 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 Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } @Override public String toString() { return "Student [sid=" + sid + ", sname=" + sname + ", gender=" + gender + ", phone=" + phone + ", hobby=" + hobby + ", info=" + info + ", birthday=" + birthday + "]"; }}
``
import java.sql.SQLException; import java.util.List;
import com.stu.bean.Student;
public interface Dao { public List findAll() throws Exception; public void add(Student student) throws Exception; public void delete(int sid)throws Exception; public Student edit(int sid)throws Exception; public void updeat(Student student)throws Exception; public List search(String sname,String sgender)throws Exception; }
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 com.stu.bean.Student; import com.stu.dao.Dao; import com.stu.util.StringUtil; import com.stu.util.Util;
public class ImplDao implements Dao {
@Override public List<Student> findAll() throws SQLException { //ComboPooledDataSource dataSource = new ComboPooledDataSource(); //QueryRunner runner = new QueryRunner(dataSource); QueryRunner runner = new QueryRunner(Util.getDataSource()); String sql = "select * from student2"; List<Student> list = runner.query(sql, new BeanListHandler<Student>(Student.class)); return list; } @Override public void add(Student student) throws SQLException { // TODO Auto-generated method stub QueryRunner runner = new QueryRunner(Util.getDataSource()); String sql = "insert into student2 values(null,?,?,?,?,?,?)"; runner.update(sql, student.getSname(), student.getGender(), student.getPhone(), student.getBirthday(), student.getHobby(), student.getInfo() ); } @Override public void delete(int sid) throws Exception { // TODO Auto-generated method stub QueryRunner runner = new QueryRunner(Util.getDataSource()); runner.update("delete from student2 where sid=?",sid); } @Override public Student edit(int sid) throws Exception { QueryRunner runner = new QueryRunner(Util.getDataSource()); String sql = "select * from student2 where sid=?"; Student student = runner.query(sql, new BeanHandler<Student>(Student.class),sid); return student; } @Override public void updeat(Student student) throws Exception { QueryRunner runner = new QueryRunner(Util.getDataSource()); runner.update("update student2 set sname=? , gender=? , phone=? , birthday=? , hobby=? , info=? where sid = ?", student.getSname(), student.getGender(), student.getPhone(), student.getBirthday(), student.getHobby(), student.getInfo(), student.getSid()); } /** * 模糊查询 */ @Override public List<Student> search(String sname, String sgender) throws Exception { QueryRunner runner = new QueryRunner(Util.getDataSource()); String sql = "select * from student2 where 1=1 "; List<String> list = new ArrayList<String> (); if(!StringUtil.isEmpty(sname)){ sql = sql + " and sname like ?"; list.add("%"+sname+"%"); } if(!StringUtil.isEmpty(sgender)){ sql = sql + " and gender = ?"; list.add(sgender); } return runner.query(sql , new BeanListHandler<Student>(Student.class) ,list.toArray() ); }}
import java.util.List;
import com.stu.bean.Student;
public interface StuDaoService { public List findAll()throws Exception; public void add(Student student) throws Exception; public void delete(int sid)throws Exception; public Student edit(int sid)throws Exception; public void updeat(Student student)throws Exception; public List search(String sname,String sgender)throws Exception; }
import java.util.List;
import com.stu.bean.Student; import com.stu.dao.Dao; import com.stu.impldao.ImplDao; import com.stu.service.StuDaoService;
public class ImplService implements StuDaoService {
@Override public List<Student> findAll() throws Exception { // TODO Auto-generated method stub Dao dao = new ImplDao(); return dao.findAll(); } @Override public void add(Student student) throws Exception { // TODO Auto-generated method stub Dao dao = new ImplDao(); dao.add(student); } @Override public void delete(int sid) throws Exception { // TODO Auto-generated method stub Dao dao = new ImplDao(); dao.delete(sid); } @Override public Student edit(int sid) throws Exception { // TODO Auto-generated method stub Dao dao = new ImplDao(); Student student = dao.edit(sid); return student; } @Override public void updeat(Student student) throws Exception { Dao dao = new ImplDao(); dao.updeat(student); } @Override public List<Student> search(String sname, String sgender) throws Exception { Dao dao = new ImplDao(); return dao.search(sname, sgender); }}
import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
import com.stu.ImplService.ImplService; import com.stu.bean.Student; import com.stu.service.StuDaoService;
/**
Servlet implementation class AddServlet */ public class AddServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); try { String sname = request.getParameter("sname"); String gender = request.getParameter("gender"); String phone = request.getParameter("phone"); String birthday = request.getParameter("birthday"); String info = request.getParameter("info"); String [] h = request.getParameterValues("hobby"); String hobby = Arrays.toString(h); hobby = hobby.substring(1, hobby.length()-1); Date date = new SimpleDateFormat("yyyy-MM-dd").parse(birthday); Student student = new Student(sname, gender, phone, hobby, info, date); StuDaoService service = new ImplService(); service.add(student); request.getRequestDispatcher("FindAllServlvlet").forward(request,response ); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }
}
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.stu.ImplService.ImplService; import com.stu.service.StuDaoService;
/**
Servlet implementation class DeleteServlet */ public class DeleteServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { int sid = Integer.parseInt(request.getParameter(“sid”)); StuDaoService service = new ImplService(); service.delete(sid); request.getRequestDispatcher(“FindAllServlvlet”).forward(request,response );
} catch (Exception e) { // TODO: handle exception }} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); }
}
import java.io.IOException; import java.sql.SQLException;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
import com.stu.ImplService.ImplService; import com.stu.bean.Student; import com.stu.service.StuDaoService;
/**
处理单个学生的更新, 查询一个学生的信息,然后跳转到更新页面@author xiaomi*/ public class EditServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try { int sid = Integer.parseInt(request.getParameter("sid")); System.out.println(sid); StuDaoService service = new ImplService(); Student stu = service.edit(sid); request.setAttribute("stu", stu); request.getRequestDispatcher("edit.jsp").forward(request, response); } catch (SQLException e) { e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); }}
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.stu.ImplService.ImplService; import com.stu.bean.Student; import com.stu.service.StuDaoService; public class FindAllServlvlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); try { //查询出所有学生 StuDaoService service = new ImplService(); List<Student> list = service.findAll(); //把数据存到作用玉 request.setAttribute("list", list); //跳转到页面 request.getRequestDispatcher("list.jsp").forward(request,response ); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
import java.io.IOException; import java.sql.SQLException; 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.stu.ImplService.ImplService; import com.stu.bean.Student; import com.stu.service.StuDaoService;
/**
Servlet implementation class SearchServlet */ public class SearchServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8"); try { //1. 取到了要查询的关键数据 姓名 , 性别。 String sname= request.getParameter("sname"); String sgender= request.getParameter("sgender"); StuDaoService service = new ImplService(); List<Student> list = service.search(sname, sgender); request.setAttribute("list", list); //3. 跳转界面。列表界面 request.getRequestDispatcher("list.jsp").forward(request, response); } catch (SQLException e) { e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }}
/**
@see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); }}
import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
import com.stu.ImplService.ImplService; import com.stu.bean.Student; import com.stu.service.StuDaoService;
/**
Servlet implementation class UpdateServlet */ public class UpdateServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8"); try { int sid = Integer.parseInt(request.getParameter("sid")); String sname = request.getParameter("sname"); //sname:zhangsan String gender = request.getParameter("gender"); String phone = request.getParameter("phone"); String birthday = request.getParameter("birthday"); // 1989-10-18 String info = request.getParameter("info"); String[] h = request.getParameterValues("hobby"); String hobby = Arrays.toString(h); hobby = hobby.substring(1, hobby.length() - 1); Date date = new SimpleDateFormat("yyyy-MM-dd").parse(birthday); Student student = new Student(sid, sname, gender, phone, hobby, info, date); StuDaoService service = new ImplService(); service.updeat(student); request.getRequestDispatcher("FindAllServlvlet").forward(request, response); } catch (Exception e) { // TODO: handle exception }} /**
@see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); }}
<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%>
Insert title here<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%>
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core”%>
学生列表页面 <tr > <td colspan="8"> 按姓名查询:<input type="text" name="sname"/> 按性别查询:<select name="sgender"> <option value="">--请选择-- <option value="男">男 <option value="女">女 </select> <input type="submit" value="查询"> <a href="add.jsp">添加</a> </td> </tr> <tr align="center"> <td>编号</td> <td>姓名</td> <td>性别</td> <td>电话</td> <td>生日</td> <td>爱好</td> <td>简介</td> <td>操作</td> </tr> <c:forEach items="${list }" var="stu"> <tr align="center"> <td>${stu.sid }</td> <td>${stu.sname }</td> <td>${stu.gender }</td> <td>${stu.phone }</td> <td>${stu.birthday }</td> <td>${stu.hobby }</td> <td>${stu.info }</td> <td><a href="EditServlet?sid=${stu.sid }">更新</a> <a href="#" onclick="doDelete(${stu.sid})">删除</a></td> </tr> </c:forEach> </table> </form><%-- <%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%> <%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core”%>
学生信息 <tr > <td colspan="8"> 按姓名查询:<input type="text" name="sname"/> 按性别查询:<select name="sgender"> <option value="">--请选择-- <option value="男">男 <option value="女">女 </select> <input type="submit" value="查询"> <a href="add.jsp">添加</a> </td> </tr> <tr align="center"> <td>编号</td> <td>姓名</td> <td>性别</td> <td>电话</td> <td>生日</td> <td>爱好</td> <td>简介</td> <td>操作</td> </tr> <c:forEach items="${list }" var="stu"> <tr align="center"> <td>${stu.sid }</td> <td>${stu.sname }</td> <td>${stu.gender }</td> <td>${stu.phone }</td> <td>${stu.birthday }</td> <td>${stu.hobby }</td> <td>${stu.info }</td> <td><a href="EditServlet?sid=${stu.sid }">更新</a> <a href="#" onclick="doDelete(${stu.sid})">删除</a></td> </tr> </c:forEach> </table> </form> --%><%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%>
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %> <%@ taglib prefix=“fn” uri=“http://java.sun.com/jsp/jstl/functions” %>
更新学生页面