| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 
 |  
package com.myapp.struts;
 
import javax.servlet.http.*;
import org.apache.struts.action.*;
import java.sql.*;
import java.util.ArrayList;
import javax.sql.*;
import org.apache.struts.Globals;
 
public class DatasourceConnectionAction extends Action {
    private DataSource dataSource;
    public ArrayList customerList = new ArrayList();
    private final static String SUCCESS = "success";
 
    public ActionForward execute(ActionMapping mapping, ActionForm  form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        HttpSession session = request.getSession();
        /** Ici, la méthode qui fait la connection à la DataSource est appelée: */
        customerList = getCustomers() ;
        /** Ici, nous mettons le customerList dans le scope, pour pouvoir l'utiliser dans la page JSP: */
        if(customerList  != null){
            session.setAttribute("allMyCustomers" , customerList);
        }
        return (mapping.findForward(SUCCESS));
    }
 
    private ArrayList getCustomers(){
        Connection conn = null;
        Statement  stmt = null;
        PreparedStatement prpStmt = null;
        ResultSet rs = null;
        StringBuffer  resultString ;
 
        try{
            /** Ici, 'empTable' est associé à la clef de la DataSource dans struts-config.xml: */
            dataSource = (DataSource)servlet.getServletContext().getAttribute("empTable");
 
            conn = dataSource.getConnection();
            String sqlQuery = "SELECT * FROM CUSTOMER_TBL";
            prpStmt = conn.prepareStatement(sqlQuery);
            rs = prpStmt.executeQuery();
 
            /** Ici, nous avons mis le champs 4 (le nom) et le champs 7 (la ville) dans la customerList: */
            while (rs.next()) {
                customerList.add(new row(rs.getString(4), rs.getString(7)));
            }
            rs.close();
 
        } catch ( SQLException e ) {
            System.err.println("SQL Exception occured while accessing the table" );
            e.printStackTrace();
            return null;
 
        } catch ( Exception e ) {
            e.printStackTrace();
            return null;
        }
 
        return customerList;
    }
} | 
Partager