zoukankan      html  css  js  c++  java
  • struts+service+action+数据库

    用户登录流程

    1.jsp根据form表单中的action的login   <form action="/test02/login" method="post">

        请求struts.xml文件中的 

    <action name="login" class="action.LoginAction" method="add">

    2.struts.xml根据  class="action.LoginAction"会访问  action.LoginAction中的add()方法

     3.LoginAction.action文件中的

        public String add() throws SQLException {

            User user = loginService.login(username, password);

    4.根据 User user = loginService.login(username, password);会访问loginService 中的 login  public User login(String username, String password) throws SQLException

    5.执行loginDao文件中的  login(访问数据库)

    public User login(String username, String password) throws SQLException {

            Connection conn = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            User u = null;

            try {
                Class.forName("com.mysql.jdbc.Driver");
                conn = DriverManager.getConnection(
                        "jdbc:mysql://127.0.0.1:3306/mydb?characterEncoding=UTF8",
                        "root", "123456");
                String sql = "select * from user where username = ? and password =?";
                ps = conn.prepareStatement(sql);// 预编译的,对于批量处理可以大大提高效率
                ps.setString(1, username);// 相当于上面的前一个问号
                ps.setString(2, password);
                rs = ps.executeQuery();// 查询数据库,在访问数据库的时候需要查询,别的三个操作指示更新数据库
                while (rs.next()) {
                    u = new User();
                    u.setUsername(rs.getString("username"));
                    u.setPassword(rs.getString("password"));

                }

            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } finally {
                if (rs != null) {
                    rs.close();
                }
                if (ps != null) {
                    ps.close();
                }
                if (conn != null) {
                    conn.close();
                }
            }

            return u;

        }

  • 相关阅读:
    最大团问题
    树的重心与相关性质
    2020年牛客算法入门课练习赛3 B
    牛客练习赛66 E
    浅谈后缀数组SA
    [随机化算法] 听天由命?浅谈Simulate Anneal模拟退火算法
    “优美的暴力”——树上启发式合并
    [线段树系列] LCT打延迟标记的正确姿势
    [Tarjan系列] Tarjan算法与有向图的SCC
    [Tarjan系列] 无向图e-DCC和v-DCC的缩点
  • 原文地址:https://www.cnblogs.com/sunli0205/p/5121310.html
Copyright © 2011-2022 走看看