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

实验十四 EL和JSTL

实验十四 EL和JSTL

一、实验目的
1、掌握EL表达式的使用
2、掌握JSTL的使用
二、实验过程
1、在数据库Book中建立表Tbook,包含图书ID,图书名称,图书价格。实现在bookQuery.jsp页面中模糊查询图书,如果图书的价格在50元以上,则以黄色字体显示书名。相应的模糊查询放在Servlet中实现,bookQuery.jsp页面中图书的显示代码注意使用JSTL。
在这里插入图片描述
在这里插入图片描述

2、提交实验报告,实验报告中附代码和运行结果以及实验心得。
数据库Tbook:
在这里插入图片描述

bookQuery.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>Title</title><style>.mainContainer{width: 40%;text-align: center;display: grid;place-content: center;}table{align-content: center;border: 1px solid black;}.yellowColor{color: yellow;}</style>
</head>
<body><form action="Servlet" method="post"><div>请输入图书信息的模糊图书名称:<input type="text" name="searchWord" id="searchWord" required><input type="submit" value="查询"></div></form><div class="mainContainer"><c:if test="${bookList != null}"><h2>图书列表</h2><table><tr><th>图书名称</th><th>图书价格</th></tr><c:forEach items="${bookList}" var="book"><tr><td><c:if test="${book.price gt 50}"><span class="yellowColor">${book.name}</span></c:if><c:if test="${book.price le 50}">${book.name}</c:if></td><td>${book.price}</td></tr></c:forEach></table></c:if></div>
</body>
</html>

Servlet

package servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import com.example.Book;
import java.io.IOException;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
@WebServlet(name = "Servlet" )
public class Servlet extends HttpServlet {private static final String url = "jdbc:mysql://localhost:3306/Tbook";protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String name = request.getParameter("searchWord");try {// 加载和注册JDBC驱动Class.forName("com.mysql.jdbc.Driver");Connection conn = DriverManager.getConnection(url, "root", "123456");String sql = "select * from book where bookname like ?";//创建PreparedStatement对象,这有助于防止SQL注入攻击PreparedStatement stmt = conn.prepareStatement(sql);//使用setString方法设置SQL查询中的参数值stmt.setString(1,"%" + name + "%");ResultSet rs = stmt.executeQuery();List<Book> bookList = new ArrayList<>();while(rs.next()){int id = rs.getInt("id");String bookname = rs.getString("bookname");Double bookprice = rs.getDouble("bookprice");Book book = new Book(id,bookname,bookprice);bookList.add(book);}//将集合保存到会话中HttpSession session = request.getSession();session.setAttribute("bookList",bookList);//重定向到bookQuery.jsp页面
response.sendRedirect("bookQuery.jsp");rs.close();stmt.close();conn.close();} catch (SQLException se) {se.printStackTrace();} catch (Exception e) {e.printStackTrace();}}
}

Book

package com.example;public class Book {private Integer id;private String name;private double price;public Book(Integer id, String name, double price) {this.id = id;this.name = name;this.price = price;}
}

结果截图
在这里插入图片描述
在这里插入图片描述

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

相关文章:

  • 为什么在springboot中使用autowired的时候它黄色警告说不建议使用字段注入
  • DeepSeek大模型介绍、本地化部署与使用!【AI大模型】
  • 备考蓝桥杯嵌入式4:使用LCD显示我们捕捉的PWM波
  • 智能化转型2.0:从“工具应用”到“价值重构”
  • 机器学习之数学基础:线性代数、微积分、概率论 | PyTorch 深度学习实战
  • 9.PPT:儿童孤独症介绍【22】
  • 离散浣熊优化算法(DCOA)求解大规模旅行商问题(Large-Scale Traveling Salesman Problem,LTSP),MATLAB代码
  • Java 引入和使用jcharset,支持UTF-7字符集
  • rust安装笔记
  • 扣子平台的选择器节点:让智能体开发更简单,扣子免费系列教程(17)
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_sprintf_num 函数
  • Vue的状态管理:用响应式 API 做简单状态管理、状态管理库(Pinia )
  • AI工具如何辅助写文章(科研版)
  • LEED绿色建筑认证的重要意义
  • 阿里云 ubuntu22.04 中国区节点安装 Docker
  • 【kafka的零拷贝原理】
  • Linux环境部署DeepSeek大模型
  • React中key值的正确使用指南:为什么需要它以及如何选择
  • 21.2.1 基本操作
  • 车载以太网__传输层
  • 简单本地部署deepseek(软件版)
  • AI绘画:解锁商业设计新宇宙(6/10)
  • 20250202在Ubuntu22.04下使用Guvcview录像的时候降噪
  • cors跨域是如何做的?
  • 系统通解:超多视角理解
  • 最大矩阵的和
  • 深度学习 | 表示学习 | 卷积神经网络 | Batch Normalization 在 CNN 中的示例 | 20
  • 最短木板长度
  • 团体程序设计天梯赛-练习集——L1-034 点赞
  • 利用腾讯云cloud studio云端免费部署deepseek-R1