Crescendo Code

5월 9일 (화) - [ Core의 여러가지 기능 및 예제 / EL, JSTL을 통한 우편번호 검색기 / Dynamic → Maven 프로젝트 전환 ] 본문

KIC 백엔드 수업

5월 9일 (화) - [ Core의 여러가지 기능 및 예제 / EL, JSTL을 통한 우편번호 검색기 / Dynamic → Maven 프로젝트 전환 ]

Crecok 2023. 5. 9. 16:37
반응형

◆ 이전 수업 개념

 

▶ 상태유지 (값 보관) - HashMap 형태로 보관

1. pageContext

2. request (★)

   - model2

3. session ()

   - 로그인 검사

   - 장바구니 (임시로 저장할 장소)

   - 세션의 파기 : invalidate

   - 세션과 쿠키를 비교하여 적재적소에 활용하는것이 좋다.

4. application

 

 

▶ 공통 메서드

- setAttribute / getAttribute / removeAttribute

 

 

▶ 회원관리 흐름 (DFD)

- 벤치마킹을 통해 구조를 파악한다.

 

1. 로그인 전

   ▷ 회원 가입 : 아이디 중복 검사 / 회원 가입 인증 ( SMS / Email )

   ▷ 로그인

      - 자체 로그인 : DB검사 후 로그인 / 아이디, 비밀번호 찾기

      - 소셜 로그인 : 구글 / 카카오 등 로그인

2. 로그인 후 ( session / cookie 정보 조회 )

  ▷  로그 아웃

  ▷  회원 정보

      - 회원 정보 수정

      - 비밀번호 변경 ( 주기적으로 변경 유도 )

  ▷  회원 탈퇴

  ▷  관리자 기능 (포트 변경) : 특정 아이디 / 비밀번호 로그인 시

 

 

▶ view page 변화 ( java + html → EL + (JSTL) + html )

1. EL ( Expression Language )

   - Expression : <%= %> : out.println()

   - 상태 저장소 : pageContext / request / session

   - 서버 상태 : param / header

2. JSTL

   - Custom Tag Library를 표준화 한 것

   - 라이브러리를 가지고 있어야 한다.

   - taglib 디렉티브를 사용해야 한다.

 


 

 ◆ JSTL

 

◈ Core 예제 1

 

 

▶ JSTLEx01 다이나믹 프로젝트 생성

 model1 패키지 - BoardTO 클래스 생성

package model1;

public class BoardTO {
	
	private String subject;
	private String writer;
	
	public String getSubject() {
		return subject;
	}
	public void setSubject(String subject) {
		System.out.println( "setSubject() 호출" );
		this.subject = subject;
	}
	public String getWriter() {
		return writer;
	}
	public void setWriter(String writer) {
		System.out.println( "setWriter() 호출" );
		this.writer = writer;
	}

}

 

 jstl03.jsp 파일 생성 및 실행

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:set var="to" value="<%= new model1.BoardTO() %>" scope="page" />
<c:set target="${ to }" property="subject" value="제목" />
<c:set target="${ to }" property="writer" value="작성자" />

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

제목 : ${ to.subject }<br />
작성자 : ${ to.writer }<br />

</body>
</html>

 


 

◈ Core 예제 2

- 단순 조건문

 

 

▶ jstl04.jsp 파일 생성 및 실행

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

시작<br />

<c:if test="true">
	무조건 실행 <br />
</c:if>

<c:set var="country" value="korea" scope="page" />
<c:if test="${ country == 'korea' }">
	대한민국 입니다. <br />
</c:if>

<c:if test="${ country != null }">
	국가명 : <c:out value="${ country }" /><br />
</c:if>

끝<br />

</body>
</html>

 


◈ Core 예제 3

- if~ else if~ 에 해당

 

 

▶ jstl05.jsp 파일 생성 및 실행

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

시작<br />

<c:set var="country" value="korea" scope="page" />

<c:choose>
	<c:when test="${ country == 'korea' }">
		<c:out value="${ country }" />는 춥다<br />
	</c:when>
	<c:when test="${ country == 'canada' }">
		<c:out value="${ country }" />는 더 춥다<br />
	</c:when>
	<c:otherwise>
		안춥다<br />
	</c:otherwise>
