본문 바로가기
학습/JSP

21. JSP 스크립트 요소 기능

by Elfen Lied 2022. 11. 16.
반응형

- 선언문 사용

hello.jsp 생성

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%!
	// 선언문 : 변수 또는 메소드 선언의 자바코드가 올 수 없음
	// 선언문에 선언된 변수 또는 메소드는 클래스 멤버이다.
	public String name = "듀크"; // 필드 변수
	public String getName() {
		return name;
	}
	class Test {
		
	}
	/* out.print(name); */
%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<% // 스크립트릿 : 모든 자바코드 가능
	out.print("변수값 : " + name + "<br>");
	out.print("getName()호출 : " + getName());
	String test = "스크립트릿 안에 변수선언"; // 로컬 변수
%>

</body>
</html>

 

 

- 스크립트릿 사용

hello2.jsp 생성

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	String name = "이순신";
	String age = request.getParameter("age");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 표현식 -->
	<h1>안녕하세요 <%=name %></h1>
	<h1>나이는 <%=age%></h1>
	<%-- <h1>주석!</h1> --%>
</body>
</html>

표현식을 이용해서 출력

나이는 주소창에 /hello.jsp 뒤에 ?age=20 을 써줬음

주석은 <%-- 내용 --%>  을 쓰면 됨

 

 

 

- 표현식 사용

login.html 생성

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="result.jsp">
		아이디 : <input type="text" name="user_id"><br>
		비밀번호 : <input type="text" name="user_id"><br>
		<button>로그인</button>
	</form>
</body>
</html>

 

 

- result.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>결과출력</h1>
<%
	request.setCharacterEncoding("utf-8");
	String userId = request.getParameter("user_id");
	String userPw = request.getParameter("user_pw");
%>

<% if(userId == null || userId.equals("")) { %>
	아이디를 입력하세요<br>
	<a href="/pro13/login.html">로그인하기</a>
<% } else { %>
	<h1><%=userId %>님 환영합니다.</h1>
<% } %>

</body>
</html>

 

result.jsp 에서 실행하고 로그인하기 누름

 

 

 

- 인클루드 액션 태그

webapp / image / duke.png, duke2.png

 

duke_image.jsp 생성

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("utf-8");
	String imageName = request.getParameter("imageName");
	String name = request.getParameter("name");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>이름은 <%=name %></h1>
	<img src="image/<%= imageName %>">
</body>
</html>

 

 

include1.jsp 생성

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("utf-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>인클루드 액션 태그 : 시작</h1>
	
	<%-- <%@ include file="duke_image.jsp" %> --%>
	
	<jsp:include page="duke_image.jsp" >
		<jsp:param value="duke2.png" name="imageName"/>
		<jsp:param value="듀크" name="name"/>
	</jsp:include>
	
	<h1>인클루드 액션 태그 : 끝</h1>
</body>
</html>

include1 에서 요청하면

 

 

- 로그인 예제

login.jsp 생성

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	request.setCharacterEncoding("utf-8");
	String errMsg = request.getParameter("errMsg");
	String imageName = request.getParameter("imageName");
%>
<% if(errMsg != null ) { %>
	<h3><%=errMsg %></h3>
	<img alt="" src="image/<%=imageName %>">
<% } %>
	<form action="result.jsp">
		아이디 : <input type="text" name="user_id"><br>
		비밀번호 : <input type="password" name="user_pw"><br>
		<button>로그인</button>
	</form>
</body>
</html>

 

 

result.jsp 생성

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	request.setCharacterEncoding("utf-8");
	String userId = request.getParameter("user_id");
%>
<% if(userId == null || userId.trim().equals("")) { %>
	<jsp:forward page="login.jsp">
		<jsp:param value="pika.jpg" name="imageName"/>
		<jsp:param value="아이디를 입력하세요 피카!♥" name="errMsg"/>
	</jsp:forward>
<% } else { %>
	<h1>안녕하세요 <%=userId %></h1>
<% } %>
</body>
</html>

login에서 실행.

공백인 상태로 로그인 버튼 클릭

 

반응형

'학습 > JSP' 카테고리의 다른 글

23. 표현 언어(1)  (0) 2022.11.17
22. useBean, setProperty, getProperty 액션 태그 사용  (0) 2022.11.17
20. 디렉티브 태그  (0) 2022.11.16
18. Filter API  (0) 2022.11.16
17. 여러가지 URL 패턴 적용  (0) 2022.11.16

댓글