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

暑期生活学习笔记

一、本周学习内容
(一)JSP 与 JSTL 的深入应用
JSP 页面升级
将本周的静态 HTML 页面(登录页和注册页)升级为 JSP 页面,引入 JSTL 标签库,实现动态内容的展示。
在登录页面(login.jsp)中,使用 JSTL 的 <c:if> 标签根据登录状态显示不同的提示信息。例如,当用户输入错误的用户名或密码时,页面会显示“用户名或密码错误”的提示。
在注册页面(register.jsp)中,使用 <c:forEach> 标签动态生成用户列表,展示已注册的用户信息。
JSP 内置对象与作用域
学习了 JSP 的内置对象,如 request、response、session 和 application,并掌握了它们在不同作用域中的使用方法。
通过 session 对象实现了简单的用户登录状态管理。当用户成功登录后,将用户信息存储在 session 中,并在后续的页面中通过 session.getAttribute() 方法获取用户信息。
(二)Servlet 与 JDBC 集成
用户登录功能实现
在 LoginServlet 中集成 JDBC,实现用户登录时从数据库中查询用户名和密码,并进行验证。
使用 DriverManager.getConnection() 方法连接到本地的 campus 数据库,执行 SQL 查询语句,获取用户信息。
如果查询到的用户名和密码与输入的匹配,则返回 JSON 数据 { "code":0, "msg":"success" },否则返回 { "code":1, "msg":"用户名或密码错误" }。
数据库连接池的使用
学习了数据库连接池的概念和优势,使用 Apache DBCP(Database Connection Pool)配置了一个简单的连接池。
在 LoginServlet 中,通过连接池获取数据库连接,提高了数据库访问的效率,减少了连接的创建和销毁时间。
(三)项目优化与调试
代码结构优化
对项目的代码结构进行了优化,将数据库操作封装到一个单独的工具类(DBUtil)中,方便复用和维护。
在 DBUtil 类中,实现了连接池的初始化、获取连接、关闭资源等方法,简化了 LoginServlet 中的数据库操作代码。
性能优化
使用 Eclipse 的性能分析工具对项目进行了性能测试,发现了一些潜在的性能问题,如数据库查询效率低、页面加载时间长等。
通过优化 SQL 查询语句、减少不必要的数据库操作以及使用缓存机制,显著提高了项目的性能。
二、下周计划
JavaBean 的应用
学习 JavaBean 的概念和使用方法,将用户信息封装到一个 JavaBean 类(User)中。
在 LoginServlet 中,通过 JavaBean 实现用户信息的封装和传递,简化代码逻辑。
项目功能扩展
实现用户注册功能,允许用户通过注册页面提交新的用户信息,并将其存储到数据库中。
在用户列表页面(userList.jsp)中,使用 JSTL 动态展示所有用户的信息,并添加分页功能,每页显示 5 条记录。
项目测试与优化
对项目进行全面的测试,包括功能测试、性能测试和安全性测试,确保项目的稳定性和可靠性。
根据测试结果,进一步优化项目的代码和性能,修复发现的问题。
三、本周遇到的问题及解决方法
JSP 页面中的 EL 表达式不生效问题
问题描述:在 JSP 页面中使用 EL 表达式时,页面无法正确显示动态内容。
解决方法:检查 JSP 页面的配置,确保页面的 isELIgnored 属性设置为 false。同时,检查 web.xml 文件中是否正确配置了 JSP 的支持,确保服务器支持 EL 表达式。
数据库连接池配置问题
问题描述:在配置数据库连接池时,出现连接无法获取或连接超时的错误。
解决方法:仔细检查连接池的配置文件,确保数据库 URL、用户名和密码等配置正确。同时,调整连接池的参数,如最大连接数、最小空闲连接数等,以适应项目的实际需求。
JDBC 查询结果为空问题
问题描述:在 LoginServlet 中执行 SQL 查询时,查询结果为空,导致无法正确验证用户信息。
解决方法:检查 SQL 查询语句的正确性,确保查询条件与数据库中的数据匹配。同时,检查数据库连接是否正常,确保查询操作能够正确执行。
四、总结与反思
本周的学习重点在于将 JSP 与 JSTL 应用于前端页面的动态展示,以及将 Servlet 与 JDBC 集成实现用户登录功能。通过实际操作,我掌握了 JSP 和 JSTL 的基本用法,以及如何通过 JDBC 操作数据库。同时,通过优化代码结构和性能,提升了项目的可维护性和运行效率。
在下周的学习中,我将继续深入学习 JavaBean 的应用,进一步优化项目的代码结构。同时,将实现用户注册功能,并在用户列表页面中添加分页功能,提升用户体验。通过持续的优化和测试,逐步完善项目功能,为后续的学习打下坚实的基础。

http://www.wuyegushi.com/news/161.html

相关文章:

  • 好的调试
  • 20250726 之所思 - 人生如梦
  • Day15 面向对象编程
  • if语句
  • 使用 Go 调用 Tesseract 实现验证码图片文字提取
  • 最长有效括号子串问题
  • 数组练习试题2
  • 7.26 训练总结
  • AirSim基础使用【Python】
  • 7.25
  • SQLAlchemy
  • GPT-SoVITS初探
  • 6. 容器类型
  • 在Ubuntu系统中搭建Unreal4和AirSim环境
  • 深度解析苹果端侧与云端基础模型技术架构
  • 关于properties文件遇到的坑
  • 当日总结
  • 上传到https域名服务器遇到的问题
  • ABC416
  • 泛型类型在编译后会因类型擦除如何找到原始类型
  • 《大道至简》
  • 入参有泛型,返回值为什么必须有T
  • MySQL--索引
  • day3
  • Pipal密码分析工具的模块化检查器与分割器系统详解
  • 练习224A. Parallelepiped
  • 动态规划从精通到入门
  • 树形DP-Part 1
  • TRVCOST - Travelling cost 题解
  • 第一天