[F-Lab 66해빗 페이백 챌린지 ]

[F-Lab 모각코 페이백 34일차] JSP로 로그인 기능 구현(Spring FrameWork, Spring Boot, FrameWork 지원 없이 Maven 프로젝트) 3가지

everydeveloper 2023. 7. 20. 13:50

학습목표

  • JSP로 로그인 기능 구현

 

TIL

  • JSP로 로그인 기능 구현

 

맨 처음 FrameWork 지원 없이 JSP로 로그인 구현하는 것을 해보았다. 추후 Spring FrameWork, Spring Boot으로도 JSP를 이용해

간단한 로그인 기능을 구현하였다. 멘토님의도는 JSP로 구현하면서 동작원리를 이해하는 것이고 얼마나 불편한지도 깨닫게 되었다.

Spring FrameWork을 이용하니 엄청 편했는데 Spring Boot는 거의 타임리프가 강제되는 면이 있어서 그점을 뺴면 오리지널 프레임워크랑 아직은 거의 비슷했다. 예전에 스프링 부트 개인프로젝트로 잠깐 한 적 있어서 이번엔 JSP로 돌리려고 설정을 찾아보고 그렇게 해보았다.

 

FrameWork 지원 없이 JSP로 로그인 기능 구현하는 것이였는데

막상 시작하려니까 하나도 모르겠었다.

분명 예전에 개인프로젝트도 하고 일도 잠시 했었는데

정말 시작도 못하겠고 내가 알고 있었는 것 있었나 하는 생각도 들었다.

 

몇일 생각만 하다가 생각나는 건 없고 애초에 JSP로 로그인이 되는지도 그 과정이 머리속에 그려지지 않았다.

자꾸 JSP는 컨트롤러로 호출해야 한다는 먼가 모를 고정 관념이 있었다.

컨트롤러는 MVC 패턴에서 쓰는 것이기 때문에 나는 컨트롤러 없이 간단히 만들어 보고 싶었고

JSP를 호출하면 서블릿으로 바뀌어서 화면으로 보일 수 있고 JSP여서 JAVA 로직도 어느정도는 기대할 수 있기 떄문에

호출만 하면 문제는 풀릴 것 같았다.

그런데 그 호출을 어디서 가능하게 하는지, 그리고 그 설정은 어디서 하는 지는 몰랐다.

프레임워크가 없기 떄문에 톰캣에서 jsp를 로드하고 관리하는데

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

이 코드를 web.xml에 넣어서 wepapp root 경로에 해당 jsp파일을 넣어두면 톰캣이 기동되고 자바 애플리케이션이 로드 되면 이 jsp파일을 읽어들인다.

그 다음에는 상대적 링크로 jsp파일을 클릭으로 읽어들였기 때문에 jsp로드를 걱정은 하지 않았다.

 

로그인 구현도 사실

https://m.blog.naver.com/PostView.naver?blogId=bgpoilkj&logNo=221644518521&proxyReferer= 

 

[JSP] JSP 로그인 예제(세션이용)

안녕하세요 S Writer입니다. JSP세션을 이용한 로그인 예제 소스입니다. 데이터베이스는 연결하지 않...

blog.naver.com

 

이분 블로그 많이 참고해서 하였다. Spring Framework, Spring Boot도 여기꺼를 변형하여서 하였다.

 

 Spring Framework와 Spring Boot도 나의 경우는 JSP로 유지해서 하였다.

 

굳이 정석대로 할 필요는 없었다고 생각하였다.

 

Boot의 경우

pom.xml 파일에 JSP파일을 톰캣에서 구동시킬 수 있도록

<dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
</dependency>

 

이 소스를 추가하였다.

 

최대한 간단하게 구현하려고 하였던 것이라

딱히 구현과정에 있었던 학습 과정이 더 중요하다고 생각한다.

그래서 딱히 소스를 공개할 것도 어려운 기술이나 내용도 딱히 없다.

 

controller없어도 jsp 구동이 가능하다는 점

스프링 부트에서 jsp를 구동하려면 별도의 pom.xml파일에 디펜던시 추가가 필요하다는 점 정도 인것 같다.