Land of Joe

23년 10월 26일 JSP를 이용한 백엔드 개발 본문

🌱 dailyStep/⏳ StageUs

23년 10월 26일 JSP를 이용한 백엔드 개발

Arendt 2023. 10. 28. 09:17

 

들어가기

 

  1. 백엔드 개발의 특징
    • 코딩이 차지하는 비율이 높지 않음
    • 서버 관리, 데이터베이스 구축, 그리고 프론트엔드와의 연결을 하는 백엔드 개발
  2. 백엔드 언어의 역할
    • 프론트엔드와 데이터베이스를 연결해주는 중간 과정
    • 프론트엔드의 요청을 분석해서 sql로 바꾸고, 이를 db에 전달
    • db에서 온 값을 정제한 뒤 다시 프론트엔드로 돌려주는 것
    • 백엔드는 수동적인 형태를 띈다.
      • === http 통신은 수동적인 형태를 띈다 (http통신의 특징임: 수동적)
      • 프론트엔드가 요청하면 서버가 주는 것밖에 못함
      • ex) 채팅이나 알람설정 등은 http 통신이 아닌 다른 통신방법을 이용해야 한다.
  3. 백엔드 언어의 변천사
    • 1세대 백엔드 언어: jsp, php,.net
    • 2세대 백엔드 언어: node.js, spring
    • 2015년까지만 해도 프론트엔드, 백엔드 단어가 없었음 (개념 및 구분이 없었음)
      • 과거의 구분: 웹 퍼블리셔 & 웹 개발자
      • 웹 퍼블리셔: 사실상 디자이너 (html css를 할 줄 아는)
      • 웹 개발자: 이벤트를 달고, 백엔드 개발을 하는 사람
    • 2세대 백엔드 언어부터의 특장점
      • 백엔드가 프론트엔드에서 독립함
      • 그래서! 서로에게 영향 받지 않고 알아서 개발하면 되게 되었음
    • 그럼 내가 jsp 를 배우는 이유?
      • 웹 개발자의 고질적인 문제인 코딩스킬 부족을 연습할 수 있음
      • 과거를 아는 게 미래 발전에 도움이 된다 (역사를 잊은 자에게 미래는 없다?!!)
      • 특정 이유에 의해 2세대 백엔드 언어가 나왔다는 것을 체화할 수 있음
  4. JSP 언어의 특징

    • 모든 1세대 언어의 특징: 백엔드 요청에 대해 return이 존재하지 않음!!!!!
      • 위에서 데이터베이스 조회해서 밑에서 출력함
      • 백엔드 요청을 하려면 무조건 페이지 이동을 해야함
        • (리턴을 그 자리에서 받는 게 아니기 때문에)
        • (백엔드 코드와 프론트엔드 코드가 한 개의 파일에 작성되어 있으니까)
    • 문법이 java와 100% 동일 → 구글링 할 때 jsp로 검색하는 것보다 java로 검색하는 게 더 빠름
    • 현업에서 잘 안 쓰다보니 vsc 지원이 거의 없음
      • 작성한 코드 컬러링을 안 해줌
    • 스파게티 코드가 되기 쉬움
      • html 파일 안에 css, js 작성할 수 있음
      • jsp 파일 안에 html,css,js 작성할 수 있다 → 마구잡이로 섞여질 수 있는 문제점!
      • 섞어쓰지 않게 조심하고 노력해야함
        • (css, js는 따로 파일 분리할 거니까 jsp, html만 섞이지 않도록 유의하면 됨)
  1.  

 

 

 

JSP 개발 시작!

 

1. 와스(톰캣)과 마리아디비가 서로를 알아보고 연결되게 해야하기 위해 그 둘을 연결하는 connector 파일을 설치한다.

  커넥터 파일: "mysql-connector-java_8.0.23-1ubuntu20.04_all.deb"

 

2. 위에서 설치한 connector 파일을 파일질라를 이용해 서버의 HOME에 넣는다. 

 

3. 압축파일을 푼다: sudo dpkg -i (파일명)

>> '압축 해제'와 동시에 '설치'라는 의미 >> 우분투 어딘가에 설치되어 있음! 어딘가?

 

4. cd / > cd usr > cd share > java 안에!

 

5. java 안에 있는 걸 이동해준다: lib로!

(왜? 톰캣의 외부파일 설치는 lib에, 실행파일은 bin에, 톰캣을 설정하는 것은 conf에, 코드 저장은 webapps에!!)

>> sudo mv mysql-connector-java_8.0.23.jar ~/apache-tomcat-9.0.82/lib

(mysql-connector-java_8.0.23.jar)을 (~/apache-tomcat-9.0.82/lib)로 이동해줘

 

6. 파일 이동했으니까 껐다가 켜준다: bin에서!

>> cd bin

>> ./shutdown.sh

>> ./startup.sh

 

7. 개발환경을 세팅해준다: webapps에서!

>> cd webapps/ROOT

>> mkdir (폴더명)

>> touch (파일명.jsp)

 

**만약 폴더명 잘못 적었을 때 수정하기: mv week8 week7 (week8을 week7으로 바꿔라)

 

8. ftp-simple (원격 개발 환경) 연결한다.

 

23년 10월 19일 프로토콜, 데이터베이스

프로토콜 정의: 인터넷 통신에 대한 표준 인터넷은 전세계가 다같이 맞춰서 사용하자! 라고 약속하고 사용하는 통신 기술이기 때문에, 한 가지 방법을 정해서 다같이 맞춰서 사용하고 있음 인터

joeindeu22.tistory.com

ftp-simple 설치에 관한 글 ⬆️⬆️⬆️