• Servlet学习-数据库的操作


    servlet就是一个java类,所以连接数据库的原理和普通java一样额

    public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
    
            response.setContentType("text/html;charset=utf-8");
            response.setCharacterEncoding("utf-8");
            
            PrintWriter out = response.getWriter();
            request.setCharacterEncoding("utf-8");
            String id=request.getParameter("username");
            String password=request.getParameter("password");
            
            out.println("id = " +id);
            
            //Servlet操作数据库和普通java类一样
            
            Connection ct= null;
            PreparedStatement ps =null;
            ResultSet rs = null;
            try {
                //1.加载驱动
                Class.forName("com.mysql.jdbc.Driver");
                //2.得到连接
                ct = DriverManager.getConnection("jdbc:mysql://localhost:3306/work", "root", "1");
                //3.创建PreparedStatment 用于传送sql查询语句
                ps=(PreparedStatement) ct.prepareStatement("select * from users where id =? and password=?");
                //给?赋值
                ps.setObject(1, id);
                ps.setObject(2, password);
                
                //4.执行操作
                rs= ps.executeQuery();
                //5.根据结果做处理
                if(rs.next())
                {//合法
                    request.getRequestDispatcher("/MainFrame").forward(request, response);
                }else
                {
                    request.setAttribute("error", "用户名 或者 密码错误!");
                    request.getRequestDispatcher("/LoginServlet").forward(request, response);
                }
                
                
            } catch (Exception e) {
                e.printStackTrace();
                // TODO: handle exception
            }finally
            {
                //关闭资源
                if(rs!=null)
                {
                    try {
                        rs.close();
                    } catch (SQLException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    rs=null;
                }
                if(ps!=null)
                {
                    try {
                        ps.close();
                    } catch (SQLException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    ps=null;
                }
                if(ct!=null)
                {
                    try {
                        ct.close();
                    } catch (SQLException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    ct=null;
                }
            }
            
            
            //out.println("username"+username);
            
            
    
        }
    
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
    
            this.doGet(request, response);
    
        }
  • 相关阅读:
    catboost原理以及Python代码
    lightgbm原理以及Python代码
    stacking算法原理及代码
    python自动化之爬虫模拟登录
    python自动化之爬虫原理及简单案例
    python自动化之PDF
    input type="file"鼠标无法变小手
    typescript中类和接口的区别
    TypeScript基础类型
    微信小程序-获取input值的两种方法
  • 原文地址:https://www.cnblogs.com/bersaty/p/3204151.html
Copyright © 2020-2023  润新知