쌍용교육센터에서 공부한 내용을 정리하며 기록하는 글이고 주관적인 생각이 들어갈 수 있습니다.
잘못된 내용이나 피드백 및 생각 공유는 언제든 환영입니다.
댓글로 남겨주시면 확인 후 수정하겠습니다.
내용에 대한 소스 코드는 https://github.com/2jaehoon/sangyoungjsp에 올려두었습니다.
접속자 정보얻기
- request 내장객체(HttpServletRequest) 사용
- web에 존재하는 자원을 요청할 때 URL을 사용
http://localhost:80/jsp_prj/day0331/test.jsp?name=윤상준&age=20
<!--
URL : http://localhost:80/jsp_prj/day0331/test.jsp
Protocol : http
domain, Server명(server.xml에서 설정) : localhost
URI : jsp_prj/day0331/test.jsp
URL에 QueryString을 붙이는 문자 : ?
QueryString : name=윤상준&age=20
Web parameter : name=윤상준, age=20
Web parameter를 연결할 때 사용하는 문자 : &
-->
- 요청 방식 : request.getMethod() // get, post
- 접속자 ip address : request.getRemoteAddr();
- 접속자 port : request.getRemotePort();
- 요청 URL : request.getRequestURL(); // http://localhost:80/jsp_prj/day0927/test.jsp
- 요청 프로토콜 : request.getProtocol(); // http
- 요청 서버 주소 : request.getServerName(); // localhost (서버 ip, domain)
- 서버 포트 : request.getServerPort(); // 80
- 요청 URI : request.getRequestURI();// jsp_prj/day0927/test.jsp
- 요청 서블릿 경로 : request.getServletPath(); // day0927/test.jsp
- QueryString : request.getQueryString(); // 이름=값&이름=값&이름=값,,,
- parameter : request.getParameter("이름"); // 값
- parameter values : request.getParameterValues("이름"); // [값,값,,, ]
Web Parameter 받기
- GET 방식 : 주소창 (HTTP프로토콜 헤더)
- POST방식 : HTTP프로토콜 body 값
- HTML Form Control의 값 받기
- HTML Form Control에 name 속성의 값이 유일하면 request.getParameter()를 사용하고,
name 속성의 값이 중복되면 requeset.getParameterValues() 를 사용한다.
- name 속성이 같은데 getParameter를 사용하면 가장 처음 값 하나만 입력된다.
- 파일 전송이 아닌 파라메터 전송방식( enctype=“application/x-www-form-urlencoded” 방식)
enctype=“multipart/form-data”
1. 웹사이트 요청(http://localhost/jsp_prj/day0331/a.jsp)
2. 사용자에게 입력 값을 받기위한 jsp 응답(a.jsp)
3. 입력된 값을 받게 될 Back-end page를 설정
<form action="b.jsp">
<input type="text" name="id"/>
<input type="password" name="pass"/>
<input type="submit" value="전송"/>
</form>
4. 전송(submit)
5. 내장 객체를 사용하여 Web parameter 받는다.
web parameter명이 유일
String 변수=request.getParameter("파라메터명");
String id=request.getParameter("id");
6. 사용자에게 보여줄 코드 작성
POST방식에서 한글 처리
- GET방식인 경우 decoding된 글자가 저장되고(한글 안 깨짐)
POST방식인 경우 decoding되지 않은 글자가 저장(한글 깨짐)
- 주의 : 가급적이면 요청 내장 객체(request)가 사용되기 전에 수행한다.
request.setCharacterEncoding("charset");
'성장 일기 > 쌍용교육센터' 카테고리의 다른 글
0404/forward, session (0) | 2023.04.04 |
---|---|
0403/JSP 페이지 이동 (0) | 2023.04.04 |
0330/지시자, 내장 객체 (0) | 2023.03.30 |
0329/JSP (0) | 2023.03.30 |
0328/Servlet (0) | 2023.03.28 |