개인프로젝트/기능프로그램_오늘뭐입지

20240507_jsp 설정&외부파일 설정

일일일코_장민기 2024. 5. 8. 18:08
728x90

멀티모듈에서 jsp 설정은 다소 복잡하다.

 

1. build.gradle의 dependencies 설정

		implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
//3.X.X이전	//implementation 'javax.servlet:jstl:1.2'
//3.X.X이후
		implementation 'jakarta.servlet:jakarta.servlet-api'
		implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api'
		implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl

* Spring Boot 2를 사용할 경우, implementation 'javax.servlet:jstl:1.2'만 있으면 된다.

* Spring Boot 2를 사용할 경우, 위의 코드를 제외한 하단 3줄을 입력해야 제대로 작동한다.

- 없으면 javax.servlet.jsp.tagext.TagLibraryValidator 에러 출력

 

2. 멀티모듈 별 작업 디렉터리 설정

- $MODULE_WORKING_DIR$ 기입

 

3. jsp 설정

경로는 직접 만들어야 한다.

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

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="<c:url value="/resources/js/RegisterPage.js"/>"></script>

</head>
<body>

<h1>Main Register Page</h1>
<form method="post" action="<c:url value='/member/create'/>">
    username: <input type="text" id="username" name="username"><br>
    <span id="existUsername"></span>
    password: <input type="text" id="password" name="password"><br>
    email: <input type="email" id="email" name="email"><br>
    <span id="existEmail"></span>
    <input type="submit" value="회원가입">
</form>
<p>
    <a href="<c:url value='/LoginPage'/>">로그인 페이지</a>
</p>
</html>

 

* 외부파일 설정

js파일의 외부파일 경로