Web
-
Servlet-JSP MVC06 (2) - 로그아웃 처리와 여러설정Web/Servlet-JSP 2023. 6. 24. 09:56
- session을 이용한 로그아웃 처리를 해보자 - 또한 로그인 시에만 memberList page에서 자신의 정보만 삭제할 수 있고 타인의 정보는 삭제할 수 없도록 변경해보자. 1. 로그인 시 로그인 창 안뜨고, 유저명과 로그아웃 버튼 나오도록 변경하기 //로그인 화면 ${sessionScope.userName}님 반갑습니다. 로그아웃 로그인 시에 session에 userId를 검사하여 다음과 같이 변경한 것이다. > 로그인시 로그인창은 안뜨고, 로그아웃버튼과 유저명이 화면에 나타남 > 로그인 x시 로그인창이 뜸 2. 삭제버튼, 회원가입버튼, 회원가입 시 등록버튼 -리스트 삭제버튼 adisbled속성을 이용하여, 세션에 등록된 userId와 list Page에 등록된 id를 검사하여 로그인아이디와 l..
-
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..
-
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..
-
HTML 기본정리Web/html-css 2023. 6. 14. 09:24
웹 페이지는 html,css,js가 한 묶음으로 각각을 연결해서 사용한다. html부터 알아보자 1. HTML 기본구조 // 문서가 html언어를 사용함을 알림 // html문서의 시작 //문서 실제 내용 태그와 속성 html문서는 태그를 사용하여 작성되는데, 태그에는 1개 이상의 속성을 넣을 수 있다. 속성 [속성이름]=[값] css 적용하기 html에 css는 3가지 방법으로 적용할 수 있다. - 태그에 style 속성 적용하기 (적용된 태그 한정) - //직접 타이핑해서 사용 4. body안에 들어가는 주요 태그 -- 폰트 사이즈의 크기를 정한다. 문단표시 태그 줄바꿈 하이퍼링크 설정 링크를 넣을 문자열 리스트 관련 태그이다. ol과 li조합은 1,2,3 순서로 표시하고 ul과 li조합은 순서없이 ..
-
Servlet - JSP MVC03 - JSTL and ELWeb/Servlet-JSP 2023. 6. 13. 22:48
1. JSTL이란? JSTL은 - JSP Standard Tag Library jsp에 프로그래밍적인 요소를 태그적인 요소로 바꿀 수 있도록 하는 도구이다. 기존의 등의 jsp에 코드적인 요소를 html태그적인 요소로 바꾸어 좀 더 유지보수하고, 사용하기 편하게 만드는 라이브러리이다. 먼저 jstl을 사용하기 위해서는 외부에서 라이브러리를 받아와야한다. 2. JSTL사용법 JSTL을 사용하기 위해서는 jsp페이지 상단에 아래와 같은 지시자를 포함시켜줘야한다. "c"는 jstl 태그를 사용할 때 접두사로 사용하는 것이다. (다양한 태그들을 식별하기 위함이다.) jstl의 태그는 크게 4가지로 분류되는데 1. 코어태그: for,if,변수 선언 등 기본적인 자바코드 지원 2. FMT: 포맷팅, 날짜, 통화 시..