Bean 정의를 통해 객체에 다양한 종속성 및 설정값(exConstructor,property...) 등을 주입할 수 있을 뿐 아니라, 객체의 범위(scope)를 정의할 수 있습니다. 정의할 수 있는 scope값으로는 크게 5개가 있습니다. 요약해서 정리하면 singletone:하나의 Bean 정의에 대해서 Spring IoC Container 내에 단 하나의 객체만 존재한다. prototype:하나의 Bean 정의에 대해서 다수의 객체가 존재할 수 있다 request:하나의 Bean 정의에 대해서 하나의 HTTP request의 생명주기 안에 단 하나의 객체만 존재한다; 즉, 각각의 HTTP request는 자신만의 객체를 가진다. Web-aware Spring ApplicationContext 안에서..
일반적으로 class를 불러올때는 ClassName cl= new ClassName();을 사용하여 생성을 한 뒤에 새로운 생성자를 통해서, 메서드를 실행시키거나 값을 넣어주지만 JSpring을 사용하면 이런 번거로움을 줄일 수 있을 뿐만 아니라. 이 Class가 어디서 오는지 xml을 통해서 쉽게 확인이 가능하기 떄문에 JSpring을 익히고 나면 훨씬 편하게 클래스를 호출하고 값을 전달 할 수 있습니다. Student.java package com.student.exam; import java.util.ArrayList; public class Student { private String name; private int age; private ArrayList hobbys; private double..
Ajax를 사용하기에 앞서서 왜 Ajax를 사용하는 지 알아보도록 하겠습니다. Ajax는 불필요한 페이지의 리로드를 방지해줍니다. 페이지의 일정부분만 다시 데이터를 리로드 하면 되는 경우인데 홈페이지를 다시 새로고침하는 방식은 비효율적이기 때문에 Ajax를 활용하면 이런 점들을 조금 줄일 수 있습니다. Ajax의 장점 1. 웹페이지의 속도향상 2. 서버의 처리가 완료 될때까지 기다리지 않고 처리 가능하다. 3. 서버에서 Data만 전송해면 되므로 전체적인 코딩의 양이 줄어든다. 4. 기존 웹에서는 불가능했던 다양한 UI를 가능하게 해준다. 사진공유 사이트 Flickr의 경우 사진의 제목이나 태그를 페이지 리로드 없이 수정할 수 있다. Ajax 의 단점 1. 히스토리 관리가 안 된다. (보안에 좀 더 신경..
board >보드 view member > 멤버 view net.member.db > 멤버 model net.board.db > 보드 model net.board.action> 보드 controller net.member.action> 멤버 controller 참조한 war파일 출처: cafe.naver.com/siacademybigdata2021 SIAcademyBigData2021 : 네이버 카페 교육 cafe.naver.com 위의 파일들을 전부 설명하려면 글이 너무 길어지기 때문에 가장 쉽게 알 수 있는 흐름과, 가장 복잡한 흐름 두개를 선정해서 설명하도록 하겠습니다. 일단 가장 첫번째로 서블릿과 연동하는 부분을 설명하도록 하겠습니다. web.xml Board index.html index.htm..
BoardFrontController.java package net.board.action; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class BoardFrontController extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { protected void doProcess(HttpServletRe..
MVC는 model,view,controller를 나눠서 독립적으로 작업하는 방식입니다. 이렇게 하는 이유는 이렇게 나눠서 프로그램을 짤경우에, 유지보수가 쉽고, 작업할때 파트를 분담해서 작업할 수도 있습니다. 쉽게 말해서 코드가 복잡해지지 않기하기 위해서, 또 관리가 용이하게 하기 위해서 mvc를 사용한다고 생각하면 될 것 같습니다. 뷰에서는 절대 never 데이터베이스 연동같은 비지니스 로직을 구현하지 않습니다. ! view 에서는 쿼리문 DB연결 하면 안됩니다. view는 단순하게 사용자에게 보여지는 공간입니다. 데이터베이스는 모두 model에서 작업한다는 점, 처리가 완료되면 그 내용을 Controller를 통해서 view로 전달합니다. Command 클래스와 Action 은 같은 말입니다.
Main.jsp 나의 회원정보 아이디: 이름: 비밀번호: 취미: 이메일: 정보수정 관리자모드 접속(목록 보기 가능) 1,2에서 다룬 Process 부분을 전부 이해하셨다면, 이 코드자체도 어렵게 느껴지진 않을거에요. try{ Context init=new InitialContext(); DataSource ds =(DataSource) init.lookup("java:comp/env/jdbc/OracleDB"); conn = ds.getConnection(); pstmt=conn.prepareStatement("select * from memberinfo where id=?"); pstmt.setString(1,id); rs=pstmt.executeQuery(); while(rs.next()) { //D..
loginForm.jsp 로그인페이지 아이디 : 비밀번호 : 회원가입 loginProcess.jsp login의 유효성 즉 입력받은 데이터를 바탕으로, 아이디와 비밀번호가 일치하는지 확인하는 jsp파일입니다. 이제 database에 저장된 비밀번호값을 이용해서 비교를 할건데, pstmt=conn.prepareStatement("select * from MEMBERINFO where id=?"); //prepareStatement는 Statement와 다르게 ?로 지정된 값을 필요 할 때 마다 이용할수있다. pstmt.setString(1,id); rs=pstmt.executeQuery(); if(rs.next()){ if(pass.equals(rs.getString(2))){ session.setAttr..
밑에 있는 코드는 제가 만든 회원가입 사이트입니다. 정규식을 바탕으로 작성한 코드인데, DB를 활용해서 이 안에 있는정보들을 저장해서 사용할 수 있습니다. 핵심적으로 이해해야하는 내용은 어떤식으로 jsp파일안에 있는 정보들을 데이터베이스와 연동해 사용하는지 라고 생각하시면 될 것 같습니다. joinForm.jsp 회원 기본 정보 아이디: 4~12자의 영문 대소문자와 숫자로만 입력 비밀번호: 4~12자의 영문 대소문자와 숫자로만 입력 비밀번호확인: 메일주소: ex)abc1234@email.com 이름: 개인 신상 주민등록번호: 생일: 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월 1일 2일 3일 4일 5일 6일 7일 8일 9일 10일 11일 12일 13일 14일 15일 16일 17일..
- Total
- Today
- Yesterday
- MSA
- 오늘저녁 삼겹살
- kafka
- LoadBalancer
- consumer
- Kafka Connect
- prometheus
- Gateway
- JWT
- producer
- Logstash to ElasticSearch
- Feign
- MariaDB
- 빅-오
- zipkin
- github
- UserService
- Spring + ELK
- Logstash 활용
- docker
- 루틴기록
- config
- ACTUATOR
- git
- springcloud
- 운동일기
- rabbitmq
- 운동
- elasticSearch
- 미래의나에게동기부여
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |