기억하기 위한 기록

spring3일차 본문

Back-end/spring

spring3일차

곽구 2021. 5. 18. 04:14

< 0330 / Spring 복습 >

 

 

index안만들고 시작했을때 home.jsp가 실행된 이유는

reauest요청이 들어오면 web.xml이 내가 요청한 url을 받아서 처리를 했었는데, 

뭐를 보고 처리했냐 ?  servlet mapping

그럼 거기있는 servlet Name을 보고 이름을 찾아간다.

 

url이 드어왔어 요청이들어오면 어느 controller로 보낼지 누가 찾아주는가? Dispatcher Servlet

 

그럼 서블릿에 달았던 어노테이션 이름은 ? 

request-mapping

 

기본적으로 반환하는건 String 값만 반환하는데,

String값만 보고도 맵핑이 됐는데 누가 해줬는가?

prefix, suffix붙여서 내가 가고자하는 view를 연결해주는건 view resolve이다.

 

 

-- 파라미터 전송받는 5가지 방법 -- 

1. HttpServlet Request를 통해 전송받기

2. RequestParam 어노테이션을 통해 

3. RequestParam 어노테이션을 생략하는 방법을 통해

4. Model Attribute 어노테이션을 통해

5. Model Attribute 어노테이션을 생략하는 방법을 통해

 

 

 

 

-- http세션을 이용하지 안ㅎ아도 로그인하는방법

session annotation 을 통해

 

얘는 어떻게 사용할 수있었나?

Model에 먼저 담아주고, controller에 명시해준다.

Modeld 담아준 key값을 가지고 controller에 명시해준다.

 

 

-- httpSession을 이용하지 않아도 로그아웃 하는 방법은?

원래는 session . invalidate했었는데

session status를 사용해서 session complite를하면 세션이 로그아웃 된다.

 

-- 회원가입을 하고나서의 문제점이 발생

1. 인코딩

2. 비밀번호가 평문으로 들어오는문제

 

1. 번의 문제는 spring에서 제공하는 filter를 사용해 해결했다. web.xml에 명시했었음

 

2. 비밀번호는 평문으로 들어왔기 때문에 bcrypt를 사용해서 암호화가 높은 sorty방식을 이용했다.

db값과 입력한값이 일치하는지 확인이 어렵기때문에

bycript에서 제공하는 matches ...

 

 

 

-- Controller, Service, Repository > annotation

ㄴ역할 : 객체(bean)를 생성해준다.  

내가 만든 controller, service, repository의 객체를 만들어 사용하겠다는건데, component라는 어노테이션으로 

일반 객체만드는건데

 

객체를 만들면서 동시에 각각 controller, 

                                                service,

                                                dao 의 역할을 집어넣겠다는것.

 

-- 우리가 만든 객체를 사용하기 위해서 쓰는것 

자동주입 하는것 -> Autowired

 

 

imple>service>controller>autowired>service

 

-- sqlsession, bycrypt이미 만들어진 객체를 가지고 그대로 사용하는것

빈등록을하고싶은데 그대로 사용할 수 없으니 xml

 

 

'Back-end > spring' 카테고리의 다른 글

spring2일차  (0) 2021.05.18
spring 1일차  (0) 2021.05.18