back-end 7

(Python) 웹 크롤링

Python(3.11.3) 웹 크롤링 Visual Studio Code 기초문법 자료형 튜플 : 초기화한 요소들을 수정 불가 requests 모듈 requests 모듈을 이용하여 요청하고, 페이지 정보를 가져오기 URL='https://hankyung.com' response=requests.get(URL) print(response.text) print(response.status_code)URL 및 파라미터 사용하여, 페이지 정보 가져오기 URL='https://search.naver.com/search.naver' params = {"query":"finance"} response=requests.get(URL,params=params) print(response.sta..

back-end/기타 2023.05.02

(Spring Boot)회원관리,게시판,파일업로드

Spring Boot 이전에 회원관리 기능에 추가로 테이블에 외래키를 사용하여 연결을 한 후에 기능 추가 흐름 어떤 exception인지 처리를 위해서 로그찍는 클래스 생성 com.example.demo.config.ExceptionHandle.java @ControllerAdvice public class ExceptionHandle { private Logger logger=LoggerFactory.getLogger(ExceptionHandle.class); @ExceptionHandler(Exception.class) public String handleException(Exception e, Model model) { logger.error("Exception 발생:{}",e.getMessage(..

back-end/Spring 2023.04.13

(Spring Boot)회원관리

Spring Boot 회원관리 프로젝트시 기본 템플릿 application.properties # server port설정 server.port=8070 # jsp를 사용할 경우 설정-추가적으로 의존성 추가 spring.mvc.view.prefix=/view/ spring.mvc.view.suffix=.jsp # thymeleaf사용 여부 spring.thymeleaf.enabled=true # jsp와 thymeleaf동시에 사용하는 경우 구분을 짓기 위해 설정 spring.thymeleaf.view-names=thymeleaf/* spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.suffix=.html # cache활성화 여부, 개발환경시..

back-end/Spring 2023.04.11

(Spring Boot)세팅

프로젝트별로 저장소를 setting.xml에 경로를 설정해서 의존성파일 충돌방지 스프링부트 파일 생성 File- new- other - spring검색 -> Spring Starter Project 클릭 스프링부트 -> 내장서버 보유 (톰캣없이도 아래 메서드 실행시 돌아감) @SpringBootApplication public class Demotest1Application { public static void main(String[] args) { SpringApplication.run(Demotest1Application.class, args); } } jsp기반으로 프로젝트 진행시 src를 사용하지만 아닐 때는 건드릴필요없음 설정 thymeleaf, mybatis, 경로 등 실행- DemotestA..

back-end/Spring 2023.04.11

(Servlet)WebServlet어노테이션

Servlet 실행환경 컨텍스트 : Context root(프로젝트명) 웹프로그래밍을 위한 물리적인 디렉토리로 실행단위, 배포단위 경로 설정 or WebServlet어노테이션 사용시 반드시 Web Project Settings확인 경로 request.getXXX를 통해 관련 정보를 구체적으로 얻을 수 있음 예시 http://localhost:8090/headers/requestinfo.jsp?id=cust001&name=jack 코드 경로 1 HkController.java 파일에 @WebServlet("/HkController.do")를 사용했을 때 아래와 같이 해석할 수 있다 Servlet에서 @WebServlet("/HkController.do") 주석은 Servlet 클래스를 "/HkControl..

(MyBatis)MVC2패턴- 게시판

MyBatis MyBatis는 개발자가 관계형 데이터베이스와 더 쉽게 상호작용할 수 있도록 도와주는 객체-관계형 매핑(ORM) 솔루션을 제공하는 Java 기반 데이터 매핑 프레임워크 XML 또는 주석을 사용하여 Java 개체를 SQL 문에 매핑하고 사용자 지정 SQL 쿼리를 쉽게 작성하고 실행가능 트랜잭션, 캐싱 및 동적 SQL 생성을 지원하므로 Java 애플리케이션에서 데이터베이스 작업을 위한 도구 기존 1단계~6단계 모두 구현 드라이버 로딩 DB연결 Dto.id=DB.id dto.getId(rs.getString(2)) dto.getName(rs.getString(3)) 쿼리준비 쿼리실행 쿼리결과받기 DB닫기 MyBatis 작업지시서 (환경설정) configuration.xml : 전체적인 작업 메뉴..

back-end/기타 2023.03.24

(Servlet)MVC1패턴

Servlet 디자인 패턴 MVC1 Model-View-Controller Model 애플리케이션의 비즈니스 로직과 데이터를 처리하는 부분 데이터베이스(저장,검색,변경,삭제), 파일, 외부API 처리 Controller나 뷰에서 요청받아 처리한 후 결과 반환 독립적 개발, 여러 컨트롤러나 뷰에서 재사용 View 사용자에 데이터 표시하는 역할 데이터 검색,표시에 대한 형식 지정 컨트롤러에 의존 Controller 모델과 뷰 사이의 중개자 역할 사용자로부터 입력을 받고 응용프로그램의 적절한 부분으로 안내 요청처리, 데이터 쿼리문, 모델의 상태 수정과 같은 작업 결정 작업결정 후 모델에 대한 모든 변경 사항을 반영하도록 뷰 업데이트 사용 개념 Scope 객체전달범위, 공통메서드 page : 현재 페이지에서 객..