</c:choose>

끝<br />

</body>
</html>

 


 

◈ Core 예제 4

- 반복문

 

 

▶ jstl06.jsp 파일 생성 및 실행

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

시작<br />

<c:forEach var="i" begin="1" end="10" step="2">
	Hello JSTL : ${ i }<br />
</c:forEach>

<br />

<c:forEach var="i" begin="1" end="3">
	<c:forEach var="j" begin="1" end="3">
		${ i } : ${ j }<br />
	</c:forEach>
</c:forEach>

끝<br />

</body>
</html>

 


◈ Core 예제 5

- 위 예제들을 활용해 구구단 만들기

 

 

▶ gugudan.jsp 파일 생성 및 실행

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<table width="800" border="1" style="text-align:center">
<c:forEach var="i" begin="0" end="9">
	<tr>
	<c:forEach var="j" begin="0" end="9">
		<c:choose>
		<c:when test="${ i == 0 && j == 0 }">
			<td></td>
		</c:when>
		<c:when test="${ i == 0 }">
			<td>X<c:out value="${ j }"></c:out></td>
		</c:when>
		<c:when test="${ j == 0 }">
			<td><c:out value=" ${ i }"></c:out>단</td>
		</c:when>
		<c:otherwise>
			<td><c:out value="${i} X ${j} = ${ i*j }"></c:out></td>
		</c:otherwise>
		</c:choose>
	</c:forEach>
	</tr>
</c:forEach>
</table>

</body>
</html>

 


 

◈ Core 예제 6

- 배열과 반복문

 

 

▶ jstl07.jsp 파일 생성 및 실행

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<c:set var="intArr" value="<%= new int [] { 1, 2, 3, 4, 5 } %>" />
<c:out value="${ intArr[0] }" /><br />
<c:out value="${ intArr[1] }" /><br />

<hr />

<c:forEach var="data" items="${ intArr }" begin="2" end="4" varStatus="status">
	${ data } / ${ status.index }<br />
</c:forEach>

<hr />

<c:set var="strArr" value='<%= new String [] { "11", "22", "33", "44", "55" } %>' />
<c:forEach var="data" items="${ strArr }">
	${ data }<br />
</c:forEach>

<hr />

<c:set var="hm1" value="<%= new java.util.HashMap() %>" />
<c:set target="${ hm1 }" property="name" value="홍길동" />
<c:set target="${ hm1 }" property="today" value="<%= new java.util.Date() %>" />

<c:forEach var="data" items="${ hm1 }">
	${ data.key } - ${ data.value }<br />
</c:forEach>

</body>
</html>


 

◈ Core 예제 7

- forTokens ( 구분자로 나눈 뒤 반복 출력 )

 

 

▶ jstl08.jsp 파일 생성 및 실행

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<c:forTokens var="token" items="1, 2, 3, 4, 5" delims=",">
	${ token }<br />
</c:forTokens>

<hr />

<c:forTokens var="token" items="홍길동, 고길동, 김길동" delims=",">
	${ token }<br />
</c:forTokens>

</body>
</html>

 


 

◈ Core 예제 8

- sendridirect와 같은 기능

 

 

▶ jstl09.jsp 파일 생성 및 실행

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%-- <c:redirect url="https://www.daum.net" /> --%>
<c:redirect url="https://search.daum.net/search">
	<c:param name="w" value="tot" />
	<c:param name="q" value="카타르월드컵" />
</c:redirect>

 


 

◈ Core 예제 9

- url 출력 기능

 

 

▶ jstl10.jsp 파일 생성 및 실행

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<c:url var="url1" value="./list.do" />
${ url1 }<br />

<c:url var="url2" value="https://search.daum.net/search">
	<c:param name="w" value="tot" />
	<c:param name="q" value="카타르월드컵" />
</c:url>
${ url2 }<br />

</body>
</html>

- q= 이후의 문자는 다국어 URL Encoding 과정의 문자로 표기된다.

 

 

▶ 아래 태그 추가

