Learn/KH정보교육원

[KH정보교육원 당산] 31일차 (JSP실습)

Dahoon06 2021. 4. 21. 10:52
728x90
반응형

어제 풀었던 문제)

 

 

 

 

 

 

이렇게 만들기 였는데

 

 

 

04_testLogin.jsp

 

 

04_main.jsp 에서는 넘어오는 값들을 비교만 할 것이기 때문에 

html의 태그들이 필요하지않다.

그렇기에 다 지우고 자바 코드만 사용

 

 

기본값을 선언해놓고 비교

 

response.sendRedirect("04_main.jsp?name="+name);

?  : 대상 파일과 파라미터를 구분하는 기호

?name => 파라미터 명

+name => 선언했던 변수

 

** 2가지 이상의 값을 넘길때

response.sendRedirect("04_loginResult.jsp?code=fail");

?code=fail&~~~~&~~~~

& 기호를 사용하여 계속 이어붙인다.

 

 

 

 

 

?name="+name 으로 값을 보냈는데 출력화면에 한글이 깨져서 나왔다.

 

이를 해결해보자

 

 

 

수정된 04.testLogin.jsp

 

 

response.sendRedirect("04_main.jsp?name="+name);  이 코드가 문제

 

get방식으로 보내주면 전부 utf-8로 설정해놨기 때문에 설정 자체에는 문제가 없다.

하지만 저 태그는 <head>태그로 구분되어져서 post방식으로 보내지게된다.

post방식은 한글이 무조건 깨져서 나온다.

 

request.setCharacterEncoding("UTF-8"); // form 태그 안에 method방식을 post로 설정시 반드시 인코딩 설정

요청 받을 때의 인코딩 설정.

** 값을 얻기 전에 선언해줘야한다!!

 

네트워크 상에서 인코딩을 해야 하기 때문에 <%@ page import="java.net.URLEncoder" %> 를 가져와야한다.

 

URLEncoder가 가지고있는 encode 메소드를 사용하여 인코딩

 

 

 

최종 출력

 

한글 정상 출력

 

 


JSP 이동

 

[JSP] 화면 이동 Dispatcher방식과 Redirect 방식

1. Dispatcher방식 -> forward() forward()[전달하기]는 클라이언트가 요청하면서 전송한 데이터를 그대로 유지한다. RequestDispatcher dispatcher = request.getRequestDispatcher("dispatcher.jsp"); request.s..

june-17.tistory.com

 

 

application 관련 주요 메소드

 

[JSP] application의 주요 메소드

웹 어플리케이션의 컨텍스트 경로명 : <%= application.getContextPath() %> 웹 어플리케이션의 파일 경로명 : <%= application.getRealPath("06_application.jsp") %> 웹 서버(컨테이너)의 이름과 버전 : <%= app..

june-17.tistory.com

 

 

JSP파일에서 다른 JSP파일로 값을 전달할 수 있는 방법

 

[JSP] 값 전달

pageContext pageContext.setAttribute("name", "pageContext data"); // 키와 값 pageContext가 가지고 있는 setAttribute로 값을 설정 현재의 페이지값만 가질 수 있다. (외부로 전달 불가능) request request.s..

june-17.tistory.com

 

 


 

 

728x90
반응형