본문 바로가기
프로젝트/Spring Boot 블로그프로젝트

[블로그프로젝트] error. jstl 500 error 해결

by dantriss 2023. 5. 29.

유튜브에서 블로그 만들기 프로젝트를 따라하면서 나의 스킬을 조금더 레벨업 하고자 한다.

IDE : IntelliJ

언어 : Java

DB : MySQL

빌드관리 도구 : Maven

OS : iOS

참고유튜브 : 메타코딩


이런저런 할일로 조금 미루어졌지만, 계속 프로젝트를 진행중에 있었는데,

오늘은 오류사항중 하나를 해결해서 글을 작성하고자 한다.

https://dean0608.tistory.com/119

예전에 작성한 jsp파일에서 jstl을 사용하기 위해 pom.xml 에 라이브러리도 추가하고

jsp파일에 라이브러리 태그도 추가해서 사용하고자 할 때 계속 500 error 가 발생해서 일단 다음에 해결하려고 넘어가고자 했었는데

드디어 해결하게 되었다.

그래서 그 과정에 대해서 글을 남기고자 한다.

 

우선 jstl을 사용하려고 .xml에 Jstl 라이브러리도 추가하고 jsp에 라이브러리 태그도 추가해보았는데 500error가 뜨는경우가 있을것이다.

라이브러리도 추가하고
라이브러리 태그도 추가했는데
야속하게도 나를 반긴건 500에러 였다.. ㅠ

 

이를 해결하고자 정말 많은 방법을 사용해보았다. 

톰캣버전을 다운해서 시도해보았다는 글을 보고 톰캣도 따로 받아서 버전을 다운해서 시도해보았고

서비스단에서 의존성 주입을 추가해서 해결했다는 글을 보고 시도해보았고

lib폴더에 jstl.jar파일을 직접 넣으니 해결했다는 글 등등 정말 많은 시도를 해보았다...

 

하지만 원인은 spingboot의 버전과 jstl의 변경점이 였다.

우선 jstl라이브러리를 .xml에 추가해서 사용하는 방법은 2.X버전에서 사용하는 방법이지만,

내가 사용하는 springboot는 3.0.2 버전 


해당 방법에선 jstl을 사용하기위해선 약간 다른 방법을 사용해야한다.

우선 .xml으로 이동해서 추가했던 jstl 라이브러리를 삭제한다.

사진에서는 주석으로 막았지만 실제로는 삭제했다.

그 후 아래 3개의 라이브러리를 추가한다.

 		<!-- https://mvnrepository.com/artifact/jakarta.servlet/jakarta.servlet-api -->
        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>6.0.0</version>
            <scope>provided</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/jakarta.servlet.jsp.jstl/jakarta.servlet.jsp.jstl-api -->
        <dependency>
            <groupId>jakarta.servlet.jsp.jstl</groupId>
            <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
            <version>3.0.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.glassfish.web/jakarta.servlet.jsp.jstl -->
        <dependency>
            <groupId>org.glassfish.web</groupId>
            <artifactId>jakarta.servlet.jsp.jstl</artifactId>
            <version>3.0.1</version>
        </dependency>

jap파일에 있는 라이브러리 태그는 그대로 사용해도 된다.

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

 

그 다음에 우측에 있는 MAVEN을 누른 후 reloard project 한 후 다시 프로젝트를 실행해보자

그러면 이제 에러가 날 반기지 않고 Jsp에서 설정한대로 로그인하지 않은 사람에게는 LogIn 과 SignUp만 보이게 된다.

로그인을 하게 된다면?

아래와 같이 변하게 되는걸 확인할 수 있다.

 

 

참조한 블로그

 

 

 

 

댓글