본문 바로가기

전체 글

(8)
[JS/jQuery] $(document).ready(function(){}); jQuery를 사용한 모든 웹페이지는 다음 코드로 시작한다. $(document).ready()는 문서가 준비되면 매개변수로 넣은 콜백 함수를 실행하라는 의미이다. jQuery 이벤트 메서드 중 하나로, 이 메서드는 비슷한 기능을 수행한다. 고전 이벤트 모델은 한 번에 하나의 이벤트만 연결할 수 있지만, jQuery의 이벤트 메서드는 표준 이벤트 모델이나 인터넷 익스플로러 이벤트 모델과 마찬가지로 이벤트로 여러 개의 함수를 연결할 수 있다. 아래의 예제는 실행하게 되면 문서가 준비되는 순간 경고창 세 개가 연달아 표시된다. $(document).ready()메서드는 굉장히 많이 사용되므로 jQuery에서는 간단하게 사용할 수 있는 형태를 제공한다. 출처 https://ratseno.tistory.com/..
[JSP] EL 표현식 문법과 사용방법 EL(Expression Language)은 자바 빈의 프로퍼티, 값을 JSP의 표현식 이나 액션 태그 를 사용하는 것보다 쉽고 간결하게 꺼낼 수 있게 하는 기술이다. 또한 static 메소드를 호출할 수도 있는데 JSP에서는 주로 서블릿 보관소(JspContext, ServletRequest, HttpSession, ServletContext)에서 값을 꺼낼 때 사용한다. EL 표기법 ${} -JSP가 실행될 때 즉시 반영된다. -객체 프로퍼티 값을 꺼낼 때 주로 사용한다. #{} -시스템에서 필요하다고 판단될 때 그 값을 사용한다. -사용자 입력 값을 객체의 프로퍼티에 담는 용도로 주로 사용한다. 출처 https://atoz-develop.tistory.com 용어 설명 Property - 기본적으로..
[JSP] <c:out>을 사용하는 이유 ${}를 이용해도 되는데 굳이 c:out value를 이용하여 출력하는 이유는 보안성 때문이다. XSS(Cross-site Scripting)공격은 웹 사이트에 스크립트 코드를 주입시키는 방법으로 웹 사이트 공격 방법 중 기초적인 것에 해당된다. 해결 방법은 html코드를 해석하지 않게 만들면 간단히 방어할 수 있다. 즉, XSS공격 방지를 위해 ""을 사용하여 막을 수 있다. 을 사용하는 이유 엄격한 태그 규칙을 위해 사용한다. 개행문자 파싱의 차이 때문에 사용한다. 보안성 때문에 사용한다. 아래와 같은 게시판 사이트가 있다고 가정해보면 게시판에 글을 등록할 때 다음과 같이 스크립트 코드를 집어 넣어본다. 결과는 자바스크립트 코드가 실행된 것을 볼 수 있다. 이러한 자바스크립트 코드를 실행을 막으려면 ..
[Spring]스프링 MVC 프로젝트의 기본 구성 프로젝트의 구성 Presentation Tier(화면 계층) 화면에 보여주는 기술을 사용하는 영역 프로젝트의 성격에 맞춰 앱으로 제작하거나, 클라이언트-서버로 구성되는 경우가 있다. 스프링 MVC와 JSP등을 이용한 화면 구성이 이에 속한다. Business Tier(비즈니스 계층) 순수한 비즈니스 로직을 담고 있는 영역 고객이 원하는 요구사항을 반영하는 계층이므로 중요하다. 영역의 설계는 고객의 요구사항과 정확히 일치해야한다. 주로 'xxxService'와 같은 이름으로 구성, 메서드의 이름 역시 고객들이 사용하는 용어 그대로 사용한다. Persistence Tier(영속 계층 or 데이터 계층) 데이터를 어떤 방식으로 보관하고 사용하는가에 대한 설계가 들어가는 계층 일반적으로 데이터베이스를 많이 이용..
[Spring]Hikari CP(Connection Pool) 우선 JDBC에 대해서 알아야 한다. JDBC(Java DataBase Connectivity)란 자바에서 DB에 접속하기 위해 사용되는 API이다. JDBC API DBMS 제조사들이 자신들의 DB에 맞게 Interface의 메소드를 구현하여 제공한다. JDBC 연결 순서 1. JDBC Driver 로딩 2. DataBase 연결 - DB서버의 IP, ID, PW등을 DriverManager 클래스의 getConnection 메소드를 사용하여 Connection 객체 생성 3. SQL 문장 실행 - Connection으로 부터 PreparedStatement 체를 받고, executeQuery를 수행하고 ResultSet 객체를 받아 데이터를 처리한다. 4. 연결 종료 - 사용했던 ResultSet, ..
[Spring]스프링 web.xml cvc-id.3 에러 web.xml 파일에서 갑자기 cvc-id.3 에러가 나면 위와 같이 xsi:schemaLocation= " "의 앞부분 java.sun.com의 j를 대문자로 바꿔주면 해결된다.
[Spring]스프링 어노테이션의 종류 @Autowired 의존성을 주입해서 자동으로 객체를 생성해주며 메서드 위에 사용할 경우 기본 생성자를 만들어줌. 의존성 주입시 주입하고자 하는 객체의 타입이 일치하는지 먼저 검사한 후, 객체를 자동으로 주입함. 빈 객체가 존재하지 않거나 또는 2개 이상 존재 할 경우 스프링이 예외 발생. ​ @Bean 객체를 의미함. Spring Container에서 bean을 등록하도록 하는 어노테이션 @bean : 개발자가 직접 제어 불가능한 외부 라이브러리 등을 만들 때 사용 @component : 개발자가 직접 작성한 class 를 bean 으로 등록하기 위해 사용 ​ @Before 어드바이스 타겟 메서드가 호출 되기 전에 어드바이스 기능을 수행한다. ​ @Component Spring이 관리하는 모든 comp..
[Spring]스프링 MVC의 기본 구조 스프링 MVC는 개발자들 자신이 필요한 부분만을 집중해서 개발할 수 있는 구조로 만들어져 있다. MVC(Model-View-Controller) 대부분의 서블릿 기반 프레임워크들이 사용하는 방식 데이터와 처리, 화면을 분리하는 방식 웹에서는 Model 2 방식으로 표현 스프링 MVC의 기본 사상 서블릿 기반이긴 하지만 한 단계 더 추상화된 수준의 개발 지향 서블릿 API없이도 개발이 가능한 수준 서블릿(모델 2 기준)과 스프링 MVC Controller 의 비교 모델 2 방식은 로직과 화면을 분리하는 스타일의 개발 방식이다. MVC의 구조를 사용하는데, 이를 그림으로 표현하면 아래와 같다. 모델 2 방식에서 사용자의 Request는 특별한 상황이 아닌 이상 먼저 Controller를 호출하게 된다. 이렇..