일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- cos.jar #cos드라이버 #파일업로드드라이버 #루피는귀여워 #마이바티스 #MyBatis #마이바티스sql #마이바티스DB #마이바티스jsp #마이바티스이클립스 #mapper #config.xml #마이바티스다운로드
- 정처기 #정처기필기 #정보처리기사 #정보처리기사필기 #정보처리기사2023 #정처기2023 #정처기3회 #정보처리기사3회 #정보처리기사실기 #정처기실기 정처기합격
- 정처기3회 #정보처리기사2023
- 자바 #웹자바 #JAVA #WEB #WEBJAVA #WEBPROGRAMMING #웹 #웹프로그래밍 #코딩 #CODING #모델1 #모델2 #모델1방식 #모델2방식
- 어노테이션 #@WebServlet #WebServlet #
- 정처기필기합격 #정처기합격후기
- html #자바와서블릿 #자바와웹연결 #웹연결
- Controller
- 갤러리제작 #갤러리만들기 #jsp갤러리 #jsp게시판 #jsp프로그래밍 #jsp웹프로그래밍 #jsp웹 #jsp모델1방식 #사진업로드 #jsp사진업로드 #jdbc6 #jdbc드라이버다운 #jdbc드라이버무료다운
- spring #스프링 #전자정부표준프레임워크 #표준프레임워크 #자바스프링 #스프링다운로드 #자바스크립트 #웹프로그래밍설정 #웹프로그래밍셋팅
- 방통대 #방송통신대학교 #컴퓨터과학 #컴퓨터과학과 #컴과 #방통대컴퓨터과학과 #방통대컴과 #방통대파이썬 #방통대C #방통대자바
- 마이바티스환경설정
- java #array #자바 #배열 #프로그래밍 #코딩 #자바프로그래밍
- 자바웹프로그래밍
- jsp #게시판만들기 #자바로게시판만들기 #웹테스트 #JNDI #myora #Oracle #오라클 #DAO #DTO #아파치톰캣 #웹자바셋팅 #모델1 #모델1방식 #모델1방식웹프로그래밍 #웹프로그래밍
- sql #오라클 #불리언형 #boolean #webjava #java #jsp #Mybatis #마이바티스 #마이바티스환경설정 #모델1 #모델1프로그래밍 #Batis #마이바티스다운로드 #web설정 #웹프로그래밍 #게시판 #게시판제작 #게시판만
- View #
- union #sql99 #외부조인 #오라클조인 #sql조인 #자체조인 #비등가조인 #비등가조인 #테이블복사 #오라클테이블 #null인데이터출력
- ORACLE #TIGER #SCOTT #SCOTT계정 #오라클학습계정 #프로그래밍 #SQL #SQLORACLE #오라클 #오라클연습 #오라클연습계정 #오라클연습문제 #WHERE절 #오라클조건절
- tern다운로드 #메이븐다운로드 #maven #스프링라이브러리 #자바라이브러리 #톰캣설정 #WAS #웹어플리케이션서버
- 서블릿 #자바모델1 #자바모델2 #mvc #mvc패턴
- QUERY #DML #SQL문 #내림차순정렬 #오름차순정렬
- Doit #Doit오라클 #Doit시리즈 #연습문제
- Model #
- 기말고사 #방통대기말고사 #방통대후기 #방통대기말고사후기 #방통대2023년1학기 #방통대1학기 #방통대C프로그래밍 #방통대장학금 #방통대영어회화1
- web.xml #배포지시자 #서블릿테스트
- 자바 #웹자바 #webJava #java #코딩 #코딩초보 #ojdbc #서블릿 #자바서블릿 #javaServelet #servelet #httpServlet
- Init-param #context-param #
- 서블릿선언 #서블릿선언방법 #
- 8 실무에서 가장 많이 사용하는 SQL
- Today
- Total
장미의 개발일기
JSP 프로그래밍 : Servlet 서블릿이란? 서블릿 및 Java 웹 프로그래밍 기초지식 / 내장객체 본문
JSP 프로그래밍 : Servlet 서블릿이란? 서블릿 및 Java 웹 프로그래밍 기초지식 / 내장객체
민장미 2023. 6. 22. 20:44*JSP 프로그래밍 : 중요한 개념 2가지 !!
1. 서블릿 : 서블릿이란?
'웹에서 자바를 표현하는 기술', 웹 자바라고 생각하면 편하다. 더 정확하게 얘기하자면, '사용자 요청을 처리가 가능한 클래스' 다. 자바에서 HttpServlet 이나 GenericServlet 클래스를 상속받는 순간 그 클래스는 서블릿이 된다. GenericServlet는 안 쓰고, HttpServlet을 쓴다고 보면되니, HttpServlet 만 기억해 도 무방하다. 이 서블릿이란게 있어야, 자바를 웹에 표현을 할 수 있다. ( 자바 콘솔창에서 출력되는 거 말고)
(모델1,2 방식에서는 서블릿이 곧 컨트롤러다 => 스프링 프레임워크에 와서 컨트롤러가 추가 된다. )
간단한 서블릿 예제 포스팅 :
서블릿 기초 : html 파일 1개 + 서블릿 클래스 1개로 간단한 예제 (tistory.com)
서블릿 기초 : html 파일 1개 + 서블릿 클래스 1개로 간단한 예제
셋팅 : 본인은 아파치 톰캣 9.0 설치 / 이클립스 ee / 실행브라우저는 크롬으로 설정 *톰캣 에러 무진장 많음...초보자는 절대 여러 프로젝트를 번갈아가면서 실행 시키지 말 것!! (본인은 지웠다 깔
jangmicoding.tistory.com
서블릿 선언하는 방법 2가지 포스팅 :
Java/ Web java => Servelet 서블릿 선언 방법 2가지 (tistory.com)
Java/ Web java => Servelet 서블릿 선언 방법 2가지
서블릿 기초 : html 파일 1개 + 서블릿 클래스 1개로 간단한 예제 (tistory.com) 서블릿 기초 : html 파일 1개 + 서블릿 클래스 1개로 간단한 예제 셋팅 : 본인은 아파치 톰캣 9.0 설치 / 이클립스 ee *톰캣 에
jangmicoding.tistory.com
2. 내장객체 : 서버 (주로 아파치 톰캣)가 제공해주는 , 서버에 내장된 객체를 의미한다.
아래 표 중에서, Request, Response, Application, Session 4개는 정말 정말 중요하니 반드시 기억해두자.
또한 Scope Object 4가지 ( page < request < session < application) 도 외워두자.
+ application은 프로젝트와 같고, context와도 같다는 것도 기억해두기
* HttpSession : 브라우저를 키는 순간 생성되고, 그 창을 닫으면 사라짐 (창마다)
* application(Servletcontext) : 톰캣(WAS)을 실행하는 순간 생성된다.
-application은 JSP에서 사용되는 용어이고, ServletContext는 서블릿에서 사용되는 용어로 같은 객체를 참조한다.
둘다 톰캣이 제공해주는 객체로, ServeletContext는 자바의 인터페이스고 이클립스 내에서 사용,
application은 ServeletContext를 구현한 객체로 jsp 페이지 내에서 사용한다.
*JSP 안에 서블릿이 있고, WAS(톰캣,서블릿컨테이너)의 관점에서 보면 JSP는 서블릿이나 다름 없다.
참고용 코드:
<%
ServletContext servletContext = application.getServletContext();
%>
- ServeletContext의 메소드 중요!
- getInitParameter(String name): 지정된 초기화 매개변수의 값을 반환합니다.
- getRealPath(String path): 지정된 경로에 대한 실제 파일 시스템 경로를 반환합니다.
- getResource(String path): 지정된 경로에 대한 URL을 반환합니다.
- getRequestDispatcher(String path): 지정된 경로로 요청 디스패처(RequestDispatcher) 객체를 반환합니다.
*Request 객체의 정보, 즉 요청을 유지하고 다음 페이지로 넘어간다 => forward / 유지안하고 넘어간다 => redirect

*간단히 웹 프로그래밍 구조 설명!!
클라이언트( 크롬, 사파리, 엣지 등 웹 브라우저)에서 요청사항을 request 객체에 담아서 서버에 보내면,DAO객체가 DB안의 데이터에 접근한다. 그 데이터가 DTO(VO) 객체에 담겨서 서버에 도착한다.서버에서는 그 DTO에 담긴 데이터를 response 객체에 담아 클라이언트에 응답한다.

*서블릿의 생명주기
init() : 서블릿의 초기화를 해주는 역할. 딱 1번만 최초에 실행된다.
service() : 요청과 응답을 처리해주는 역할 ( 메소드 do get() 아니면 do post() 가 실행된다. )
destory(): 서블릿 종료하는 요청이 있을때 호출되어, 서블릿이 종료 된다. ( 서버가 종료될 때 )
*get 방식? post 방식?
- get방식 : 보안이 매우 취약하다 www.naver.com?id=rrr&pwd=111'
와 같이 url에 데이터가 다 노출되는 방식이다. url의 ? 뒤에는 파라미터가 온다는 것을 의미한다.
'&'는 자바에서의 코드 : System.out.println("나는"+num); 에서 '+'역할을 한다. 파라미터 종류가 여러가지면,
?id=eee&email=erer@naver.com&phone=0102222222 이런식으로 이어진다고 보면 된다.
추가로 get방식은 많은 양의 데이터를 전송하지 못한다.
-post 방식: get방식과 반대로, url에 데이터가 노출되지 않는 방식으로, 개인정보를 다루는 회원가입 등에서는 post방식을
사용해야만 한다. 그리고 많은 양의 데이터 전송이 가능하다.
=> HttpServlet 을 상속받은 후, 오버라이딩 단축키를 눌러보면 doget, dopost 두 개의 메소드를 찾을 수 있다.
doget()메소드는 요청을 get방식으로, dopost()메소드는 요청을 post방식으로 보낸다.
오버라이딩 해보면, dopost, doget 메소드에 request, response 객체가 자동으로 매개변수로 삽입되어 있음을 알 수 있다.
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
super.doPost(req, resp);
}
*JSP프로그래밍을 위한 셋팅
- 이클립스 EE 버전 or 이클립스 + 톰캣(서버)이 필요하다. DB와 연결할거라면 오라클 등의 DB 프로그램이 필요하다. 본인은 이클립스 EE+ 톰캣을 사용하고, 서버로는 톰캣이 최고라 하니 추천!
-*프로젝트 생성시 다이나믹 프로젝트로 생성해야하며, xml 옵션에 체크 필수
-* 다이나믹 프로젝트를 생성하면, webapps 폴더 안에 web-inf와 meta-inf 폴더가 있다.
두 폴더는 보안이 되는 구역이라고 생각하면 편하다. => 클라이언트(웹 브라우저)가 직접 접근이 불가
그 두 폴더 밖에 jsp파일을 만들어서 실행하면, 웹 창이 잘 뜨지만, web-inf 폴더 안에 넣었을 경우 실행이 안된다.
보안 구역에 있는 파일들은 컨트롤러를 만든 후, 컨트롤러로 창을 띄울 수가 있다.
*그냥 서블릿으로 프로그래밍하는 것과 JSP 프로그래밍의 차이
- 전자는 이클립스 내에서만 프로그래밍하는 것으로, html 코드를 일일이 " " 안에 넣어서 작성해야하는 매우 불편한 방식이다. 반대로 JSP 프로그래밍은, jsp 파일(html파일과 거의 같다고 보면 된다)에 <% %> 기호를 사용하여 이 기호 안에
자바 코드를 자유롭게 작성하는 방식이다. jsp는 기본적으로 보이는 것(view)을 위한 페이지 임을 기억해두자.
'개발일기 > JSP 프로그래밍 (Java 웹프로그래밍)' 카테고리의 다른 글
JSP 프로그래밍: 모델1 방식의 웹 개발하기(갤러리 만들기) - 1 (0) | 2023.06.27 |
---|---|
Java와 DB 연결 (JDBC) / MyBatis(마이바티스를 사용하는 이유) (0) | 2023.06.22 |
Java : Web Programming 포스팅 목록 (0) | 2023.06.14 |
스프링 프레임워크 핵심 용어정리 (0) | 2023.06.09 |
JSP 개발방식 모델1 과 모델2 방식 비교 + MVC 패턴 (1) | 2023.06.09 |