Spring MVC - 로그인 페이지 만들기3
2022. 9. 21. 17:47
Spring/Ch2. Spring MVC
로그인 성공 시 전에 있었던 페이지로 이동 BoardController.java list 메서드 리턴 값에 request.getReqeustURL() 을 추가해 GET 방식으로 URL 값을 넘긴다 package com.fastcampus.app; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @Co..
JSP - EL, JSTL
2022. 9. 21. 09:57
JSP
EL 1. JSP 의 속성영역(request, response, session, application) 저장된 속성 객체의 property 를 출력한다. 2. 리터럴 데이터, 다양한 연산 결과 출력이 가능하다. 3. JSTL 과 연동이 가능 기존방식 : scriptlet 스크립틀릿 EL 방식 ${requestScope.mvo.name} ${mvo.name} JSP 내장객체 종류 내장객체 설명 pageContext 다른 내장 객체를 생성하는 역할 pageScope JSP 가 Servlet 으로 변환 되었을 때, Servlet 객체 자신을 의미(this) requestScope request 객체에 접근하기 위한 역할 sessionScope session 객체에 접근하기 위한 역할 applicationSco..
중고헌터 - 로그인 페이지 만들기2
2022. 9. 20. 19:28
프로젝트/중고헌터
게시판 이용시 로그인 상태가 아니면 로그인 화면으로 이동 boardList.jsp 중고헌터 Home Board login Sign in This is BOARD This is BOARD This is BOARD This is BOARD This is BOARD BoardList.java package com.jcy.usedhunter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.spri..
Spring MVC - 로그인 페이지 만들기2
2022. 9. 20. 19:27
Spring/Ch2. Spring MVC
게시판 이용시 로그인 상태가 아니면 로그인 화면으로 이동 boardList.jsp 중고헌터 Home Board login Sign in This is BOARD This is BOARD This is BOARD This is BOARD This is BOARD BoardList.java package com.fastcampus.app; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.spri..
Spring MVC - Session, 세션
2022. 9. 19. 23:57
Spring/Ch2. Spring MVC
Session 이란 서로 관련된 요청들을 하나로 묶은 것 - 쿠키(브라우저에 저장)를 이용 browser 마다 개별 저장소(session 객체, 서버에 저장) 를 서버에서 제공 - 1 : 1 "a collection of related HTTP transactions made one by browser to one server" 세션의 생성 과정 세션 객체 얻기 HttpSession session = request.getSession(); session.setAttribute("id", "asdf"); 세션과 관련된 메서드 메서드 설명 String getId() 세션의 id를 반환 long getLastAccessedTime() 세션 내에서 최근 요청을 받은 시간을 반환 boolean isNew() 새로..
중고헌터 - 로그인 페이지 만들기
2022. 9. 19. 12:50
프로젝트/중고헌터
로그인 페이지 loginForm.jsp Login ${URLDecoder.decode(param.msg)} 로그인 아이디 기억 | 비밀번호 찾기 | 회원가입 LoginController.java package com.jcy.usedhunter; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springfr..
Spring MVC - 로그인 페이지 만들기
2022. 9. 19. 12:50
Spring/Ch2. Spring MVC
로그인 페이지 loginForm.jsp Login ${URLDecoder.decode(param.msg)} 로그인 아이디 기억 | 비밀번호 찾기 | 회원가입 LoginController.java package com.fastcampus.app; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springfr..
Spring MVC - redirect와 forward
2022. 9. 19. 11:07
Spring/Ch2. Spring MVC
redirect와 forward 의 처리 과정 비교 redirect redirect 시 get 방식으로만 전송 forward RedirectView JstlView InternalResourceView sevlet-context.xml
Spring MVC - @RequestMapping
2022. 9. 19. 02:49
Spring/Ch2. Spring MVC
URL 패턴 ?는 한 글자, *는 여러 글자, ** 는 하위 경로 포함. 배열로 여러 패턴 지정 종류 URL pattern 매칭 URL 1. exact mapping /login/hello.do http://localhost/app/login/hello.do 2. path mapping /login/* http://localhost/app/login/ http://localhost/app/login/hello http://localhost/app/login/hello.do http://localhost/app/login/test 3. extension mapping *.do http://localhost/app/hi.do http://localhost/app/login/hello.do /** : 경로가 ..
Git - error:failed to push some refs to 에러
2022. 9. 18. 20:32
Git
에러 github에 내 Local 에 없는 파일이 있고, 내 파일을 push 할 면 발생하는 오류이다. ! [rejected] main -> main (non-fast-forward) error: failed to push some refs to 'https://github.com/jcy8206/usedHunter.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast..
중고헌터 - 회원가입 페이지 만들기2
2022. 9. 18. 16:04
프로젝트/중고헌터
form 데이터 전송 방법 중 GET 방식 막기 //@RequestMapping(value="/register/save", method=RequestMethod.POST) @PostMapping("/register/save") // Spring 4.3 부터 추가 public String save() { return "registerInfo"; } } @GetMapping 추가 package com.jcy.usedhunter; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.Po..
Spring MVC - 회원가입 페이지 만들기2
2022. 9. 18. 16:03
Spring/Ch2. Spring MVC
form 데이터 전송 방법 중 GET 방식 막기 //@RequestMapping(value="/register/save", method=RequestMethod.POST) @PostMapping("/register/save") // Spring 4.3 부터 추가 public String save() { return "registerInfo"; } } @GetMapping 추가 package com.fastcampus.app; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.Po..
중고헌터 - 회원가입 페이지 만들기
2022. 9. 18. 13:10
프로젝트/중고헌터
html 호출할 때 resources 없이 하기 servlet-context.xml mapping 에서 resources를 지우자 HTML HTML registerForm.html Register 아이디 비밀번호 이름 이메일 생일 페이스북 카카오톡 인스타그램 회원 가입 registerInfo.jsp 다수의 값은 paramValues 를 사용해 배열로 값을 받는다 id=${param.id} pwd=${param.pwd} name=${param.name} email=${param.email} birth=${param.birth} sns=${paramValues.sns} sns=${paramValues.sns[0]} sns=${paramValues.sns[1]} sns=${paramValues.sns[2]} ..
Spring MVC - 회원가입 페이지 만들기
2022. 9. 18. 13:08
Spring/Ch2. Spring MVC
html 호출할 때 resources 없이 하기 servlet-context.xml mapping 에서 resources를 지우자 registerForm.html Register 아이디 비밀번호 이름 이메일 생일 페이스북 카카오톡 인스타그램 회원 가입 registerInfo.jsp 다수의 값은 paramValues 를 사용해 배열로 값을 받는다 id=${param.id} pwd=${param.pwd} name=${param.name} email=${param.email} birth=${param.birth} sns=${paramValues.sns} sns=${paramValues.sns[0]} sns=${paramValues.sns[1]} sns=${paramValues.sns[2]} 유효성 검사 jav..
Spring MVC - @ModelAttribute
2022. 9. 17. 22:50
Spring/Ch2. Spring MVC
@ModelAttribute 적용 대상을 Model의 속성으로 자동 추가해주는 어노테이션 반환 타입 또는 컨트롤러 메서드의 매개변수에 적용 가능 package com.fastcampus.app; import java.util.Calendar; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation...
Spring MVC - @RequestParam
2022. 9. 17. 15:07
Spring/Ch2. Spring MVC
한글 필터 web.xml encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /* HomeController.java package com.fastcampus.app; import java.text.DateFormat; import java.util.Date; import java.util.Locale; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.Req..
Spring MVC - Filter
2022. 9. 17. 13:55
Spring/Ch2. Spring MVC
Filter 공통적인 요청 전처리와 응답 후처리에 사용한다. 로깅, 인코딩 등 package com.fastcampus.app; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletReques..
Spring MVC - JSTL(JSP Standard Tag Library)
2022. 9. 17. 13:43
Spring/Ch2. Spring MVC
${i} ${status.count}. arr[${status.index}]=${elem} msg=${param.msg} msg= 메시지가 없습니다. 성인입니다. 성인이 아닙니다. 값이 유효하지 않습니다. Server time is 1 2 3 4 5 6 7 8 9 10 1. arr[0]=10 2. arr[1]=20 3. arr[2]=30 4. arr[3]=40 5. arr[4]=50 6. arr[5]=60 7. arr[6]=70 메시지가 없습니다. 값이 유효하지 않습니다. Server time is 2022/09/17 13:33:04
Spring MVC - EL(Expression Language)
2022. 9. 17. 13:28
Spring/Ch2. Spring MVC
EL person.getCar().getColor()= person.getCar().getColor()=${person.getCar().getColor()} person.getCar().getColor()=${person.car.color} name= name=${requestScope.name} name=${name} id= id=${pageContext.request.getParameter("id")} id=${param.id} "1"+1 = ${"1"+1} "1"+="1" = ${"1"+="1"} "2">1 = ${"2">1} null = ${null} null+1 = ${null+1} null+null = ${null+null} "" + null = ${""+null} ""-1 = ${""-1} ..