fluffy0301 / jay_jiwoo

1 stars 0 forks source link

7/8 시험 실기 외울 것 #61

Open fluffy0301 opened 2 years ago

fluffy0301 commented 2 years ago

빈칸 채우기

image image image image image

fluffy0301 commented 2 years ago
package jsp;

import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@WebServlet("/RE10")
public class RE10 extends HttpServlet {
    private static final long serialVersionUID = 1L;

    private RE10DAO dao;
    public RE10() {
        super();
        dao = new RE10DAO();
    }//constructor

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //1. request.getParameter를 통해 사용자가 보낸 이름을 받는다.
        String enm = request.getParameter("ename");
        //2. DAO를 통해 사용자가 보낸 이름에 적합한 결과를 받는다.
        ArrayList<EmpDTO> list = null;
        try {
            list = dao.nameLikeSearch(enm);
        } catch( SQLException e ) {
            e.printStackTrace();
            //3. 에러가 있다면 사용자에게 에러를 공지한다.
            //3-1. 세션에 에러 메세지를 입력.
            request.getSession().setAttribute("err_msg"
                    , "DBMS 오류<br><br>잠시 후 다시 시도해 주세요.");
            //3-2. 에러 페이지를 호출. -> 에러 페이지에서 에러 메세지를 출력한다.
            response.sendRedirect("./jsp/10RE_err_page.jsp");
            return;//프로그램 종료.
        }
        //4. 에러 없이 결과가 나왔다면 사용자에게 보낸다.
        request.setAttribute("empNameLikeSearchResult", list);
        RequestDispatcher disp
            = request.getRequestDispatcher("./jsp/10RE_result.jsp");
        disp.forward(request, response);
    }//doGet

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}//class
fluffy0301 commented 2 years ago

ExeSearch09DAO

package jsp;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class ExeSearch09DAO {

    public ExeSearch09DAO() {
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
        } catch( ClassNotFoundException e ) {
            e.printStackTrace();
        }
    }//constructor

    private final String URL = "jdbc:oracle:thin:@192.168.0.38:1521:xe";
    private final String USER = "c##scott";
    private final String PASSWORD = "tiger";

    public ArrayList<EmpDTO> nameSearch(String name) throws SQLException {
        ArrayList<EmpDTO> list = new ArrayList<EmpDTO>();

        Connection con = DriverManager.getConnection(URL, USER, PASSWORD);

        String sql = "select empno, ename, job, mgr, hiredate, sal, comm"
                + ", deptno from emp where ename like '%'||?||'%'";
        PreparedStatement psmt = con.prepareStatement(sql);
        psmt.setString(1, name);

        ResultSet rs = psmt.executeQuery();
        while(rs.next()) {
            EmpDTO dto = new EmpDTO();
            dto.setEmpno( rs.getString("empno") );
            dto.setEname( rs.getString("ename") );
            dto.setJob( rs.getString("job") );
            dto.setMgr( rs.getString("mgr") );
            dto.setHiredate( rs.getString("hiredate") );
            dto.setSal( rs.getString("sal") );
            dto.setComm( rs.getString("comm") );
            dto.setDeptno( rs.getString("deptno") );

            list.add(dto);
        }//while

        rs.close();
        psmt.close();
        con.close();

        return list;
    }//nameSearch

}//class
fluffy0301 commented 2 years ago

image

image

  1. 시스템 연동에 대한 서술

시스템 연동의 개념 시스템 연동이란 서버와 네트워크를 활용하는 자동화 체계 등에서 동일한 기능을 수행 하지 않는 단위 시스템 간에 접속을 통하여 업무(기능)를 수행하는 것을 의미한다.

image

image

image