当前位置: 首页 > news >正文

Day13--JavaWeb学习之Servlet后端渲染界面

基于Day12中登录页面实现的修改,这里实现的是如果登录成功,跳到LoginSuccess页面中展示后端查询到数据库中的信息,并实现在浏览器实现插入数据和删除数据(mybaits)。

  当输入账号密码正确后进入LoginSuccess页面,通过resp.getWriter来编写后端需要渲染的页面。

数据删除:

后端渲染数据展示的页面

在数据展示页面增加删除操作按钮,让点击后跳转到@WebServlet("/DelUser"),真正实现数据删除的地方

@WebServlet("/LoginSuccess")
public class LoginSuccess extends HttpServlet {//收参数@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);}@Overrideprotected 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>");}
}

实现执行删除的操作代码:

@WebServlet("/DelUser")
public class DelUser extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);}@Overrideprotected 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);}}
}

数据的插入:

后端渲染数据插入的页面

@WebServlet("/Insert")
public class Insert extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);}@Overrideprotected 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>");}
}

后端处理数据插入的代码:
 

@WebServlet("/InsertOk")
public class InsertOk extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);}@Overrideprotected 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);}}
}

http://www.lryc.cn/news/413715.html

相关文章:

  • 【MySQL】全面剖析索引失效、回表查询与索引下推
  • 1、爬⾍概述
  • 科普文:微服务之分布式链路追踪SkyWalking单点服务搭建
  • R 语言学习教程,从入门到精通,R的安装与环境的配置(3)
  • 【Pageadmin】之cms漏洞
  • AIGC重塑设施农业:让农事操作更智能,生产效率更高
  • netty应用-手写RPC
  • 私域流量变迁与精细移动化趋势下的AI智能名片小程序源码应用探索
  • 数据结构初阶之排序(下)
  • RGB图像的读取与保存
  • 江协科技51单片机学习- p35 AD/DA模拟/数字采样
  • C#裁剪图像的几种方法总结
  • 被遗忘的哑终端 —— 键盘键位演变的启发者
  • APACHE安装与应用
  • 预警器件控制思考
  • [Day 43] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • 【星海随笔】路由器的启动过程
  • [翻译] Asset Administration Shells
  • linux 常用磁盘维护命令
  • 滑动窗口大总结!!!妈妈以后再也不担心我不会做滑动窗口啦~
  • 从地铁客流讲开来:客流统计与清分释义
  • 《Excelize权威指南》新书发布
  • Go语言加Vue3零基础入门全栈班11 Go语言+gorm用户管理系统实战 2024年08月03日 课程笔记
  • 【设计模式】代理模式详解
  • Python变量和简单的数据类型
  • 切比雪夫距离
  • 计算机基础(Windows 10+Office 2016)教程 —— 第4章 计算机网络与Internet(下)
  • 机器学习用Python还是R?哪个更好一些?
  • 4个自定义倒计时
  • linux系统编程中Shell脚本配置,及linux脚本中的man test