1. 모델 1 구조 모델 1 구조에서는 웹 브라우저의 요청(request)를 받아들이고, 웹 브라우저에 응답(response)하는 것을 JSP페이지가 단독으로 처리한다. MVC 구조를 적용하면 뷰와 컨트롤러가 같은 JSP페이지 안에서 실행된다. 즉, JSP페이지가 뷰와 컨트롤러의 역할을 같이 해서 모든 사용자 요청의 진입점이 JSP페이지가 된다. 모델 1 구조는 간단한 웹 어플리케이션을 구축할 때 적당하다. 중대형 프로젝트에서는 비즈니스 로직과 뷰 사이의 구분이 없어져서 개발자와 디자이너의 작업의 분리가 어려운 문제가 발생할 수 있다. 장점: - 페이지 흐름이 단순화되어 개발시간이 단축됨.- MVC 구조에 대한 추가적인 교육이 필요업속 개발팀의 팀원이 수준이 높지않아도 됨.- 중소형 프로젝트에 적합 단점..
데이터베이스에 연결하기 위한 Connection 은 객체입니다.이 객체는 만들어질 때마다 많은 시스템 자원이 필요합니다. 메모리에 객체를 할당할 자리를 만들고 또 객체가 사용할 여러 자원들에 대한 초기화 작업, 또 한 이 객체가 더 이상 필요 없을 때 객체를 거둬들이는 작업이 필요합니다.이런 작업등이 요구되어서 객체의 생성작업은 많은 비용을 요구하게 됩니다. 데이터베이스 커넥션은 데이터베이스에 한 번 연결하기 위한 작업인데, 이러한 작업을 매번 새로운 데이터베이스 연결에 대한 요청이 들어올 때 마다 수행해야한다면 많은 오버헤드가 발생할 것입니다. 이런 문제를 해결하기 위해서 커넥션 풀이라는 개념이 등장헀고, 커넥션 객체들을 만들어 놓은 후 커넥션 객체가 필요한 경우 작성한 객체를 할당해 주고, 사용이 끝..
1. 쿠키가 웹 브라우저에 사용자의 상태를 유지하기 위한 정보를 저장 했다면,세션은 웹 서버 쪽의 컨테이너에 상태를 유지하기 위한 정보를 저장한다. 2. 쿠키는 사용자의 상태 유지를 위한 정보를 웹 브라우저에 저장해서 웹 서버가 쿠키 정보를 읽어서 사용하기 때문에, 사용자의 정보를 유지하기 위해서는 쿠키보다는 세션을 사용한 웹 브라우저와 웹 서버의 상태 유지가 훨씬 안정적이고 보안상의 문제도 해결할 수 있다. 3. 세션은 웹 브라우저당 1개씩 생성되어 웹 컨테이너에 저장될 수 있다.
쿠키란? HTTP 프로토콜은 상태가 없다.즉, 이전에 무엇을 했고, 지금 무엇을 하는지에 대한 정보를 가지고 있지 않다.따라서 웹 브라우저의 요청에 대한 응답을 하고나면 해당 클라이언트와의 연결을 지속하지 않는다. => HTTP는 stateless하다. 쿠키는 상태가 없는 프로토콜을 위해 상태를 지속시키기 위한 방법이다.쿠키는 웹 브라우저의 정보를 웹 브라우저에 저장하며, 이후에 서버로 전송되는 요청에는 쿠키가 가지고 있는 정보가 같이 포함되어서 전송된다. 이때 웹 서버는 웹 브라우저의 요청에 포함되어 있을 쿠키를 읽어서, 새로운 웹 브라우저인지 이전에 요청을 했던 웹 브라우저인지를 판단할 수 있다. => 이렇게 쿠키로 접속한 사용자의 정보가 유지될 수 있다. 쿠키를 사용하게 되면 방문했던 웹 사이트에 ..
레퍼런스 참조 때문에 고생하지 않으려면 깊은 복사로 완전히 다른 배열로 만들어주는 것이 좋다. javascript같은 경우는 splice로 할 수 있다. a = b.spice();
1. 트랜잭션이란? 트랙잭션은 여러 단계의 작업을 하나로 처리하는 것으로, 하나로 인식된 작업이 모두 성공적으로 끝나면 Commit이 되고, 하나라도 문제가 발생하면 rollback되어서 작업을 수행하기 전단계로 모든 과정이 회수된다. => 즉, 1개의 트랜잭션에 대해서 오류가 발생하면 rollback이 가능하고, 오류가 없이 정상적으로 처리가 되면 commit 이 되어 시스템에 적용된다. 그래서 트랜잭션은 프로그램의 신뢰도를 보장하게 된다(?)고 한다. 2. 이슈 트랜잭션은 All or Nothing으로 표현되는 것으로 데이터베이스 연동을 하는 애플리케이션에 있어서 아주 중요한 것이다. 데이터베이스와 연동된 모든 프로그램은 트랜잭션이 완벽히 보장되어야 한다. 예를 들어 여러분이 현금지급기에서 돈을 인출..
Connection conn = null; try{ String jdbcUrl = "jdbc:mysql://locahost:3306/jsptest"; String dbId = "jspid"; String dbPass = "jsppass"; Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(jdbcUrl, dbId, dbPass); out.println("success"); }catch(Exception e){ e.printStackTrace(); } JDBC ( Java Database Connectivity ) 는 자바 프로그램과 관계형 데이터 원본을 연결하는 인터페이스이다.JDBC 라이브러리는 관계형 데이터베이스에 접..
https://whitepaek.tistory.com/16 https://whitepaek.tistory.com/18