본문 바로가기

💻Dev/JSP & Servlet12

[JSP] 게시판 미니 프로젝트 - MVC2패턴 적용 JSP & Servlet을 공부하며 이를 적용시키기 위해 프론트엔드 1분과 미니 프로젝트를 만들어 보았다. 기능은 - - - 그동안 포스팅이 뜸했던 이유인 게시판 프로젝트가 막바지에 이르러서.. 하나씩 포스팅하려고 한다. 우선 mvc패턴을 안다는 전제 하에, 내 프로젝트 구조는 위처럼 되어 있다. 동작구조 View - 화면에 나오는 화면 페이지, 즉 jsp 파일 Controller - action객체를 생성해 view에서 다른 view로 가는 경로를 제어하는 공장 Action - view의 경로를 갖고 있으며, view에게 보여줄 데이터 VO(DTO)를 처리 Service - 수동 커밋 방식을 사용할 것이기 때문에 DAO와 연결 후 필요한 시점에서 한 번에 커밋하는 용도 DAO - 데이터베이스에서 값을 .. 2020. 10. 26.
[JSP] 11.JDBC(Java Database Connectivity) JDBC(Java Database Connectivity) JDBC란 자바에서 DB와 통신할 수 있게 사용되는 표준 SQL 인터페이스 API이다. 실제 DB 관련 기능이 동작하려면 java.sql의 인터페이스들을 상속하여 메소드의 몸체를 구현한 클래스 파일들이 필요하다. 이 파일들을 JDBC드라이버라고 하며, 접속하려는 DBMS 서버에 따라서 각 홈페이지에서 다운로드할 수 있다. JDBC 실행 순서 및 예제 1.JDBC 드라이버 로딩 (Mysql 기준) JDBC 드라이버를 메모리에 동적으로 로딩하기 위해서는 Class.forName();을 이용한다. Class.forName("com.mysql.jdbc.Driver"); 2.DBMS 서버 접속 - Connection java.sql 패키지의 DriverM.. 2020. 9. 16.
[JSP] 10.세션(Session) 세션(Session)이란? http 프로토콜은 클라이언트와 서버 간에 요청, 응답이 한 번 이루어지면 연결을 해제한다. 세션이란 쿠키와 마찬가지로 서버와 클라이언트의 관계를 유지시켜주는 방법 중의 하나이다. 하지만 쿠키는 브라우저(클라이언트)에서 생성,저장되고 세션은 웹 컨테이너(서버)에 저장, 생성된다. 쿠키는 보안이 취약한 단점이 있어서 요즘 추세는 세션을 선호한다. 예제 login.jsp ID : PW : 세션 테스트를 위해 간단한 form을 logn.jsp에 작성한다. 그리고 데이터를 받기 위해 loginCon 서블릿을 만들자. LoginCon.java @WebServlet("/loginCon") public class LoginCon extends HttpServlet { protected vo.. 2020. 9. 15.
[JSP] 9.쿠키(Cookie) Cookie란? 쿠키를 부스러기가 남는 것처럼 프로그램에서 흔적을 남기는 것이다.(클라이언트에 저장) 이전에 있었던 클라이언트와 서버의 접속을 이어나가는 의미 우리가 사용하는 HTTP 프로토콜은 request, response 과정을 한번 거치면 클라이언트와 서버의 연결을 바로 해제해버린다. (자원 낭비, 서버 부하 방지) 이때 Cookie라는 클래스를 사용하여, 기존 연결 정보를 저장했다가 다시 연결해준다. cookie 변수 = new Cookie(이름,값); -> 쿠키 생성 Cookie[] 변수 = request.getCookies(); -> 쿠키 받아오기(여러 개라 배열로) response.addCookie(쿠키); -> 쿠키 저장 쿠키.setMaxAge(60*60) -> 쿠키의 유효기간을 60초*.. 2020. 9. 10.
[JSP] 8.jsp request,response 앞서 서블릿을 학습할 때 서버로 데이터를 요청하는 request객체와 서버가 다시 응답해주는 response객체를 배웠다. jsp도 동일하게 두 객체가 존재하는데 차이는 단지 servlet에서 작동되느냐, jsp에서 작동되느냐 뿐이다. request formEx.html name : password : gender : Man, Woman hobby : Sport, Cooking, Reading, Travel residence : Seoul Gyeonggi Chungcheong Jeonra Jeju Gyeongsang Gangwon 사용자가 html 파일의 form 태그를 이용해 데이터를 작성해 mSignUp.jsp 파일로 전송한다. mSignUp.jsp m_name : m_pass : m_gender :.. 2020. 9. 1.
[JSP] 7.form 데이터 처리 우리가 브라우저에서 로그인을 한다던가, 회원가입을 할 때 아이디와 패스워드 등 데이터를 제출한다. (request) 이때 form 태그를 사용하는데, 사용자가 작성한 데이터들은 request객체로 묶여 서버로 전송되고 서버는 그것을 받아 resonse한다고 앞서 배웠다. 서버가 데이터를 받을때 2개의 메소드가 존재한다. doGet doPost Get action은 데이터를 전달할 대상(파일)을 지정하고, method가 바로 전달 방식을 지정하는 것이다. get은 예로 사용자가 이 데이터를 입력해서 전송하게 되면 http://localhost:8080/lec08Pjt001/mSignUp?m_name=honggildong&m_pass=1234&m_gender=M&m_hobby=sport&m_hobby=coo.. 2020. 8. 31.
[JSP] 6.Servlet 생명주기(Life-Cycle) Servlet 생명주기(Life-Cycle) 서블릿 객체는 사용자가 요청하면 일을 시작하고, 다시 응답함으로써 서블릿의 역할을 다 한다. 요청이 들어와서 서블릿이 작업을 시작하고 응답할때까지 생명주기를 알아보자. @PostContruct - 서블릿이 생성되기 전에 준비하는 단계 init() - 서블릿이 생성(초기화)되는 단계 service - 개발자가 구현한 방식으로 서블릿이 일을 하는 단계 (doGet(),doPost() 등을 호출) destroy() - 서블릿이 일을 마치고 소멸되는 단계 @PreDestroy - 서블릿 소멸 뒤 정리하는 단계 @PostContruct,@PreDestroy 는 개발자가 어노테이션을 붙여 별도의 메소드를 선언해야 한다. public class ServletEx exten.. 2020. 8. 30.
[JSP] 5.request, response request, response 우리는 검색 사이트에서 키워드를 치고 검색을 요청한다던가, 사용자가 ID, PW를 입력하고 로그인을 요청한다. 이처럼 서버로 데이터를 요청하는 것을 request라 하고, 자바는 객체지향이기 때문에 객체로 전달이 되는데 이 객체를 request객체라 한다. 서버는 사용자의 데이터를 가공하고 처리해 클라이언트 측으로 다시 응답해주는 것을 response라 하고, 이 객체를 response객체라고 한다. HttpServlet 웹 서버에 요청하고 응답받는 기능을 담고 있는 추상클래스다. servlet을 생성하면 HttpServlet을 상속받은 것을 확인할 수 있다. HttpServletRequest 객체의 주요 메소드 request.getCookies() - 쿠키 정보 requ.. 2020. 8. 29.
[JSP] 4.Servlet Mapping (맵핑) Servlet Mappin(맵핑)이란? Servlet Mapping이란 서블릿의 URL 주소를 간결하고 보안에도 취약하지 않게 표현해주는 것이다. Servlet 매핑 방법은 web.xml과 어노테이션(annotion)을 이용하는 2가지 방법이 있다. 전자는 많이 사용하지 않는다고 한다. web.xml 이용 일단 Dynamic Web Project를 생성해준다. Generate web.xml deployment descriptor를 클릭해야 web.xml이 생성된다. 위의 @WebServlet 어노테이션(2번째 방법)은 일단 주석처리. 테스트를 위하여 출력문 하나를 작성 먼저 으로 서블릿을 등록해준다. 은 서블릿의 별명?을 임의로 설정해주는 것이다. 에 서블릿의 위치를 적어준다. ex) 패키지.클래스이름 .. 2020. 8. 28.