🎓 정보처리기사

[정보처리기사 - 실기] IV. 서버 프로그램 구현 - 서버 프로그램 구현

exception_log 2020. 11. 20. 00:30

서버 프로그램 구현 ⭐

서버 프로그램 구현 개념

업무 프로세스를 기반으로 개발 언어와 도구를 이용해 서비스 제공에 필요한 업무 프로그램을 구현

서버 프로그램 구현 절차

Back End : DTO / VO 구현 → SQL문 구현 → DAO 구현 → Service 구현 → Controller 구현

Front End : Controller 와 상호작용하며 화면 구현

서버 프로그램 세부 구현

1. DTO, VO 구현 : 화면에서 전달받은 회원 정보로 데이터베이스에 저장

public class JoinVO {
	String id;
	String pw;
	String name;
	public void setId(String id) { this.id = id; }
	public String getId() { return id; }
	...
}

2.  SQL문 구현

CREATE TABLE CUSTOMER (
	ID VARCHAR(20) NOT NULL COMMENT '아이디',
	PW VARCHAR(20) COMMENT '패스워드',
	NAME VARCHAR(20) COMMENT '이름',
	PRIMARY KEY(PK_ID)
) COMMENT '회원 정보';

3. Mybatis XML 구현

<mapper namespace "com.sql">
	<select id = "selectJoin" parameterType = "com.vo.JoinVO" resultType = "com.vo.JoinVO">
	SELECT * FROM CUSTOMER
	WHERE(name=#{name})
	</select>

	<insert id = "insertJoin" parameterType = "com.vo.JoinVO">
		INSERT INTO CUSTOMER values(#{id}, #{pw}, #{name})
	</insert>
</mapper>

4. 데이터 접근 객체 (DAO) 구현

public JoinDAO() { ... } // 회원가입 데이터 접근 오브젝트 프로토타입

public int selectJoin(joinVO vo) throws Exception {
	return sqlsession.selectJoin("com.sql.selectJoin", joinVO);
}

public int insertJoin(joinVO vo) {
	return sqlsession.insertJoin("com.sql.insertJoin", joinVO);
}

5. 서비스 클래스 구현

@Service
public class JoinService implements IMemberService {
	@Autowired
	JoinDao dao;
	
	@Override
	public void insertJoin(JoinVO join) {
		JoinVO member = dao.selectJoin(join);
		dao.insertJoin(member);
	}
}

6. 컨트롤러 클래스 구현

public class CreateController extends HttpServlet {
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
		JoinVO vo = new JoinVO();
		JoinDAO dao = new JoinDAO();

		PrintWriter out = res.getWriter();
		String result;

		vo.setId(req.getParameter("id"));
		vo.setId(req.getParameter("pw"));
		vo.setId(req.getParameter("name"));

		SimpleDateFormat sdf = new SimpledateFormat("yyyymmdd");
		Date date = null;

		try {
			date = sdf.parse(req.getParameter("year" + "-" + req.getParameter("month") + "-" + req.getParameter("day"));
		} catch (ParseException e) {
			e.printStackTrace();
		}
	...
	}
}

 

반응형