아무튼 개발
article thumbnail
반응형

 

 

서블릿(Servlet)은 자바를 통해 동적인 웹페이지를 구현해 주는 서버 측 프로그램이다.

자바로 구현되며 자바 클래스의 일종이다.

쉽게 말하자면 기존의 JSP에서 보안을 더해준 것이다.

또한 한 클래스에서 다양한 작업을 실행할 수 있다.

 

 

  • 상속

서블릿의 기능을 구현하기 위해서는 상속을 받아야 한다.

일반적인 네트워크 프로토콜 GenericServlet 보다 HTTP 프로토콜을 위한 HttpServlet 서블릿을 많이 사용한다.

 

이렇게 상속을 해줌으로써 서블릿을 사용할 수 있다.

 

 

  • doGet / doPost 방식

요청 처리 방식으로 2가지 방식이 있다.

doGet방식과 doPost방식이다.

 

두 방식 중 어떤 방식이 실행이 될 지 모르므로, 한 곳에 코딩을 써주고 (ex. doPost방식)

doGet과 같이 나머지 방식에 doPost 메서드를 입력해 주어 반복을 줄여준다.

 

 

  • HttpServletResponse / HttpServletRequest

클라이언트의 모든 요청을 포함하는 HttpServletRequest

클라이언트에게 보내지는 응답인 HttpServletResponse

 

 

  • ServletConfig / ServletContext

ServletConfig 인터페이스는 해당 Servlet에서만 사용이 가능하며

ServletContext 인터페이스는 다른 곳에서도 모두 사용 가능한 범용적 인터페이스이다.

 

 

각각의 인터페이스에 변수명을 지정하여 사용한다.

getInitParameter는 초기값을 의미한다.

 

PrintWriter는 출력 기능이 있다.

변수 gender의 경우 ServletContext에 따라 다른 곳에서 입력해도 출력이 된다.

 

 

web.xml 파일이다. 이 파일은 톰캣서버의 환경설정의 파일이다.

 

servlet-name은 해당 서블릿의 이름을 지정해주며

servlet-class은 서블릿이 있는 곳이다.

 

init-param으로 초기값을 지정해 주며

name에 value를 넣어주는 것이다.

 

mapping은 기존에 주소에 파일이 다 드러나는 jsp와 달리

입력한 ss1 만 검색하면 사이트의 파일이 드러나지 않고도 웹페이지를 나타내게 한다.

앞에 / 를 입력해 주는 것 주의하자.

 

form에서 action에 주소를 입력할 때에도

서블릿은

url-pattern에 입력한 부분으로 연결해 주면 된다.

 

 

  • setAttribute

JSP에서 프로그래밍 작업을 하고 HTML로 디자인 작업을 할 때 데이터를 넘길 수 있는 여러 방법이 있다.

하지만 이들은 JSP파일에서 JSP파일 간이기 때문에 서블릿은 다른 방법으로 전달한다.

 

setAttribute를 통해 class파일에서 jsp파일로 데이터를 넘겨준다.

result에 str을 담는 것이다.

 

또한 밑에는 포워딩될 페이지를 지정한다.

데이터를 어디로 보낼지 괄호 안에 보낼 곳을 입력한다.

그러면 rd를 통해 req에 담겨서 보내진다.

 

데이터를 받을 때에는 getAttribute 받으며

데이터 타입이 오브젝트이므로 String으로 다운캐스팅한다.

 

 

 


  • EL (Express Language)

EL은 표현 언어로

기존에 JSP와 HTML이 함께 입력할 때 구분해서 입력해야 한다는 불편함을 덜어낼 수 있도록

자바코드를 대신하여 데이터 형변환도 자동적으로 해준다.

 

<body>

<form action="" method="post">

수1: <input type="text" name="su1"/><br/>
수2: <input type="text" name="su2"/><br/>
<input type="submit" value="결과"><br/>

</form>

su1: ${param.su1 }<br/>
su2: ${param.su2 }<br/>

결과: ${param.su1 + param.su2 }<br/>

${param.su1 }은 ${param.su1 % 2 == 0 ? "짝수" : "홀수" } 

</body>

 

EL은 연산도 가능하다.

 

밑에는 삼항연산자를 사용하였다.

 

결과

 



  • JSTL (JSP Standard Tag Language)

JSTL은 자주 사용하는 사용자 정의 태그(=커스텀 태그)를 표준으로 모아 만들어 놓은 것이다.

 

JSTL을 사용하기 위해서는 2개의 jar 파일이 필요하다.

바로 jstl.jar, standard.jar 파일이며 이들은 아파치 사이트에서 다운로드할 수 있다.

 

처리영역은 총 core, fotmat, xml, sql로 기능이 나뉜다.

 

대표적으로 core의 if문과 foreach문이다.

<body>
<c:if test="${!empty param.su1 }">
	<c:set var="result" value="1"/>
	<c:forEach var="i" begin="1" end="${param.su2 }" step="1">
		<c:set var="result" value="${result * param.su1 }"></c:set> 
			${param.su1 } ^ ${i } = ${result }<br/>
	</c:forEach>

</c:if>

</body>

 

for문은 jstl에서 forEach로 입력하여 사용한다.

set은 변수를 초기화하며, 웹태그가 가능하여 뒤에 / 를 입력해 마무리한다.

 

이외에 switch문은 choose와 when을 활용하며 기존의 default 역할은 otherwise로 진행한다.

확장 for문도 forEach로 사용할 수 있으며

import문으로 데이터를 불러오기도 한다.

 

 

 

-2월 18일

반응형
profile

아무튼 개발

@릴쥬

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...