Joslynn의 하루

MSA Full-Stack 개발자 양성 과정 - JSP_220929 본문

MSA Full-Stack 개발자 양성과정/JSP&Servlet

MSA Full-Stack 개발자 양성 과정 - JSP_220929

Joslynn 2022. 9. 29. 17:54

JSP 특징

 : 서버측에서 실행되어 결과값을 클라이언트 쪽으로 전송되므로 소스가 공개되지 않음.
 : DB연결기능
 : Form으로 넘어오는 데이터를 받아 처리능력이 있음.
 : JAVA문법으로 100% 적용함.
 : jsp문서안에서 html, css, javascript 그대로 사용함.
 : jps문서안에서 <% ~~~ %>를 이용해 JSP문법 코딩.

 

 

 JSP태그 (스크립팅요소)  

1. <%  JSP문법  %> - (스크립트 릿)

2. <%!  전역변수 선언 및 메소드선언    %>

3. <%= 출력문 %>  -> out.println()대신
4. <%@ page  문서전체에대한 설정부분  %> => 문서의 첫줄에 기술.
     <%@ 는
         1) page지시어
         2) taglib 선언
5. <%--  JSP영역 전체 주석처리    --%>

 

 


Include 개념

1) Include 지시자: 메인에 include 파일의 소스가 합쳐진다.(서블릿 파일 1개)

<%@ include file = “로컬 URL ”     %>

: main 문서에 include될 경우 소스가 합쳐지면서 문서 간 변수 공유 (서블릿 파일 1개이기 때문에 )

 

2) 액션태그 include

<jsp:include page = "경로" />

 

<jsp:include page = "경로" >

     <jsp:param name = "" value = "" />

<jsp:include page = "경로" />

 

: Include액션 태그는 포함 시킬 페이지의 처리 결과를 포함

 

**주의사항

: WAS가 가진 encoding은 8859_1 → 변경해주지 않으면 한글 인코딩이 깨질 수 있다.

: request.setCharacterEncoding() 메소드를 이용하여 인코딩 방식 변경해준다.

 

actionTag Include 예제)

main

<%@ page language="java" contentType="text/html; charset= UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h2>action include TEST</h2>
	<jsp:include page="top.jsp"></jsp:include>
	
	<%
		String addr = "서울-Seoul";
		
		out.println("변경 전 인코딩 방식: "+request.getCharacterEncoding()+"<br>"); // null이면 8859_1 인코딩 적용
		// request의 인코딩 변경
		request.setCharacterEncoding("UTF-8");
		out.println("변경 후 인코딩 방식: "+request.getCharacterEncoding()); 
	%>

	<hr color="blue">
	<h3>여기는 메인입니다.</h3>
	
	<hr color="blue">
	
	<!-- html 태그처럼 생겼으나 자바 코드이므로 소스가 외부 공개X -->
	<!-- footer.jsp로 id, addr 정보를 전송 -->
	<jsp:include page="footer.jsp">
		<jsp:param name="id" value="8253jang"/>
		<jsp:param name="addr" value="<%=addr%>"/>
	</jsp:include>
	
</body>
</html>

top

<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset= UTF-8" 
		pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>메뉴입니다. - top.jsp</h1>

<h3>오늘은 <%=new Date().toLocaleString()%></h3>

</body>
</html>

footer

<%@ page language="java" contentType="text/html; charset= UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<!-- main에서 사용한 변수 값 전달 -->
<%
	//parameter(or form)로 전송된 데이터를 받기
	String id = request.getParameter("id");
	String addr = request.getParameter("addr");
%>

<h3>footer.jsp입니다.</h3>
<h4>주소: <%=addr%> <br>
	개발자: <%=id%>
</h4>

</body>
</html>
Comments