안녕하세요, 코린이의 코딩 학습기 채니 입니다.
개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.
Maven 사용해보기
index.jsp
<script src="${pageContext.request.contextPath}/js/jquery-3.6.0.js"></script>
<body>
<h2>Hello World!</h2>
<button id="btn">ajax</button>
<script>
document.querySelector("#btn").addEventListener('click', (e) => {
$.ajax({
url : "${pageContext.request.contextPath}/helloworld",
success(response) {
console.log(response);
},
error : console.log
});
});
</script>
</body>
HelloworldServlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Map<String, Object> map = new HashMap<>();
map.put("msg", "안녕하세요");
map.put("num", 123);
map.put("today", new Date());
// gson의 의존을 maven을 통해 프로젝트에 주입받기
// 1. pom.xml 의존등록
// 2. gson의존을 지역저장소에 다운
// 3. project와 연결
Gson gson = new Gson();
}
Gson 형식으로 데이터를 보내려고 하는데, gson.jar 파일이 없어 컴파일 오류가 나는 상황입니다.
기존에는 파일을 다운로드 받아 WEB-INF/lib 파일에 직접 저장하여 사용 (프로젝트가 gson.jar에 의존)하였지만,
gson 의존을 maven을 통해 프로젝트에 주입 받아보겠습니다.
① pom.xml 의존등록
<dependency>를 복사하여 pom.xml에 붙여넣어줍니다.
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
저장함과 동시에
② gson 의존을 지역저장소에 다운 받기 시작하며, ③ project와 연결 시켜줍니다.
HelloworldServlet의 Gson이 auto import되는 것을 확인할 수 있으며, 사용 가능합니다.
import com.google.gson.Gson;
/**
* Servlet implementation class HelloworldServlet
*/
@WebServlet("/helloworld")
public class HelloworldServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Map<String, Object> map = new HashMap<>();
map.put("msg", "안녕하세요");
map.put("num", 123);
map.put("today", new Date());
// gson의 의존을 maven을 통해 프로젝트에 주입받기
// 1. pom.xml 의존등록
// 2. gson의존을 지역저장소에 다운
// 3. project와 연결
Gson gson = new Gson();
response.setContentType("application/json; charset=utf-8");
gson.toJson(map, response.getWriter());
}
}
잘 출력되는 것을 확인할 수 있습니다.
지역저장소 확인하기
C드라이브 - 사용자 - .m2 - repository
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.9.0</version>
groupId, artifactId, version이 패키지 형태이므로, 폴더형태로 되어있습니다.
com - google - code - gson - gson - 2.9.0
gson-2.9.0.jar가 존재하는 것을 확인할 수 있으며, source 코드까지 다운로드 된 것을 확인할 수 있습니다.
다만, JSTL 관련해선 오류가 발생!
pom.xml에 JSTL 등록 후 사용 시
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
index.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
</head>
<script src="${pageContext.request.contextPath}/js/jquery-3.6.0.js"></script>
<body>
<c:set var="txt">jstl</c:set>
${txt}
절대 URI값을 찾을 수 없다며 500 오류가 발생한 것을 확인할 수 있습니다.
이런 경우, 기존과 동일하게 WEB-INF/lib 폴더를 생성하여 위치 시켜주면 됩니다.
이미 다운로드가 되었으므로 지역저장소에서 다운로드된 파일을 가져와 위치 시켜주었습니다.
잘 출력되는 것을 확인할 수 있습니다.
'Java > └ Maven' 카테고리의 다른 글
Maven) Maven이란?, 프로젝트 생성 및 환경설정 (0) | 2022.08.02 |
---|