web音乐商城简陋版项目总结(sevlet+jsp+mysql)

2023-12-27 06:10

本文主要是介绍web音乐商城简陋版项目总结(sevlet+jsp+mysql),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这次的web项目是做一个音乐商城,目的是巩固下最近java ee学习的内容。
 有点头皮发麻,做一个响应式网站,完全不知道从何做起,开始的时候做servlet响应,就无脑一个请求对应一个servlet,并且这个sevlet内容,从获取请求到交互数据全在一个类中实现。
在这里插入图片描述

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {Connection conn = null;Statement stmt = null;ResultSet rs = null;boolean loginsucess = false;String name = req.getParameter("uname");String password = req.getParameter("upass");System.out.println("用户名" + name + "密码" + password);System.out.println("获取成功");boolean exist = SqlUtil.SqlQUtilExist(name);System.out.println(exist);try {Class.forName("com.mysql.jdbc.Driver");//注册驱动} catch (ClassNotFoundException e) {e.printStackTrace();}try {conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/users", "root", "ChenBaifu137708.");} catch (SQLException e) {e.printStackTrace();}//获取连接try {assert conn != null;stmt = conn.createStatement();//获取数据库操作对象} catch (SQLException e) {e.printStackTrace();}String sql = "select password from accountinformation where id_name = '" + name + "' and password = '" + password + "'";try {assert stmt != null;stmt.execute(sql);} catch (SQLException e) {e.printStackTrace();}try {rs = stmt.executeQuery(sql);if (rs.next()) {loginsucess = true;}} catch (SQLException e) {e.printStackTrace();}System.out.println(loginsucess);if (loginsucess) {Cookie cok_name=new Cookie("id_name",name);Cookie cok_pass=new Cookie("password",password);cok_name.setMaxAge(60*60*24*7);cok_pass.setMaxAge(60*60*25*7);Customer customer = SqlUtil.SqlQUtil(name);HttpSession session = req.getSession();session.setAttribute("customer", customer);cok_name.setPath(req.getContextPath());cok_pass.setPath(req.getContextPath());resp.addCookie(cok_name);resp.addCookie(cok_pass);req.setAttribute("username", name);req.getRequestDispatcher("/login_Sucess.jsp").forward(req, resp);}if (!loginsucess) {req.setAttribute("username", name);req.getRequestDispatcher("/Login_Error.jsp").forward(req, resp);}try {stmt.close();conn.close();} catch (SQLException e) {e.printStackTrace();}}

反正我自己感觉挺离谱的,后面的时候,才知道,咦?原来可以封装工具类,原来可以把一个请求到响应的过程分好几层,既方便又清晰?emm,
随着项目的推进,慢慢找到前面写项目的离谱之处。
在这里插入图片描述
我也开始试着分层,也开始试着封装一些工具,虽然,开始的时候把dao层和工具类写到一块了,(不管是数据库增删改查还是注册驱动我都认为是工具类,被自己蠢哭了)
在这里插入图片描述
我写后台查询的时候才知道,诶原来过滤器是这么用的,写保存登陆状态的时候,诶cookie原来可以保存。

写支付宝沙箱支付的时候,知道了同步回调是重定向,别问,问就是
正是项目的训练才可以把各个板块的只是糅合到一块。
在这里插入图片描述
我一直还离谱的认为,是服务器内部的转发,直接就填的本地地址,我就说怎么同步回调有点问题。。。。。
本次分享到这里了,谢谢阅读

这篇关于web音乐商城简陋版项目总结(sevlet+jsp+mysql)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/542106

相关文章

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

MySQL中COALESCE函数示例详解

《MySQL中COALESCE函数示例详解》COALESCE是一个功能强大且常用的SQL函数,主要用来处理NULL值和实现灵活的值选择策略,能够使查询逻辑更清晰、简洁,:本文主要介绍MySQL中C... 目录语法示例1. 替换 NULL 值2. 用于字段默认值3. 多列优先级4. 结合聚合函数注意事项总结C

通过ibd文件恢复MySql数据的操作方法

《通过ibd文件恢复MySql数据的操作方法》文章介绍通过.ibd文件恢复MySQL数据的过程,包括知道表结构和不知道表结构两种情况,对于知道表结构的情况,可以直接将.ibd文件复制到新的数据库目录并... 目录第一种情况:知道表结构第二种情况:不知道表结构总结今天干了一件大事,安装1Panel导致原来服务

mysql关联查询速度慢的问题及解决

《mysql关联查询速度慢的问题及解决》:本文主要介绍mysql关联查询速度慢的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql关联查询速度慢1. 记录原因1.1 在一次线上的服务中1.2 最终发现2. 解决方案3. 具体操作总结mysql

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

MySql中的数据库连接池详解

《MySql中的数据库连接池详解》:本文主要介绍MySql中的数据库连接池方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql数据库连接池1、概念2、为什么会出现数据库连接池3、原理4、数据库连接池的提供商5、DataSource数据源6、DBCP7、C

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin

MySQL的隐式锁(Implicit Lock)原理实现

《MySQL的隐式锁(ImplicitLock)原理实现》MySQL的InnoDB存储引擎中隐式锁是一种自动管理的锁,用于保证事务在行级别操作时的数据一致性和安全性,本文主要介绍了MySQL的隐式锁... 目录1. 背景:什么是隐式锁?2. 隐式锁的工作原理3. 隐式锁的类型4. 隐式锁的实现与源代码分析4

MySQL中Next-Key Lock底层原理实现

《MySQL中Next-KeyLock底层原理实现》Next-KeyLock是MySQLInnoDB存储引擎中的一种锁机制,结合记录锁和间隙锁,用于高效并发控制并避免幻读,本文主要介绍了MySQL中... 目录一、Next-Key Lock 的定义与作用二、底层原理三、源代码解析四、总结Next-Key L

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A