2024.01.31 게시판 서비스 구현(Web Server)

2024. 2. 22. 16:48JAVA WEB

HTML  사용
하지만 입력값을 줄 수 없음 (파라메터 입력값, 조건문 X , 반복문 X 못 씀)
therefore -> 매개변수를 받으려면 ${EL} expression language
JSTL 을 사용해야 함

 모든 파일에 register.jsp 와 같이 작성해야 할까?
문제는 이와 같은 파일을 100~1000개 만들어야 한다면
반복하는 방법 == 프레임워크 방법 중 하나는
파이썬의 플라스크 경우는 HTML 틀을 만들고
틀을 상속을 한다.
필요한 부분을 overide 하듯이 채워넣는 방법

베이스 하나 만들고 그 밑에 필요한 기능을 채워기

JSP 에서는 화면이 4부분으로 구성
헤더 어싸이드 본문 푸터
1. 조각 내기
2. JSP 에서 사용할 수 있는 includ 키워드 조각된 파일을 끄집어와서 내 것으로 만듦
꼭대기 옆이 한 번 만들고 나서 재사용을 함
고칠 부분은 한 부분만 꼬집어서 수정
조각내서 뭉치는 방식을 사용 프레그먼트를 만든 후 합치는 방식을 채택함 --> JSP 방법
네이버는 ?
예를 들어 영화, 증권, 스포츠 section 이 다 다르게 복잡한 tile이라는 소프트 웨어를 사용함
웹페이지에 대한 틀을 여러개 가지는 형태를 사용함

사용자 관리 

request 사용자에게 던저주는 기능 ?
session 한 부라우저에서 접속을 하는 동안에 그 기간동안 유효한 것 - 이 것을 이용해서 로그인, 장바구니 기능 구현함

list.jsp
session Uid = empty >> 로그인을 하지 않았다는 의미
로그인을 하지 않았으면 로그인 버튼을 내려줌
그렇지 않으면 비어있지 않으면 로그아웃 버튼을 보여주고 sessUname님 환영합니다 보여줌
session 에서 setAttribute를 설정하면 jsp 에서는 부담없이 변수이름을 사용할 수 있음

action 정의 할 때
list user 목록에서 user와 ssesion Uid 가 같다는 말은 본인이라는 뜻
본인이면 수정하게 해주고
그렇지 않으면 수정할 수 없게 비활성화 시킴

삭제 본인 또는 관리자가 삭제 가능함
user.uid sessUid or sessUid admin이면 삭제 가능
or와 and 의 법칙이 바뀜

버튼에 컨트롤을 달 수 있음 (권한에 따라 할 수 있음)
본인인가 관리자인가 하는 권한에 따라 컨트롤 할 수 있음

if 내가 브라이언
web화면에서 maria 것을 삭제하려면 수정 활성화 X
자신 것만 활성화 O

UserController.jsp
브라이언

--2교시--
필터 : 거름종이 (걸러주는 것)
highpass filter
lowpass filter
통신 장비에서 나온 단어

걸러준다 : ex> 게시판 서비스 운영, 쇼핑몰
사용자 == url을 통해 들어왔을 경우, 서비스는 로그인을 한 상태에서만 사용가능하다면
서블릿에 세션값 Uid값이 없으면 다시 login창으로 내려보내주면 됨
하지만 경우의 수가 10~100개라면 코드마다 기능을 심는 것보다 관문을 정해놓는 것이 편리함
이 경우에 필터라는 의미는 사용자가 요청하면 들어오는 것이 요청하면
리퀘스트는 서블릿쪽으로 처리
서블릿은 사용자쪽으로 처리

그러면 현재는 한글사용에 문제 없지만 옛날 브라우저는 인코딩을 반드시 해줬어야 함
예전에는 들어오늘 값에 인코딩 값을 주고 로그인 필터 권한을 넣어줌
웹서버 어플리케이션이 (서블릿에서) 많이 돌아갈 떄 관문 역할을 해줬음
리퀘스트는 전처리
리스펀스에 해당하는 것은 후처리

EncodingFilter.java 출력해보기
doFilter 만 사용
request 파라메터
타입 ServletRequest

필터라는 것은 여러 개 매달 수 있음
필터로 여러가지 작업을 할 수 있음
지금까지 만들었던 모든  Servlet 에 적용이 될 수 있음
구 주소라고 하더라도 치면 동작을 함
웹 서버는 지금까지 했던 것들이 다 동작됨

필터는 마음 껏 매달 수 있음 
== 자바만 그런 것이 아니라 node.js 에서 익스프레스를 씀  
필터라는 말 대신 middleware 쓰고 이것을 마구 끼어넣음

ppt 11.4
디렉티브 태그 <%@ page language="java" contentType="text/html; charset=UTF-8"

jsp file 안에
alert msg == page 
isErrorPage == 통상적으로 404= paage notfound, 500=server error or other errors 
error page 화면을 예쁘게 꾸밀 수 있음

include tag
인크루드를 이용하면 페이지 쪼개기 가능
쪼개기 실습
이 것을 하기 위해서 user>register.jsp copy

jQeury 제외됨 == 모든 나의 웹 페이지에 공통적으로 들어감 == 별도의 파일로 떼어냄
font-awsome login 해서 폰트 내려받기

--3교시--
템플릿 생성 작업
프로젝트를 위한 템플릿 작성

--6교시--
웹 페이지 실습
http://localhost:8080/jw/ch09/user/login or register