当前位置: 首页 > 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);}}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 算法学习day28
  • VBA学习(22):动态显示日历
  • 网页UI设计工具全攻略:九大精选
  • 【初阶数据结构题目】9. 链表分割
  • JAVA(IO流)7.31
  • 声临其境!体验阿里云开源音频基座大模型——FunAudioLLM
  • 【LeetCode】33.搜索旋转排序数组
  • Vue学习(三)条件渲染、列表渲染
  • Linux--shell脚本语言—/—<1>
  • 【C++学习第19天】最小生成树(对应无向图)
  • 数据分析_01_Python基础
  • 【C++】一堆数组案例 元素逆置
  • 自定义线程池(二)
  • 【带你入门生信】什么是生物信息学
  • [Linux安全运维] Nginx安装部署以及LNMP框架搭建保姆级教程
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 2019.2.20 c++ 知识梳理
  • Cumulo 的 ClojureScript 模块已经成型
  • Javascript Math对象和Date对象常用方法详解
  • JavaScript 一些 DOM 的知识点
  • java概述
  • JS题目及答案整理
  • MySQL主从复制读写分离及奇怪的问题
  • PAT A1050
  • Vue2.0 实现互斥
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 关于使用markdown的方法(引自CSDN教程)
  • 汉诺塔算法
  • 跨域
  • 聊聊sentinel的DegradeSlot
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 三栏布局总结
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • ionic入门之数据绑定显示-1
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 如何在招聘中考核.NET架构师
  • ​Java并发新构件之Exchanger
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • !!Dom4j 学习笔记
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • ## 1.3.Git命令
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (2)空速传感器
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (bean配置类的注解开发)学习Spring的第十三天
  • (C11) 泛型表达式
  • (八)Spring源码解析:Spring MVC
  • (动态规划)5. 最长回文子串 java解决
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (离散数学)逻辑连接词
  • (推荐)叮当——中文语音对话机器人