Web
-
Servlet-JSP MVC03 (1) - forward and RedirectWeb/Servlet-JSP 2023. 6. 13. 21:35
클라이언트 요청을 적절히 처리하고 응답하기 위해 현재 페이지를 전환해야할 때가 있다. 특히 MVC패턴에서는 요청받는 페이지와 응답하는 페이지가 다를 수 있기 때문에 페이지 전환이 자주 일어난다. 이러한 웹에서 페이지 전환 기법은 크게 forward기법과 redirect 기법이 있다. 1. forward기법이란? > 포워드는 Web Container 차원에서 페이지의 이동을 의미한다. > 웹 브라우저에서는 최초 호출한 URL이 표시되고, 이동한 페이지 URL 정보는 확인할 수 없다. > 포워딩 호출 페이지와 호출된 페이지는 같은 Reqeust와 Response를 공유한다. > 단어 그대로 건내주는 것으로 Redirect와는 다르게, 최초 요청과 요청정보가 유지되어 URL에 변화가 없다. > 단순조회나 검색..
-
Servlet-JSP MVC02(4) - Application,Session,CookieWeb/Servlet-JSP 2023. 6. 12. 18:16
- 서블릿 컨테이너의 임시저장소 서블릿사이에 자원을 공유하기 위한 임시저장소들에 대해 앞서 간단하게 알아보았는데, 조금 더 자세하게 이들에 대해 알아보도록 하자 1. Application > Servlet Context라고도 불리는 Application은 WAS의 하나의 웹프로젝트 내에 서블릿 컨테이너에 계속 존재하면서 값을 저장해둔다. > Context라는 말은 Context Path에서 처럼 하나의 웹프로젝트에서의 문맥으로 ContextPath는 WAS내에 웹프로젝트들과 그에 따른 요청을 구별하게 해주는 하나의 문맥, 줄기의 설정이었다면, (ex /MVC01/list.do와 /MVC02/list.do를 구별하게 해주는 역할) Servlet Context는 계속 이어갈 수 있는 상태에 대한 설정을 위한..
-
Servlet-JSP MVC02(3) - 내장객체Web/Servlet-JSP 2023. 6. 12. 15:35
1. 내장객체 앞선 포스트에서 살펴봤듯이 jsp에는 내장객체가 존재한다. 이에 대해 조금 자세히 알아보도록 하자 2. 내장 객체 존재 이유 - 상태 유지의 필요성 내장 객체들은 jsp관점에서 보기보단, 서블릿에 관점에서 먼저 바라보자. 클라이언트 요청이 들어오면 서블릿컨테이너를 통해 서블릿이 메모리에 로드되고, 적절한 처리를 한 뒤에 메모리에서 제거된다. 즉, 서블릿이 호출되고, 종료되면 서블릿이 사용하고있던 자원이 반환된다는 것이다. 하지만, 때론 서블릿이 자원을 받아 일정하게 처리하고, 처리된 결과를 전역변수처럼 계속 유지하며, 서블릿끼리 공유해야할 때도 있을 것이다. (ex 계산기를 만든다고 할때 2 + 2 + 2 = 6 -->사용자 입력이 =이 나올때 까지 전 계산 결과를 계속 유지하고 있어야한다..
-
Servlet-JSP MVC02(2) - JSP와 Servlet의 관계Web/Servlet-JSP 2023. 6. 12. 14:46
1. JSP는 서블릿이다. JSP의 실행과정을 보면 (클라이언트가 jsp로 곧바로 요청을 보냄) 클라이언트 요청 -> WAS가 JSP를 찾아서 랜더링 -> 랜더링 된 JSP페이지를 통해 응답하는 과정을 거친다. 이런 일련의 응답과정에서 JSP가 서블릿으로 (서블릿의 형태로) 변환되어 응답한다. @WebServlet("/test01.jsp") public class Myhap extends HttpServlet { final PageContext pageConext=null; javax.servlet.http.HttpSession session = null; final javax.servlet.ServletContext application =null; //내장객체들 protected void servic..
-
Servlet-JSP MVC02(1) - 간단 JSPWeb/Servlet-JSP 2023. 6. 12. 13:31
1. JSP란 JSP는 java erver page의 약자로 자바로 작성된 서버에서 구동되는 웹페이지를 의미한다. MVC에서 view의 역할을 하고 내부적으로 html코드와 자바로 이루어져있다. MVC01에서 Servlet만으로 웹페이지를 구성할 때 PrintWriter를 response로부터 얻고, html코드를 짜는 부분이 굉장히 불편했는데, jsp를 활용하면 이를 좀 더 편리하게 처리할 수 있다. 2. JSP기본 문법 JSP파일을 처음 만들면, 위와 같이 jsp페이지 내의 인코딩을 따로 지정해주지 않아도 자동으로 지정된다. 2.1 지시자 지시자는 WAS가 jsp파일을 해석하기전에 미리 페이지에 포함된 여러 정보를 알리는 역할을 수행한다. : 페이지의 정보를 알리는 지시자이다. 페이지 지시자와 함께 ..
-
Servlet - JSP MVC01 (6) 회원정보수정하기Web/Servlet-JSP 2023. 5. 26. 11:51
회원정보 수정하기를 추가하고 mvc01을 마무리 1. 회원상세페이지(MemberContentController)에 수정, 취소, 돌아가기 추가 및 필요데이터 넘기기 pw.println(""); pw.println(""); pw.println("돌아가기"); > 수정하기 버튼을 누르면, 수정 요청을 받는 컨트롤러에 새로운 나이, 이메일, 휴대폰번호 정보가 함께 넘어가야한다. > 따라서 수정버튼은 submit으로 해두고, 회원상세보기 테이블 전체를 감싸도록 form태그를 추가하자 pw.println(""); > submit버튼을 누르면 memberUpdate.do에 post 방식으로 정보가 넘어간다. > 이름,이메일,전화번호는 중복값을 허용하기 때문에 회원레코드를 식별하기 위해서 기본키인 num을 넘겨야한다..
-
Servlet - JSP MVC01 (5) - 회원상세보기Web/Servlet-JSP 2023. 5. 26. 09:35
회원 아이디를 누르면, 회원정보를 상세하게 볼 수 있는 페이지를 만들어보자. 1. memberListController에 아이디별 태그 추가 및 컨트롤러 만들기 out.println(""+m.getId() +""); > 회원별 상세정보를 DB에서 꺼내와야한다 이때 회원을 구별하기 위한 정보가 필요하므로 num을 같이 넘기자. > memberContent.do를 받을 컨트롤러 memberContentController 서블릿을 추가하자 2. num수집해서 DAO(모델)과 소통 int num = Integer.parseInt(request.getParameter("num")); MemberDAO dao = new MemberDAO(); MemberVO mem_inf = dao.memberContents(nu..
-
Servlet-JSP MVC01 (4) - 회원삭제Web/Servlet-JSP 2023. 5. 26. 09:04
memberList에서 삭제버튼 추가해서 누르면 회원정보가 삭제되도록 하자. 1. memberListController에 view부분에 삭제버튼 추가하기 각 회원정보 칸 마다 삭제버튼을 추가해야 삭제하고 싶은 회원을 삭제할 수 있을 것이다. 멤버리스트를 출력하는 for문에 삭제버튼을 추가하자 out.println("삭제"); > 삭제버튼을 태그를 통해 추가하였다. 이때 태그를 누르면 넘어갈 url에 쿼리스트링을 추가해서 각 회원리스트별 num정보가 함께 넘어가도록 했다. > 이는 삭제를 위해 sql문을 실행할 때, 삭제할 멤버를 구분할 key값으로 num을 사용하기 위해 넘겼다. > 이제 memberDelete.do를 받을 컨트롤러를 추가하자. 2. MemberDeleteController 추가하기 Me..