1. jsp+dao完成crud操作
1.1 展示所有数据到网页上
public ArrayList<Student> findAll(){//创建一个集合容器ArrayList<Student> list = new ArrayList<>();try{//获取连接对象getConn();//获取执行sql语句的对象ps=conn.prepareStatement("select * from tbl_student");//执行sql语句rs=ps.executeQuery();while(rs.next()){Student student = new Student();student.setId(rs.getInt("id"));student.setName(rs.getString("name"));student.setAge(rs.getInt("age"));student.setEntrydate(rs.getDate("entrydate"));student.setClassid(rs.getInt("classid"));list.add(student);}}catch (Exception e){e.printStackTrace();}finally {closeAll();}return list;}
1.2 删除
public int deleteById(int id){String sql="delete from tbl_student where id=?";return edit(sql,id);}
1.3 修改
1.3.1 回显原本的数据
dao
/*** 根据id查询学生信息*/public Student findById(int id){Student student=null;try{getConn();String sql="select * from tbl_student where id=?";ps=conn.prepareStatement(sql);ps.setObject(1,id);rs=ps.executeQuery();if (rs.next()){student=new Student();student.setId(rs.getInt("id"));student.setName(rs.getString("name"));student.setAge(rs.getInt("age"));student.setEntrydate(rs.getDate("entrydate"));student.setClassid(rs.getInt("classid"));}}catch (Exception e){e.printStackTrace();}finally {closeAll();}return student;}
页面
2.3.2 确认修改
处理页面
<body>
<%request.setCharacterEncoding("utf-8");String id = request.getParameter("id");String name = request.getParameter("username");String age = request.getParameter("age");String entrydate = request.getParameter("entrydate");String classid = request.getParameter("classid");StudentDao studentDao = new StudentDao();int i = studentDao.updateById(Integer.parseInt(id), name, Integer.parseInt(age), entrydate, Integer.parseInt(classid));if(i>0){response.sendRedirect("/success.jsp");}
%>
</body>
</html>
dao方法
public int updateById(int id,String name,int age,String entrydate,int classid){String sql="update tbl_student set name=?,age=?,entrydate=?,classid=? where id=?";return edit(sql,name,age,entrydate,classid,id); //参数的顺序必须和占位符的顺序一致}
单元测试。
2. session
2.1 什么是session
在jsp中存在的一个内置对象,该对象主要的作用就是浏览器与服务器交互的一个内置对象。该对象存放的数据,有效期: 浏览器只要不关闭,该对象中保存的数据就一直存在。 如果30分钟为操作浏览器。也会自动失效。
理解为容器: 浏览器和服务器之间的一款容器
2.2 为什么需要session?
- 存放当前登录者的信息。 2. 因为我们登录后在其他很多页面都需要当前登录者的信息。3. 可以isesssion中是否存有当前登录者的信息判断 该用户是否登录。
2.3 session中常用的方法
1. session.setAttribute(key,value);往session中存放数据
2. session.getAttribubte(key); 获取session中指定的数据。
3. session.removeAttribute(key);移除session中指定的数据。
2.4 使用session存放当前用户的信息。
所有页面的操作都需要判断当前用户是否登录。