java
-
JDBC TemplateSpring-diary/WEB 2020. 2. 20. 21:26
JDBC의 모든 기능을 최대한 활용할 수 있는 유연성을 제공하는 클래스로 3가지 기능을 수행 -실행 -조회 -배치 사용방법 Dao에서 JdbcTemplate 멤버필드 생성 후 setter로 초기화 해준다. Query문을 작성해 변수로 선언하고 jdbctemplate의 method를 이용해 데이터를 가지고 오거나 수정한다. *rowmapper Template 객체의 query메소드를 통해 결과값을 가져올 때 sql문에 따라 추출된 결과를 리턴받을 객체의 멤버변수에 적절하게 할당하기 위한 매핑수단이다. PreparedStatementSetter를 통해 SQL문의 조건식을 만족시킬 수도 있다.
-
LomBokSpring-diary/WEB 2020. 2. 20. 12:02
정의 롬복(Lombok)은 자바에서 Model(DTO, VO, Domain) Object 를 만들때, 멤버필드(프로퍼티)에 대한 Getter/Setter, ToString과 멤버필드에 주입하는 생성자를 만드는 코드 등 불필요하게 반복적으로 만드는 코드를 어노테이션을 통해 줄여 주는 라이브러리, 프로젝트이다. 설치 Lombok 사이트에서 jar 파일 다운로드 IDE가 설치된 드라이브에 Jar파일을 둔다. cmd에서 Java -jar lombok.jar 입력후 실행 및 Install Model Object Class에 가서 Annotaion을 준다. -@Data 등 다양한 Annotation이 존재하니 API 찾아볼 것.- @AllArgsConstructor :모든 매개변수 있는 생성자 설정 @NoArgsC..
-
[STS] Spring Legacy Project로 환경설정환경설정 2020. 2. 17. 18:04
Spring Legacy Project를 해주면 Project 생성시 필요한 pom.xml web.xml등의 기본설정을 기본적으로 해준다 . MVC Project를 선택한다. package 명을 설정한다. pom.xml에서 mvnrepository를 참고해 최신 버전으로 바꿔준다. 프로젝트 우클릭 -> Properties->web Project Settings에서 Context root를 프로젝트 이름으로 바꿔준다. *실행시 Tomcat 주소 오류가 나는 경우 DocumentBase의 주소가 바뀌지 않아서 설정 오류가 나는 것일 수도 있기 때문에 Server쪽에 server.xml의 Context Path가 바뀌었는지 확인해 본다. Context Path란 WAS에서 웹 어플리케이션을 구부하기 위한 pa..
-
[STS] Project 기본 설정환경설정 2020. 2. 17. 16:19
많은 기능을 넣게 되는 기업 프로젝트의 경우 폴더를 구분하고 설정하는 것이 중요하다 . 프로젝트를 생성할 때 기능이 나누어진 폴더를 미리 설정해 놓고 사용하면 구분하는데 좀더 수월하다. Project 생성시 src에 대해서 test와 main으로 나누었다. 이것은 JUIT 등을 통해 단위 테스트를 한 다음 정상적으로 작동한다면 main으로 폴더를 옮겨주기 위해 나눠 놓았다. WebContent명을 webapp으로 바꾼다. 자주 쓰는 이름이다. 프로젝트 생성후 maven 프로젝트로 바꿀 때 설정을 해준다 참고로 version의 0.0.1은 테스트를 한다는 것 web.xml 파일에서 여러개의 servlet을 사용할 수 있도록 ContextLoaderListener를 설정해준다. 이렇게 되면 여러개의 serv..
-
[버그 관리] 보안 검수 방법카테고리 없음 2020. 2. 14. 16:23
정의 서비스의 보안 상 문제가 없는지 확인하기 위함. 기존 코드에 이미 수행 했던 동일한 보안 평가를 서비스에 새로 추가된 코드에 반복적으로 수행해야 하는 경우 개발자가 코드를 작성하는 과정에서 보안에 취약점을 자동으로 발견하게 해주는 도구 정적분석과 동적분석 1.정적분석 프로그램을 실행하지 않은 상태에서 소스 코드나 컴파일된 코드를 이용해 코드를 분석 실행할 때에만 알 수 있는 데이터가 필요한 경우엔 정확히 분석할 수 없다. 2.동적분석 실제로 실행해 보면서 분석하기에 실행 환경에서의 상태를 잘 알 수 있다. 실행할 수 동일한 보안 평가를 서비스에 새로 추가된 코드에 반복적으로 수행해야 하는 경우 개발자가 코드를 작성하는 과정에서 보안에 취약점을 자동으로 발견하게 해주는 도구 정적분석과 동적분석 1.정..
-
HttpRequest와HttpResponseJSP-diary 2020. 2. 13. 15:48
HttpRequest 사용자의 요청에 관련된 정보를 얻기 위해 사용하는 객체 클라이언트에서 서버로 보내는 요청을 담고 있는 객체 Web Container가 생성하여 Service()의 인수로 넘겨준다. ServletRequest의 하위 HttpSession 객체 조회 HttpResponse ServletResponse의 하위 Redirect 방식으로 넘긴다. Web Contatiner가 생성하여 Service()의 인수로 넘겨준다. 응답할 Clinet에 대한 정보와 동작을 가지고 있는 객체 *요청 파라미터 클라이언트가 CGI로 전송하는 데이터 CGI가 일처리를 위해 클라리언트로부터 입력받아야 하는 데이터 HTML의 form태그나 QueryString을 이용해 전송 name=value 형태로 전송 사용법 ..
-
서블릿JSP-diary 2020. 2. 13. 14:21
정의 자바에서 제공하는 서버 어플리케이션 개발을 위한 기술 웹 브라우저와 웹 서버를 이요해 웹 애플리케이션을 개발하는 것을 서블릿 프로그래밍이라 한다. 자바 CGI 프로그램은 컴파일 방식, 자바 기반의 CGI 프로그램을 서블릿이라 부른다. 다른 CGI와 다른 점은 웹 서버와 직접 데이터를 주고 받지 않고 서블릿 컨테이너를 통해 관리된다. *웹 애플리케이션 웹 브라우저에서 사용 할 수 있는 응용 소프트웨어 역할 웹 프로그래밍에서 클라이언트의 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 역할 클라이언트가 HTTP 요청을 하게 되면 그에 맞는 결과를 전송해주는 것 CGI Common Gate Interface의 약자 웹서버에서클라이언트가 요청한 프로그램을 찾아 실행시키고, 그 작업의 결과값을 전달 ..
-
[Annotation] Controller Annotation에 대한 다양한 표현Spring-diary/WEB 2020. 2. 12. 17:21
@RequestParam View에서 정보를 받아올 때 HttpServlet Class로 받아올 수 있지만 매개변수 자체에 Annotation을 줘서 받아올 수 있다. @RequestParam("name")을 사용한다. 특이한 점은 보통의 getparameter로 int를 받아오는 경우 parseInt()를 사용해 형 변환을 해주어야 했지만 @RequestParam을 해주면 알아서 바꿔 준다는 장점이 있다. @GetMapping & @PostMapping @RequestMapping을 사용하게 되면 method =Post로 받아오는 데이터인 경우 명시를 해주어야 했다. @ModelAttribute Data를 매개변수로써 사용한다. 코드가 줄어든다. @RequestMapping("주소") 만약 Mappin..