반응형
- 선언문 사용
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 |
댓글