基于Day12中登录页面实现的修改,这里实现的是如果登录成功,跳到LoginSuccess页面中展示后端查询到数据库中的信息,并实现在浏览器实现插入数据和删除数据(mybaits)。
当输入账号密码正确后进入LoginSuccess页面,通过resp.getWriter来编写后端需要渲染的页面。
数据删除:
后端渲染数据展示的页面
在数据展示页面增加删除操作按钮,让点击后跳转到**@WebServlet("/DelUser"),真正实现数据删除的地方**
java
@WebServlet("/LoginSuccess")
public class LoginSuccess extends HttpServlet {
//收参数
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
List<Student> info = (List<Student>) req.getAttribute("AllInfo");
PrintWriter wr = resp.getWriter();
wr.write("<!DOCTYPE html>");
wr.println("<html>");
wr.println("<head>");
wr.write("</head>");
wr.println("<body>");
wr.write("<table cellpadding='2' cellspacing='2' center='100%' border='1'>");
wr.write("<tr><th>学号</th><th>姓名</th><th>性别</th><th>年龄</th><th>专业</th><th>操作</th></tr>");
wr.write("<tr><a href='Insert'>信息录入</a></tr>");
for (int i = 0; i < info.size(); i++) {
wr.write("<tr>");
wr.write("<td>" + info.get(i).getSno() + "</td>");
wr.write("<td>" + info.get(i).getName() + "</td>");
wr.write("<td>" + info.get(i).getSex() + "</td>");
wr.write("<td>" + info.get(i).getAge() + "</td>");
wr.write("<td>" + info.get(i).getMajor() + "</td>");
wr.write("<td> <a onclick=\"if(confirm('确认删除吗?'))return true;return false;\" " +
"href=DelUser?Sno="+ info.get(i).getSno()+">删除</a></td>");
wr.write("</tr>");
}
wr.write("</table>");
wr.println("</body>");
wr.println("</html>");
}
}
实现执行删除的操作代码:
java
@WebServlet("/DelUser")
public class DelUser extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=utf-8");
String Sno = req.getParameter("Sno");
System.out.println("Sno = " + Sno);
GetMapper getMapper = new GetMapper();
getMapper.delete(Integer.valueOf(Sno));
ArrayList<Student> stu = getMapper.selectAll();
req.setAttribute("AllInfo", stu);
if (!stu.isEmpty()) {
req.getRequestDispatcher("LoginSuccess").forward(req, resp);
}
}
}
数据的插入:
后端渲染数据插入的页面
java
@WebServlet("/Insert")
public class Insert extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=utf-8");
PrintWriter wr = resp.getWriter();
wr.println("<html>");
wr.println("<head>");
wr.println("<title>Servlet Insert</title>");
wr.println("</head>");
wr.println("<body>");
wr.println("<h1>Servlet Insert </h1>");
wr.write("<div class='container'> " +
"<form action='InsertOk'>"+
"学号:<input type='text' name='sno'><br>" +
"姓名:<input type='text' name='name'><br>" +
"性别:<input type='text' name='sex'><br>" +
"年龄:<input type='text' name='age'><br>" +
"专业:<input type='text' name='major'><br>"+
"<button>提交添加</button>" +
"</form>"+
"</div>");
wr.println("</body>");
wr.println("</html>");
}
}
后端处理数据插入的代码:
java
@WebServlet("/InsertOk")
public class InsertOk extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=utf-8");
String major = req.getParameter("major");
String age = req.getParameter("age");
String sex = req.getParameter("sex");
String name = req.getParameter("name");
String sno = req.getParameter("sno");
Student student = new Student(Integer.valueOf(sno),name,sex,Integer.valueOf(age),major);
GetMapper getMapper = new GetMapper();
getMapper.insert(student);
ArrayList<Student> stu = getMapper.selectAll();
req.setAttribute("AllInfo", stu);
if (!stu.isEmpty()) {
req.getRequestDispatcher("LoginSuccess").forward(req, resp);
}
}
}