본문 바로가기
dev/Spring

[Spring] 회원가입 페이지

by dev_Step 2022. 6. 4.

 

 

 

>> 회원가입 페이지는 정적 리소스 이므로 webapp > resources 하단에 파일을 생성해준다.

해당 페이지를 호출 하려면

>> 하단의 경로로 호출 한다.

>> 이때 resources 경로를 없앨수 있는데 이는 spring > servlet-context.xml 을 통해서 변경할 수 있다.

>> root-context.xml은 Web과 관련없는 Spring 설정을 다룰때 사용한다.

>> mapping 을 resources를 지워주고    /**로 설정한다

>> 그러면 다음부터 정적 리소스를 호출할때 resource를 넣어주지 않아도 된다.

 

>> Form 태그 안에서 

 - <input type="text">  <input type="password">   <input type="checkbox"> <input type="submit"> 등 다양하게 있는데

Form 태그란 ? 

 >> 문서 양식으로 데이터를 입력하여 controller로  전송할때 사용한다, 

 >> <form action="" method="">                

   - action : 전송할 URL         //          method : 전송 방법 get(default) ,  post

   - get : head 만 있고 body가 없으므로 queryString 방식으로 URL을 통해서 전달된다.

   

 

name 이 동일한 경우에는

?sns=facebook&sns=kakaotalk&sns=instagram 이렇게 값은이름으로 값이 넘어가며 받을떄는

String[] arr = request.getParameterValues("sns") 이렇게 받고

EL 에서는 :   var array =  {paramValues.sns}   이런식으로 배열로 받고 [0] [1] [2] 으로 접근한다.

 

${param.sns} --> facebook 1개의 값만 나왔고, 

배열일 경우는  paramValues.sns[0] 등으로 배열로 접근했다.

 

 

또한 URL로 데이터를 전송할때 ASCII 값이 아닌경우  URL 인코딩 되어 변경되어 간다.

 

 

>> 회원가입시에 정보가 누락되면 안되므로 데이터가 submit 될때 누락된 정보가 있는지 확인하는 

함수를 설정하여 체크하도록 한다. 

>> 여기서는 formCheck() 라는 함수를 onsubmit 이벤트를 걸어놨고 여기서 this는 form 태그 자체를 의미한다.

>> frm 은 태그를 받으며,     .(온점)을 통해서 내부 속성에 접근할 수 있다.

onsubmit --->   true 의 경우 form 전송 O

                --->  false의 경우 form 전송 X

 

 

 

현재 이방식은 간단한 방식이며 보통  "정규 표현식" 을 사용하여 태그를 점검및 관리 한다. 

>> 아래는 JAVA의 정규 표현식이고, JAVASCRIPT의 정규 표현식 또한 비슷하다.

 

https://step-by-step-dev.tistory.com/65

 

[Algorithm] 아이디 생성시 규칙에 따른 변경 후 생성 알고리즘

문제의 출처는 프로그래머스 이고, 문제는 회원가입시 아이디를 7단계의 규칙에 맞게 변형시켜주는 알고리즘이다. 1. 내가 짠 코드를 보자면 일단 정규표현식을 사용하지 않아서. 코드가 지저분

step-by-step-dev.tistory.com

 

 

 

 

select() >> 작성 실패했는데 실패의 원인이 되는 요소로 이동하도록 하는 매서드이다.

 

>> 또한 ${msg} 가   웹페이지에서 소스보기하면 공백으로 뜨는

그 이유는 ${} -> JS6 Template literal  -> 브라우저에서 돌아감  ||  EL-> server에서 돌아가고 

 

서버 값 -> 브라우저가 받아서 -> JAVASCRIPT 실행

따라사 ${} 는 EL로 보기 때문에  아무것도 안보이는데  이것을 표현 하려면  ${msg} 를 따옴표로 묵고 다시 ${}로 묵어 줘야한다. ${ '${msg}'} }

 

 

 

>>   <c:url> --> 1. ContextRoot 를 자동 추가     2. Session id 자동추가

>> 소스 보기를 통해 확인하면 /ch2(ContextRoot) 가 자동으로 들어가있는것을 확인할 수 있다.

 

또한 form 태그에서 action 으로 URL 이동을 할때  ContextRoot를적어줘야 하는데 (변경될수 있으므로)

이때 JSTL을 사용하여 쓰는게 좋다. 그러면 ContextRoot를  적어 주지 않다도된다.

 

 

============================================================================================

 

>>사용자의 요청 Get // Post 방식으로 데이터를 Controller로 넘겼을때

데이터의 가공없이 전달받은 데이터를 바로 Browswer로 띄울때는 

 EL 을통해서는 ${Param.name} 을 통해서  접근할 수 있다.

>> jsp 문법으로는  <%= %> 을통해서 접근할 수 있따.

 ex)    <%! 선언부 %>  -> 전역변수, 함수                                   <% 스크립릿 %> -> 코딩, 지역변수

          <%=출력부 %>  ->문자열, 변수값, 함수리턴값 출력        <%-- JSP주석 --%>  

 

 

 

 

 

'dev > Spring' 카테고리의 다른 글

[Spring] GetMapping, PostMapping  (0) 2022.06.09
[Spring] EL, JSTL  (0) 2022.06.04
[Spring] Tomcat port 변경  (0) 2022.06.04
[Spring] ModelAttribute, BindingResult  (0) 2022.06.04
[Spring] RequestParam  (0) 2022.06.03