일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바웹프로그래밍
- Controller
- 마이바티스환경설정
- 정처기 #정처기필기 #정보처리기사 #정보처리기사필기 #정보처리기사2023 #정처기2023 #정처기3회 #정보처리기사3회 #정보처리기사실기 #정처기실기 정처기합격
- html #자바와서블릿 #자바와웹연결 #웹연결
- 자바 #웹자바 #webJava #java #코딩 #코딩초보 #ojdbc #서블릿 #자바서블릿 #javaServelet #servelet #httpServlet
- 기말고사 #방통대기말고사 #방통대후기 #방통대기말고사후기 #방통대2023년1학기 #방통대1학기 #방통대C프로그래밍 #방통대장학금 #방통대영어회화1
- jsp #게시판만들기 #자바로게시판만들기 #웹테스트 #JNDI #myora #Oracle #오라클 #DAO #DTO #아파치톰캣 #웹자바셋팅 #모델1 #모델1방식 #모델1방식웹프로그래밍 #웹프로그래밍
- 정처기3회 #정보처리기사2023
- java #array #자바 #배열 #프로그래밍 #코딩 #자바프로그래밍
- spring #스프링 #전자정부표준프레임워크 #표준프레임워크 #자바스프링 #스프링다운로드 #자바스크립트 #웹프로그래밍설정 #웹프로그래밍셋팅
- union #sql99 #외부조인 #오라클조인 #sql조인 #자체조인 #비등가조인 #비등가조인 #테이블복사 #오라클테이블 #null인데이터출력
- Model #
- cos.jar #cos드라이버 #파일업로드드라이버 #루피는귀여워 #마이바티스 #MyBatis #마이바티스sql #마이바티스DB #마이바티스jsp #마이바티스이클립스 #mapper #config.xml #마이바티스다운로드
- 서블릿선언 #서블릿선언방법 #
- tern다운로드 #메이븐다운로드 #maven #스프링라이브러리 #자바라이브러리 #톰캣설정 #WAS #웹어플리케이션서버
- web.xml #배포지시자 #서블릿테스트
- Init-param #context-param #
- Doit #Doit오라클 #Doit시리즈 #연습문제
- 어노테이션 #@WebServlet #WebServlet #
- 8 실무에서 가장 많이 사용하는 SQL
- 정처기필기합격 #정처기합격후기
- 자바 #웹자바 #JAVA #WEB #WEBJAVA #WEBPROGRAMMING #웹 #웹프로그래밍 #코딩 #CODING #모델1 #모델2 #모델1방식 #모델2방식
- 서블릿 #자바모델1 #자바모델2 #mvc #mvc패턴
- 갤러리제작 #갤러리만들기 #jsp갤러리 #jsp게시판 #jsp프로그래밍 #jsp웹프로그래밍 #jsp웹 #jsp모델1방식 #사진업로드 #jsp사진업로드 #jdbc6 #jdbc드라이버다운 #jdbc드라이버무료다운
- 방통대 #방송통신대학교 #컴퓨터과학 #컴퓨터과학과 #컴과 #방통대컴퓨터과학과 #방통대컴과 #방통대파이썬 #방통대C #방통대자바
- View #
- QUERY #DML #SQL문 #내림차순정렬 #오름차순정렬
- ORACLE #TIGER #SCOTT #SCOTT계정 #오라클학습계정 #프로그래밍 #SQL #SQLORACLE #오라클 #오라클연습 #오라클연습계정 #오라클연습문제 #WHERE절 #오라클조건절
- sql #오라클 #불리언형 #boolean #webjava #java #jsp #Mybatis #마이바티스 #마이바티스환경설정 #모델1 #모델1프로그래밍 #Batis #마이바티스다운로드 #web설정 #웹프로그래밍 #게시판 #게시판제작 #게시판만
- Today
- Total
장미의 개발일기
Java/ Web java => Servelet 서블릿 선언 방법 2가지 본문
서블릿 기초 : html 파일 1개 + 서블릿 클래스 1개로 간단한 예제 (tistory.com)
서블릿 기초 : html 파일 1개 + 서블릿 클래스 1개로 간단한 예제
셋팅 : 본인은 아파치 톰캣 9.0 설치 / 이클립스 ee *톰캣 에러 무진장 많음...초보자는 절대 여러 프로젝트를 번갈아가면서 실행 시키지 말 것!! (본인은 지웠다 깔고 혈압이 폭팔한 에러를 여러 번
jangmicoding.tistory.com
먼저 포스팅한 간단한 예제 -MyInfoServlet class에선
클래스 위에
@WebServlet 이라는 어노테이션을 사용하였다.
이 어노테이션은 이 클래스가 서블릿이라는 것을 선언하는 기능이다.
이 외에도 서블릿을 선언하는 방법이 1개 더 있다. 다만 번거롭고 위의 방식이 훨씬 간편하기에 거의 쓰지는 않는다.
정리하자면
서블릿 선언 방식
1. 클래스 위에 @WebServlet("/주소") 어노테이션 사용
2. web.xml 파일에 선언해주기
지금 하려는 포스팅은 저 2번의 방법이다 !
*web-inf / 의 web.xml 파일을 오픈하여 편집 : WAS(즉 톰캣)이 web.xml을 관리한다.
myfile ~~ 이런건 다 엔터쳐서 밑으로 보내버리고 위에서 작성하면 편하다.
(부록)web.xml----------
-web.xml에 있는 welcome file 부분은 톰캣이 실행되자마자 실행되는 파일들이다.
주로 메인 페이지를 index.jsp or index.html 로 만든 다음에 첫 welcome-file에 등록해서 사용한다.
아래 캡쳐본을 보면, index.html이 없을 경우, index.htm이 실행되고, 이것도 없을 경우
index.jsp이 실행 없을 경우 또 밑으로 내려간다. 모든 목록이 없는 파일일 경우 => 오류
-----------------
(부록)web.xml----------
init-param과 context-param : 웹 애플리케이션에서 사용되는 설정 파라미터
* context-param : 서블릿 밖에 선언한다. 모든 서블릿이 접촉가능 / 전역설정 파라미터 / 웹 애플리케이션 전역 설정 /
/getServletContext().getInitParameter() 메소드를 사용하여 호출
* init-param : 서블릿 내부에 선언하며, 그 서블릿만 사용가능 / 서블릿에 대한 설정 파라미터
/ 그 서블릿의 인스턴스가 생성될 때 초기화 된다. / getInitParameter() 메소드를 사용하여 init-param 의 값을 호출
위의 두 메소드 모두 HttpServlet의 메서드!
-----------------
-서블릿 이름하고 서블릿은 상속받은 클래스를 적어줘야하는데,
반드시 패키지까지 다 써줘야한다 ****** 보통 패키지 표현시 / 를 쓰는데 여기엔 " . " 이걸로 표현한다.
-그 다음엔 서블릿 매핑! url 패턴은 @WebServlet("/주소") 여기서의 "/주소" 이거와 같다.
원하는 url을 정해서 적어주면 끝
- web.xml 저장하는데 로딩이 좀 있을수도 있으니 수시로 저장하는건 비권장
<servlet>
<servlet-name>mytest1</servlet-name>
<servlet-class>ex1.EX1Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mytest1</servlet-name>
<url-pattern>/mytest1</url-pattern>
</servlet-mapping>
서블릿을 상속받은 클래스 코드는 초간단하니 캡쳐본으로 같이 올려요~
doget 메소드를 오버라이딩 ~ ( 뒤에 다른 예제를 위해 )
* 실행은 클래스 파일에서 해야한다.
성공하면 콘솔화면에 잘 출력이 되고
아래처럼 브라우저에 내가 지정한 url까지 똑같이 뜨는 것을 확인 !
----------------------------------------------------------------------------------------------------------------------------------------------------------------
예제 1-2 : 파라미터 이해하기
ex1.EX1Servlet class 파일에 내용을 추가
xml 파일은 그대로 두고, class 파일에 내용만 추가.
주석 내용을 따라하면 됩니다.
//1주소와 파라미터와 값을 임의로 정해본다.
//(톰캣은 기본으로 8080포트로 설정되어있다)
//http://localhost:8080/프로젝트명/내가설정한url_pattern?mode=AB&mid=cd&sid1=89
// ?뒤부터 파라미터와 파라미터의 값을 의미. (map이라 생각하면 이해가 쉬움)
// & -> System.out.println();여기서 문자연결해주는 "+"역할을 한다
//http://localhost:8080/servelet_0604/mytest1?mode=AB&mid=CD&sid1=89
package ex1;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class EX1Servlet extends HttpServlet {
//1주소와 파라미터와 값을 임의로 정해본다.
//(톰캣은 기본으로 8080포트로 설정되어있다)
//http://localhost:8080/프로젝트명/내가설정한url_pattern?mode=AB&mid=cd&sid1=89
// ?뒤부터 파라미터와 파라미터의 값을 의미. (map이라 생각하면 이해가 쉬움)
// & -> System.out.println();여기서 문자연결해주는 "+"역할을 한다
//http://localhost:8080/servelet_0604/mytest1?mode=ab&mid=cd&sid1=89
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("get 방식으로 호출");
//GET방식의 파라미터 받기
String mymode = req.getParameter("mode"); //AB
String mymid = req.getParameter("mid"); // CD
String mysid1 = req.getParameter("sid1"); //89
System.out.println("파라미터값 확인");
System.out.println(mymode);
System.out.println(mymid);
System.out.println(mysid1);
String res = "";
//특정값을 브라우저로 출력해보자.
if(mymode.equalsIgnoreCase("aB")) {
res = "<p>에이비</p>";
}else if(mymode.equalsIgnoreCase("aa")) {
res = "<p>파라미터 aa일때 </p>";
}else {
res = "<p>모르는 내용이다.</p>";
}
//브라우저에게 ContentType 설정
resp.setContentType("text/html;charset=euc-kr");
PrintWriter out = resp.getWriter(); //브라우저로 연결
out.println(res);
}
}
실행해보면 당연히 오류가 뜬다 !
오류난 브라우저 창의 주소에 /mytest1?mode=AB&mid=CD&sid1=89 (프로젝트명/url pattern? 파라미터=값)
를 붙여넣으면 콘솔 창에는 각 파라미터 값들이 출력되고
브라우저 창에는 if 조건문을 설정한대로 mode의 값에 따라 각 다른 값이 출력된다.
'개발일기 > JSP 프로그래밍 (Java 웹프로그래밍)' 카테고리의 다른 글
JSP 프로그래밍: 모델1 방식의 웹 개발하기(게시판 만들기) - 2 FBoard (0) | 2023.06.04 |
---|---|
JSP 프로그래밍: 모델1 방식의 웹 개발하기(게시판 만들기) - 1 FBoard (0) | 2023.06.04 |
Web java => Servelet 서블릿 선언 방법 2가지 / 2번째 (0) | 2023.06.04 |
서블릿 기초 : html 파일 1개 + 서블릿 클래스 1개로 간단한 예제 (0) | 2023.06.04 |
Mybatis 마이바티스 다운로드 및 환경 설정 (0) | 2023.05.25 |