Intro
오랜만입니다. 그동안 AWS SUMMIT 2025도 다녀오고, 게시할만한 주제들도 많았지만 글을 작성하지 않은 이유를 말해보자면..
이미 인터넷은 죽었기 때문입니다.

사실 아주 오래전부터 텍스트 짜깁기로 스타크래프트 립버전 1.16.1 다운 따위의 트래픽을 위한 낚시성 스팸 게시글들이 판을 치고 있었지만... 검색 단계에서 필터링하기가 쉬웠습니다.


하지만 이제는 일방적이고 의미 없는 댓글을 달고 있는 봇들이 너무나도 많이 돌아다닙니다. 심지어 게시글의 내용을 요약 + 간단한 안부 인사를 하는 봇도 있죠. 게시글조차 프롬프트 엔지니어링을 기반으로 한 양산형 GPT 게시글들도 많습니다.

이를 방지하기 위해 티스토리 자체에서 그런 스팸 봇들을 차단할 수 있는 IP 필터링 기능도 제공하고 있지만, 댓글 스팸 필터링만 될 뿐, 접근 자체는 막지는 못하는 것 같습니다. 조회수가 0인데도 공감수는 올라가고 있었으니까요. 당연히 정상적인 트래픽이 아니니 조회수에도 집계되지도 않죠.
저도 코딩이나 학습과 관련된 부분은 GPT를, 간단한 검색 용도로는 Perplexity를 많이 활용합니다. 개인적으로 탐구한 것들이나 신뢰성 있는 출처에서 얻은 지식 정리 같은 건 취합해서 노션에 적어놓는 편입니다. 무조건 AI가 나쁘다고 말하려는 건 아닙니다.
문제는
AI가 자체 생성 콘텐츠로 재학습하려는 것을 꺼린다는 것이죠.
AI 모델 붕괴니 뭐니 하면서 AI 생성 콘텐츠들은 웹에 그대로 방치하고, 유저들이 게시하는 양질의 데이터들만(그렇지 않은 경우도 많지만) 골라서 학습하려는 게 아니꼽습니다. 결국에 무료 노동을 해주는 것이나 다름없으니.
노션에 기록하는 것도 결국 AI 따위에게 학습 데이터 제공해 주는 것인데 참, 딜레마네요.
쓰잘데기 없이 친환경적인 척만 하는 종이빨대, 리유저블 컵 같은 걸로 규제하기 전에 데이터센터 탄소 배출이나 잡으십시오.
본론
아무튼 본론으로 돌아와서, Java/JSP 개발을 위한 환경 설정을 남겨보도록 하겠습니다. 이걸 다시 손대게 될 줄은 몰랐는데 그렇게 됐습니다.
먼저 톰캣을 다운로드 받아옵시다. Spring Boot할 때는 톰캣이 내장되어 있어서 이런 거 신경 안 써도 됐죠. 이제는 신경 써줘야 합니다.
https://tomcat.apache.org/download-90.cgi
Apache Tomcat® - Apache Tomcat 9 Software Downloads
Welcome to the Apache Tomcat® 9.x software download page. This page provides download links for obtaining the latest version of Tomcat 9.0.x software, as well as links to the archives of older releases. Unsure which version you need? Specification version
tomcat.apache.org
일단 제일 무난하게 java 1.8 이상 쓸 수 있는 Tomcat 9 버전을 다운로드하고, 이클립스 워크스페이스 안에 압축을 풀어줍시다. 괜히 이상한데 저장했다가 파일 정리하면서 날려먹지 말고 프로젝트 폴더 안에 들고 있읍시다.
💡 프로젝트는 Dynamic Web Project로 만들 거고, Project name을 설정합시다.
그다음, Target runtime을 Apache Tomcat v9.0을 선택하고, Dynamic web module version은 4.0로 내버려 둡시다.

그다음, Web Module 설정에서 web.xml 생성 옵션을 선택합니다. Web Application Server를 구동할 때, 이 파일을 통해 Tomcat에 설정을 적용하는 것입니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%!
String tmp = "jsp";
String str = "Example Test";
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP TEST PAGE</title>
</head>
<body>
<h2><%=tmp %> Test </h2>
<%
out.println(tmp + " " + str);
%>
</body>
</html>

간단하게 JSP 코드를 작성하고 톰캣 서버를 실행시키면, 자동으로 JSP Page가 브라우저에서 열립니다.

... 와우 되게 초심으로 돌아온 것 같아요. 마치 학부생 1학년 때, C언어로 Hello World를 출력하는 느낌이랄까.
일단 개략적인 프로젝트 구조는 다음과 같습니다.
src/main/java/... (Servlet)
src/main/webapp/
├── index.jsp
└── WEB-INF/
├── web.xml
├── classes/
└── lib/
일반적으로는 루트에다가 JSP를 두는데 이러면 url로 접근이 가능합니다. 하지만 보안상 중요한 JSP 같은 경우에는 서블릿이 forward 해서 접근하도록 해야겠죠. 그럴 경우에는 WEB-INF 하위에 views/ 같은 디렉토리를 하나 만들어서 관리하면 되겠습니다.
프로젝트 구조와 실행 흐름 정도는 익혔으니
이제 대충 커리큘럼을 짜보자면,
JSP 문법을 가볍게 익힌 후에 DB 연결도 해보고, 게시판 CRUD에 로그인 정도만 붙여보면 될 듯.
추가 기능은 위에 있는 걸 다 수행한 후에 그때 가서 한번 해보는 것도 좋겠네요.
'Study > Java' 카테고리의 다른 글
| [JDBC] JDBC 연결 테스트와 MyBatis 설정 해보기 (0) | 2025.09.09 |
|---|---|
| [JSP] JSP와 친해지기 (0) | 2025.09.09 |
| [Java] HashMap의 데이터 관리?! Linked List와 Red-Black Tree의 전환 과정! (7) | 2024.12.01 |
| [Java] 직렬화(Serialization)와 역직렬화(Deserialization) (0) | 2024.11.17 |
| [Java] charAt과 substring에 long 타입 인덱스를 사용할 수 없는 이유에 관하여 (2) | 2024.11.10 |