<c:redirect url="${ url2 }" />

- daum 사이트의 카타르월드컵 검색 페이지로 이동된다.

 


 

◈ Core 예제 10 (★)

- import 기능

 

 

▶ jstl11.jsp 파일 생성 및 실행

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

시작 <br />

<c:import url="./jstl10.jsp" />

끝 <br />

 


 

◈ Core 예제 11 (★)

- import 기능 2

- 오픈 API의 XML 태그 정보도 가져올 수 있다.

 

 

▶ jstl12.jsp 파일 생성 및 실행

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%-- <c:import var="htmlData" url="./jstl10.jsp" /> --%>
<%-- <c:import var="htmlData" url="https://m.daum.net" charEncoding="utf-8" /> --%>

<c:url var="url" value="http://kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchWeeklyBoxOfficeList.xml">
	<c:param name="key" value="f5eef3421c602c6cb7ea224104795888" />
	<c:param name="targetDt" value="20230506" />
</c:url>
<c:import var="htmlData" url="${ url }" charEncoding="utf-8" />

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<textarea rows="50" cols="800">
${ htmlData }
</textarea>

</body>
</html>

 


 

◈ Core 예제 12

- DB 연동 및 DB 테이블에 값을 넣는 방법

 

 

▶ sample DB → dept2 테이블 생성 ( dept 테이블 복사 )

create table dept2 as select * from dept where 1 != 1;

 

 

▶ jstl13.jsp 파일 생성

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="s" uri="http://java.sun.com/jsp/jstl/sql" %>

<s:setDataSource
	var="ds"
	url="jdbc:mariadb://localhost:3306/sample"
	driver="org.mariadb.jdbc.Driver"
	user="root"
	password="123456"
	scope="page" />
	
${ ds }<br />

<%--
<s:update
	var="result"
	dataSource="${ ds }"
	sql="insert into dept2 values (10, '개발부', '서울')" />


<s:update var="result" dataSource="${ ds }">
	insert into dept2 values (10, '개발부', '서울')
</s:update>


<s:update var="result" dataSource="${ ds }">
	insert into dept2 values (?, ?, ?)
	<s:param value="30" />
	<s:param value="생산부" />
	<s:param value="대전" />
</s:update>
--%>

<c:set var="deptno" value="50" />
<c:set var="dname" value="홍보부" />
<c:set var="loc" value="인천" />

<s:update var="result" dataSource="${ ds }">
	insert into dept2 values (?, ?, ?)
	<s:param value="${ deptno }" />
	<s:param value="${ dname }" />
	<s:param value="${ loc }" />
</s:update>

${ result }<br />

 

 

▶ 실행 및 DB 확인

 


 

◈ Core 예제 13

- DB 안의 데이터 추출

 

 

▶ jstl14.jsp 파일 생성 및 실행

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="s" uri="http://java.sun.com/jsp/jstl/sql" %>

<s:setDataSource
	var="ds"
	url="jdbc:mariadb://localhost:3306/sample"
	driver="org.mariadb.jdbc.Driver"
	user="root"
	password="123456"
	scope="page" />

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<s:query var="rs" dataSource="${ ds }">
	select deptno, dname, loc from dept2
</s:query>

<table width="600" border="1">
<tr>
<c:forEach var="columnName" items="${ rs.columnNames }">
	<td>${ columnName }</td>
</c:forEach>
</tr>
<c:forEach var="row" items="${ rs.rows }">
<tr>
	<td>${ row.deptno }</td>
	<td>${ row.dname }</td>
	<td>${ row.loc }</td>
</tr>
</c:forEach>
</table>

</body>
</html>

 

▶ ${ row.컬럼이름 } 부분을 아래와 같이 표기해도 동일한 결과를 출력할 수 있다.

	<td>${ row["deptno"] }</td>
	<td>${ row["dname"] }</td>
	<td>${ row["loc"] }</td>

 


 

◈ Core 예제 14

- context.xml을 통한 DB 연결

 

 

 

▶ context.xml 가져온 뒤 META-INF 폴더 안에 넣고 작성

