Java
-
Spring MVC01 - DB연결하기Web/Spring 2023. 6. 28. 16:11
- 프로젝트 폴더에서 WEB-INF아래에 appServlet폴더에 servlet-context.xml과 root-context.xml은 스프링에서 아주 중요한 설정파일이다. -Servlet-context.xml: dispatcherServlet이 읽음, dispatcherServlet이 해야할 일을 설정해둔 파일 - root-context.xml : spring 구동시 가장 먼저 실행되는 일들을 설정해둔 파일이다. ContextLoaderListener가 읽는다. - 위와 같이 xml파일들은 api들이 읽어서 무언가를 하도록 미리 설정해둔 파일들이다. - web.xml -> rootcontext->servlet-context 순서 (각 xml파일들은 위치나 이름 바꿔도 됨 *단 web.xml에 잘 등록 ..
-
Servlet-JSP MVC07 (2) - ajax로 JSON 다루기Web/Servlet-JSP 2023. 6. 26. 22:28
- 멤버 list.do에서 버튼을 만들어서 번튼을 누르면 회원 목록이 나오도록 고쳐보자. - 이때 버튼을 누르면 서버와 통신하여 member의 정보를 화면전환 없이 가져와야하므로 비동기 통신이 필요 1. List만들기 1.1 버튼 만들기 회원보기 Panel Body Panel Footer function memberList(){ $.ajax({ url : "", type : "GET", dataType : "json", success : resultList, error : function(){ alert("error");} }); } > 부스트 트랩을 이용하여 버튼을 만들었다. > 토글을 클릭하면, memberList()가 실행된다. - 서버와의 통신 결과 json을 응답으로 받는다. - 따라서 {[{m..
-
Servlet-JSP MVC06 (1) - Session을 이용한 로그인 처리Web/Servlet-JSP 2023. 6. 24. 09:05
- Sesstion을 이용하여 로그인 처리를 구현해보자. - 먼저 로그인을 위한 화면을 간단하게 만들어보자 회원관리 시스템 ID: Password: 로그인 ${sessionScope.userName}님 환영합니다. 로그아웃 -로그인 구현 1 유효성 check 로그인 로그인 버튼을 누르면, 먼저 유효성을 검사하도록 check()함수를 넣었다. return값이 true일때만 submit이 정상 작동할 것이다. function check(){ if($("#user_id").val() ==''){ alert("아이디를 입력하세요"); return false; } if($("#passward").val()==''){ alert("비밀번호를 입력하세요"); return false; } return true; } c..
-
Naver Maps openAPI (1) -JSON미니 2023. 6. 23. 01:50
1. json이란? >JavaScript Object Notation라는 의미의 축약어로 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식 >Javascript에서 객체를 만들 때 사용하는 표현식을 의미한다. >JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아서, 최근에는 JSON이 XML을 대체해서 데이터 전송 등에 많이 사용한다. >JSON은 데이터 포맷일 뿐이며 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다. 2. json문법 1. JSON 데이터는 이름과 값의 쌍으로 이루어집니다. 2. JSON 데이터는 쉼표(,)로 나열됩니다. 3. 객체(object)는 중괄호({})로 둘러쌓아 표현합니다. 4. 배열(array)은 대..
-
Servlet-JSP MVC04 (2) - handlerMapping and viewResolverWeb/Servlet-JSP 2023. 6. 16. 11:40
- (1)번에서 만들었던 frontcontroller를 더 수정해보자. - frontcontroller의 역할을 다시한번 상기하자면, > 요청받기, 공통부분처리, pojo 메서드호출, view연결이다. - 이러한 역할들 중에 pojo를 호출하는 분기문을 handlerMapping을 적용하여 더 깔끔하게 정리해보도록하자. - 또한 viewresolver를 적용해보자. 1. HandlerMapping -사용자 요청과 이를 처리할 pojo를 맵핑시켜주는 역할을 담당한다. -이전에 분기문으로 사용자 요청을 확인하고, 이에 따라 적절한 pojo를 연결하는 작업을 frontcontroller내에서 했는데 이를 따로 떼어두는 것이다. public class HandlerMapping{ private HashMap m..
-
Servlet-JSP MVC04(1) - FrontController and POJOWeb/Servlet-JSP 2023. 6. 16. 10:10
1. FrontController - 지금까지는 클라이언트 요청을 처리하기 위해 여러 컨트롤러(서블릿)이 존재했다. - 컨트롤러가 많은 것은 유지보수를 어렵게 만든다. - 만약 컨트롤러가 클라이언트의 요청을 받을때 공통으로 처리해야하는 부분이 있다면, 모든 컨트롤러에 공통코드를 추가해야할 것이다. 이는 유지보수를 어렵게 만든다. - 따라서, 이러한 점을 보완하기 위해 클라이언트로부터 모든 요청을 먼저 받고, 공통부분을 처리한 뒤에 요청을 넘기는 역할을 하는 것이 FrontController이다. @WebServlet("*.do") public class FrontController extends HttpServlet { protected void service(HttpServletRequest reque..
-
Servlet-JSP MVC05 - JDBC to MybatisWeb/Servlet-JSP 2023. 6. 14. 17:58
이제 기존 JDBC를 Mybatis로 교체해보자. 1. SqlSessionFactory(Connection Pool) 객체 얻기 Mybatis의 중요한 특징 중 하나는 Connection Pool을 이용하여 DB 연결과 해제 시간을 줄여준다는 것이다. 다음과 같은 방법으로 Connection Pool을 얻을 수 있다. public class MemberDAO { private static SqlSessionFactory sqlSessionFactory; //Connection Pool을 가리킬 참조변수 //초기화 블럭 static { try { String resource = "kr/bit/mybatis/config.xml"; // 미리만들어둔 config.xml파일 (경로/로구분) InputStream..
-
Servlet-JSP MVC05 - mybatis 설치 및 기본설정Web/Servlet-JSP 2023. 6. 14. 17:06
1. 기존 JDBC의 문제 - Connection 객체 얻는 과정에서 코드 내 중요정보 노출 위험 (url정보, user, password 등) - sql문과 java코드가 섞여있어서 개발을 어렵게 만들고, 유지보수가 어렵다 (ex sql에 테이블명이 바뀌는 경우 일일이 수정해줘야한다.) - 속도가 늦다 JDBC에서 Connection을 얻고 해제하는 부분이 시간이 많이 걸린다. -> 이러한 JDBC 기존의 문제를 보완할 수 있는 api가 mybatis api이다. 2. Mybatis API (SQL Mapping Framework) mybatis는 자바소스코드와 sql을 맵핑시키는 api이다. - 자바 소스와 sql을 분리시키고, 이를 연결해서 사용할 수 있게 만드는 API이다. - Connection..