[TIL]211113

동호·2021년 11월 12일
0

JSP 전용 태그

지시자(Directives)

<% 지시자 속성="값" 속성="값" ... %>

page

page 지시자는 jsp 페이지와 관련된 속성을 정의할 때 사용하는 태그

  • language: 사용할 프로그래밍 언어 지정
  • contentType: text/html이면 출력할 데이터가 html이라는 의미, charset=UTF-8이면 출력할 데이터를 UTF-8로 인코딩
  • pageEncoding: 출력할 데이터의 문자 집합을 지정

스크립트릿(Scriptlet Elements)

<% 자바 코드 %>
JSP에 자바 코드를 작성할 때 스크립트릿 태그 <% %> 안에 작성한다.


request.setCharacterEncoding("UTF-8");

jsp이나 html에서 폼 태그에서 입력한 값을 전송한다고 가정하면
폼 태그에서 입력한 값을 전송할 때 get이나 post방식으로 값을 전송한다.

  • post방식으로 보내는 값이 '한글'일 경우 깨지지 않게 전달하기 위해 request.setCharacterEncoding("UTF-8");을 사용
  • get방식으로 보내진 한글은 톰캣에서 기본적으로 UTF-8 문자코드가 적용되어 있어서 자동으로 한글처리

get, post 방식을 모두 사용하니 request.setCharacterEncoding("UTF-8");은 필요


서버실행: localhost:포트번호/프로젝트명/index.jsp

<script>
	location.href='login.jsp'; //로그인 페이지로 이동
</script>

login.jsp

아이디, 비밀번호 입력 폼

loginAction.jsp

  • 생성자를 이용한 객체 생성
User user = new User();
  • 액션태그로 자바빈 객체 생성
<jsp:useBean id="user" class="user.User" scope="page" />

id: 생성된 자바빈 객체을 구분할 수 있는 식별자 지정
class: 생성할 클래스 명
scope: 자바빈 객체의 사용범위

<jsp:setProperty name="user" property="userID" />

name: <jsp:useBean>에서 자바빈 객체 생성할 때 사용했던 id값
property: 속성하려는 멤버변수명을 입력, 내부적으로 set + 첫글자를 대문자로 바꾼 setter 메서드를 실행 -> setUserID() 메소드 호출

저장할 property와 가져올 param이 같다면 property만 작성
param: 넘어오는 객체의 parameter 이름

profile
안녕하세요!

1개의 댓글

comment-user-thumbnail
2021년 12월 3일

잘 보고 있습니다
자주 좀 올려주세요

답글 달기