전체 글 101

Spring JDBC

https://mvnrepository.com/ HikariCP(커넥션 풀) 라이브러리 추가 com.zaxxer HikariCP 3.4.5 DataSource 설정(항상 DB에 연결되어있도록 미리 연결해줌) Test DataSourceTest.java 내부적으로 HtikariCP가 시작되고, 종료되는 로그를 확인할 수 있다. import static org.junit.Assert.fail; import java.sql.Connection; import javax.sql.DataSource; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.junit.Test; i..

스프링 2022.10.18

Spring 어노테이션

Lombok 관련 어노테이션 Spring 관련 어노테이션 테스트 관련 어노테이션 @Setter @Autowired @RunWith @Data @Component @ContextConfiguration @Log4j @AllArgsConstructor @Test @Setter 속성 : value,onMethod,onParam onMethod는 setter메서드 생성 시 메서드에 추가 할 어노테이션을 지정. '_'표기는 버전마다 차이가 있다. //onMethod로 setChef()에 @Autowired를 추가하도록 해줌. @Setter(onMethod_ = @Autowired) private Chef chef; @Date @ToString @EqualsAndHashCode @Getter/@Setter @Req..

스프링 2022.10.17

Spring의 동작

Lombok : getter/setter, toString(), 생성자 등을 자동으로 생성해줌. 다른 jar파일들과 달리 이클립스 에디터 내에서도 사용되어야 하므로 별도 설치가 필요 빈(Bean) : 스프링에서 관리되는 객체 root-context.xml에서 설정할수 있다.(java로 설정할때는 RootConfig.java에서 @ComponentScan을 이용해주면 댐다.) 1.스프링 프레임워크가 시작되면, 스프링이 사용하는 메모리 영역(Context)을 만들고 스프링에서는 ApplicationContext(객체)가 만들어 진다. 2.root-context.xml에 설정되어 있는 태그의 내용을 통해 패키지(org.zerock.sample)를 스캔한다. 3.패키지 내의 클래스들 중에서 @Component가..

스프링 2022.10.17

JDBC 한번에 여러개 처리 addBatch, executeBatch

addBatch는 쿼리 실행을 하지 않고 쿼리 구문을 메모리에 올려두었다가, 실행 명령(executeBatch)이 있으면 한번에 DB쪽으로 쿼리를 날린다. public void multiDelete(String[] qnano) { String sql = "delete from qna where qnano=?"; int res = 0; int[] cnt = null; try { conn = DBManager.getConnection(); pstmt = conn.prepareStatement(sql); for (int i = 0; i < qnano.length; i++) { pstmt.setString(1, qnano[i]); pstmt.addBatch(); } cnt = pstmt.executeBatch(..

JAVA 2022.10.06

Ajax

!사용전에 lib폴더에 XML파서(xalan.jar, xercesImpl.jar, xml-apis.jar 등)를 넣어줌! Ajax 웹 페이지 전체를 다시 로딩(동기 통신)하지 않고도, 웹페이지의 일부분만 갱신할 수 있게 해주는 개발 기법(비동기) 이때 서버에서 주고받는 데이터의 형태는 JSON, XML, HTML 등이 있다. (클라이언트를 통해 요청을 받아 실행하는 형식으로만 처리됨.) 처리 과정 1.이벤트(load, click) 발생으로 이벤트 핸들러 역할의 JavaScript 함수를 호출합니다. 2.핸들러 함수에서 XMLHttpRequest 객체를 생성합니다. 요청이 종료되었을 때 처리할 기능을 콜백 함수로 만들어 등록합니다. 3.XMLHttpRequest 객체를 통해 서버에 HTTP 요청을 보냅니다..

프론트 2022.10.04

JSP 조인한 테이블로 데이터 가져오기

public List listReview() { List reviewList = new ArrayList(); String sql = "select * from review R LEFT JOIN product P ON R.prodno = P.prodno WHERE best =2"; System.out.println(sql); try { conn = DBManager.getConnection(); pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) { // rs의 레코드셋을 변수에 할당한다. Map br = new HashMap(); br.put("reviewno",Integer.toString(rs.getInt(..

서블릿 JSP 2022.10.02

JSP DB연동하기, 커넥션 풀(DBCP)

[1] ojdbc.jar 파일을 적용 해 준다. (DBCP 라이브러리) [2] 이 방법은 일회성임 이렇게 하면 서버 새로 켤때마다 server에 Resource태그달아서 붙여줘야됩니다 Servers/Tomcat/server.xml https://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html [2] 이렇게 입력해주자! WEB-INF/web.xml 해당 resource를 참조한다는 선언. DBCP jdbc/myOracle javax.sql.dataSource Container META-INF/context.xml [3] DBManager.java public class DBManager { public static Connectio..

서블릿 JSP 2022.09.30

JSP MultipartRequest로 파일 업로드

MultipartRequest는 COS.jar라이브러리에 존재하는 클래스 이기 때문에 [1] 먼저 WebContenet/WEB-INF/lib 에 COS.jar를 넣어 준다. [2] 파일을 전송하기 위해서는 jsp의 폼태그 속성을 method="post" enctype="multipart/form-data" 로 적용해 주고 input태그의 타입은 file로 설정 해 준다. [3] jsp에서 받은 데이터를 VO에 저장하고, DAO로 insert해준다. // 업로드 크기 제한 int sizeLimit = 5 * 1024 * 1024; // 다운받는 경로 String savePath = "image"; ServletContext context = session.getServletContext(); // 서버상의..

서블릿 JSP 2022.09.29