<?xml version="1.0" encoding="utf-8" ?>
<Context>
	<Resource
		name="jdbc/mariadb1"
		auth="Container"
		type="javax.sql.DataSource"
		driverClassName="org.mariadb.jdbc.Driver"
		url="jdbc:mariadb://localhost:3306/sample"
		username="root"
		password="123456" />
</Context>

 

 

▶ jstl16.jsp 파일 생성 후 실행 (1)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="s" uri="http://java.sun.com/jsp/jstl/sql" %>

<%--
<s:setDataSource
	var="ds"
	dataSource="jdbc/mariadb1"
	scope="page" />
--%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<s:query var="rs" dataSource="jdbc/mariadb1">
	select deptno, dname, loc from dept2
</s:query>

<table width="600" border="1">
<tr>
<c:forEach var="columnName" items="${ rs.columnNames }">
	<td>${ columnName }</td>
</c:forEach>
</tr>
<c:forEach var="row" items="${ rs.rows }">
<tr>
	<td>${ row["deptno"] }</td>
	<td>${ row["dname"] }</td>
	<td>${ row["loc"] }</td>
</tr>
</c:forEach>
</table>

</body>
</html>

 

 

▶ jstl16.jsp 파일 생성 후 실행 (2)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="s" uri="http://java.sun.com/jsp/jstl/sql" %>


<s:setDataSource
	var="ds"
	dataSource="jdbc/mariadb1"
	scope="page" />

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<s:query var="rs" dataSource="${ ds }">
	select deptno, dname, loc from dept2
</s:query>

<table width="600" border="1">
<tr>
<c:forEach var="columnName" items="${ rs.columnNames }">
	<td>${ columnName }</td>
</c:forEach>
</tr>
<c:forEach var="row" items="${ rs.rows }">
<tr>
	<td>${ row["deptno"] }</td>
	<td>${ row["dname"] }</td>
	<td>${ row["loc"] }</td>
</tr>
</c:forEach>
</table>

</body>
</html>

- 두 코드 다 동일한 결과를 얻을 수 있다.

 


 

◈ Core 예제 15

- context.xml을 통한 DB 연결 + where 절을 추가한 데이터 추출

 

 

▶ jstl17.jsp 파일 생성 후 실행

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="s" uri="http://java.sun.com/jsp/jstl/sql" %>

<%--
<s:setDataSource
	var="ds"
	dataSource="jdbc/mariadb1"
	scope="page" />
--%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<s:query var="rs" dataSource="jdbc/mariadb1">
	select deptno, dname, loc from dept2 where deptno=?
	<s:param value="10" />
</s:query>

<table width="600" border="1">
<tr>
<c:forEach var="columnName" items="${ rs.columnNames }">
	<td>${ columnName }</td>
</c:forEach>
</tr>
<c:forEach var="row" items="${ rs.rows }">
<tr>
	<td>${ row["deptno"] }</td>
	<td>${ row["dname"] }</td>
	<td>${ row["loc"] }</td>
</tr>
</c:forEach>
</table>

</body>
</html>

 

 


 

◈ Core 예제 16

- emp 테이블에서 s로 시작하는 사원들의 정보 얻기 ( 사원번호 / 사원이름 / 직책 / 급여 )

 

 

▶ jstl18.jsp 파일 생성 후 실행

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="s" uri="http://java.sun.com/jsp/jstl/sql" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<s:query var="rs" dataSource="jdbc/mariadb1">
	select empno, ename, job, sal from emp where ename like ?
	<s:param value="s%" />
</s:query>

<table width="600" border="1">
<tr>
<c:forEach var="columnName" items="${ rs.columnNames }">
	<td>${ columnName }</td>
</c:forEach>
</tr>
<c:forEach var="row" items="${ rs.rows }">
<tr>
	<td>${ row.empno }</td>
	<td>${ row.ename }</td>
	<td>${ row.job }</td>
	<td>${ row.sal }</td>
</tr>
</c:forEach>
</table>

</body>
</html>

 


◈ Core 예제 17

- 문자열 관련 함수

 

 

