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

这次的web项目是做一个音乐商城,目的是巩固下最近java ee学习的内容 。
【sevlet+jsp+mysqlweb音乐商城简陋版项目总结】有点头皮发麻,做一个响应式网站,完全不知道从何做起,开始的时候做响应,就无脑一个请求对应一个,并且这个内容 , 从获取请求到交互数据全在一个类中实现 。
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,

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

文章插图
随着项目的推进,慢慢找到前面写项目的离谱之处 。
我也开始试着分层 , 也开始试着封装一些工具,虽然,开始的时候把dao层和工具类写到一块了,(不管是数据库增删改查还是注册驱动我都认为是工具类 , 被自己蠢哭了)
sevlet+jsp+mysql  web音乐商城简陋版项目总结

文章插图
我写后台查询的时候才知道,诶原来过滤器是这么用的,写保存登陆状态的时候,诶原来可以保存 。
写支付宝沙箱支付的时候 , 知道了同步回调是重定向 , 别问,问就是
正是项目的训练才可以把各个板块的只是糅合到一块 。
我一直还离谱的认为,是服务器内部的转发,直接就填的本地地址,我就说怎么同步回调有点问题 。。。。。