▶ jstl19.jsp 파일 생성 후 실행

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<c:set var="str1" value="    Hello JSTL, Hello JSTL    " />
문자열의 길이 : ${ fn:length( str1 ) }<br />
문자열 추출 : ${ fn:substring( str1, 3, 6 ) }<br />
여백 제거 : ${ fn:trim( str1 ) }<br />
여백을 제거하지 않은 문자열 길이 : ${ fn:length( str1 ) }<br />
여백을 제거한 문자열 길이 : ${ fn:length( fn:trim( str1 ) ) }<br />
치환 : ${ fn:replace( str1, " ", "-" ) }<br />
검색 1 : ${ fn:indexOf( str1, "JS" ) }<br />
검색 2 : ${ fn:startsWith( str1, " " ) }<br />
검색 3 : ${ fn:startsWith( str1, "He" ) }<br />
대소문자 : ${ fn:toUpperCase( str1 ) }<br />
</body>
</html>


 

◈ 우편번호 검색기 만들기

- EL, JSTL 을 활용해서 우편번호 검색기 만들기

 

 

▶ zipcode.jsp 파일 생성

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="s" uri="http://java.sun.com/jsp/jstl/sql" %>

<%
	request.setCharacterEncoding( "utf-8" );
%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<form action="zipcode.jsp" method="post">
동이름 <input type="text" name="dong" />
<input type="submit" value="동이름 검색" />
</form>

<br><hr><br>

<c:if test="${ param.dong != null }">
	<s:setDataSource
		var="ds"
		dataSource="jdbc/mariadb2"
		scope="page" />
	
	<s:query var="rs" dataSource="${ ds }">
		select zipcode, sido, gugun, dong, ri, bunji from zipcode where dong like ?
		<s:param value="${ param.dong }%" />
	</s:query>
	
	<table width="600" border="1">
	<tr>
	<c:forEach var="columnName" items="${ rs.columnNames }">
		<td>${ columnName }</td>
	</c:forEach>
	</tr>
	<c:forEach var="row" items="${ rs.rows }">
	<tr>
		<td>${ row.zipcode }</td>
		<td>${ row.sido }</td>
		<td>${ row.gugun }</td>
		<td>${ row.dong }</td>
		<td>${ row.ri }</td>
		<td>${ row.bunji }</td>
	</tr>
	</c:forEach>
	</table>
</c:if>

</body>
</html>

 

 

▶ context.xml 확인 후 실행

<?xml version="1.0" encoding="utf-8" ?>
<Context>
	<Resource
		name="jdbc/mariadb2"
		auth="Container"
		type="javax.sql.DataSource"
		driverClassName="org.mariadb.jdbc.Driver"
		url="jdbc:mariadb://localhost:3306/project"
		username="project"
		password="1234" />
</Context>

 


 

◆ Dynamic Web Project → Maven Project 로의 변환

 

▶ 다이나믹 프로젝트 WebAppEx01 생성

▶ 프로젝트 우클릭 - Configure - Convert to Maven Project

▶ Group Id / Arifact Id 설정 후 Finish 

 

 

▶ https://mvnrepository.com 에서 라이브러리 3개의 태그를 복사 후 pom.xml에 붙여넣기

1. JSTL : https://mvnrepository.com/artifact/jstl/jstl/1.2

2. Standard : https://mvnrepository.com/artifact/taglibs/standard/1.1.2

3. Mariadb : https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client/3.1.4

 

 

▶ pom.xml

- <dependencies> 태그 생성 후 그 안에 위 3개의 라이브러리 태그 삽입

<dependencies>
	  <!-- https://mvnrepository.com/artifact/jstl/jstl -->
<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/taglibs/standard -->
<dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
    <groupId>org.mariadb.jdbc</groupId>
    <artifactId>mariadb-java-client</artifactId>
    <version>3.1.4</version>
</dependency>
</dependencies>

 

 

▶ 우편번호 검색기 프로젝트의 context.xml 파일 붙여넣기

우편번호 검색기 프로젝트의 파일 ( zipcode.jsp ) 복사해서 붙여넣은 후 실행 → 정상 작동 확인

 

반응형
Comments