자바 서버 페이지, JSP는 HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어이다
-> Servlet은 자바에 HTML 태그를 삽입하는 방식이라면 JSP 는 HTML에 자바 코드를 넣는 방법이다.
형식 <%! 멤버변수와 method작성 %>
<%!
String name;
public void init(){
name = "홍길동";
}
%>
형식 <% java code %>
형식 <%= 문자열 %>
형식 <%-- 주석 할 code --%>
<%@ page attr1 = "val1" attr2 = "val2" ...%>
여러 jsp페이지에서 반복적으로 사용되는 부분을 jsp file로 만든 후 반복 영역에 include 시켜 반복되는 코드를 줄일 수 있다
<%@ include file = "/template/header.jsp" %>
<%@ taglib prefix = "c" url="http://java.sun.com/jsp/jstl/core"%>
<%@page import="java.util.Random"%>
<%@page import="java.util.Calendar"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page info = "JSP directive import 연습중 ... " %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%= getServletInfo() %><br>
<%
Calendar cal=Calendar.getInstance();
int year=cal.get(Calendar.YEAR);
int month=cal.get(Calendar.MONTH)+1;
int day=cal.get(Calendar.DAY_OF_MONTH);
Random rd=new Random();
int per=rd.nextInt(101);
%>
오늘 날짜: <%=year%>년 <%=month%>월 <%=day%>일<br>
오늘 운세: <%=per%>퍼센트
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" errorPage="error.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//b가 0이고 나눌때 에러 발생 but 페이지 서버 오류
//얘를 처리할 error.jsp로 이동하자
int a=5;
int b=0;
%>
<h3>
** a와 b의 사칙연산 **<br><br>
a + b = <%=a+b%><br>
a - b = <%=a-b%><br>
a * b = <%=a*b%><br>
a / b = <%=a/b%><br>
</h3>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isErrorPage="true"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
다음과 같은 에러가 발생했습니다<br>
<%= exception.getMessage() %>
</body>
</html>
![]() | ![]() |
---|
<%@ 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>
<style>
.div1{ position: absolute; top:30px; left:200px; }
.div2{ position: absolute; top:400px; left:300px; }
</style>
</head>
<body>
<!-- include 지시자 중요하다 -->
<%@ include file="top.jsp" %>
<div class="div1"><h3>저의 홈페이지에 온것을 환영합니다 ^.^</h3></div>
<%@ include file="bottom.jsp" %>
<%@ page language="java" contentType="text/html;
charset=UTF-8" pageEncoding="UTF-8"%>
<img src="ugc.jpg" width="150px" height="150px">
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<div class="div2">
<p>Copyright JSP.co.kr 2022</p>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="/lab/example/testProc.jsp" method="post">
1. 당신의 취미는?<br>
<input type="checkbox" name="hobby" value="테니스">tennis
<input type="checkbox" name="hobby" value="수영">swim
<input type="checkbox" name="hobby" value="골프">golf
<input type="checkbox" name="hobby" value="기타">etc <br><br>
2.가고싶은 섬<br>
<input type="radio" name="island" value="울릉도">울릉도
<input type="radio" name="island" value="제주도">제주도
<input type="radio" name="island" value="백령도">백령도
<input type="radio" name="island" value="독도">독도<br><br>
3.좋아하는 과일<br>
<input type="radio" name="fruit" value="사과">사과
<input type="radio" name="fruit" value="딸기">딸기
<input type="radio" name="fruit" value="수박">수박
<input type="radio" name="fruit" value="오렌지">오렌지<br><br>
4.사용가능한 OA는?<br>
<select name="oa" size="3" multiple>
<option value="excel">excel</option>
<option value="access">access</option>
<option value="word">word</option>
<option value="powerpoint">powerpoint</option>
</select><br><br>
<input type="submit" value="전송">
<input type="reset" value="취소">
</form>
</body>
</html>
<%@page import="java.util.Enumeration"%>
<%@ 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[] ho=request.getParameterValues("hobby");
if(ho != null){
%>
<h3>** 당신의 취미 **</h3>
<%
for(int i=0; i<ho.length; i++){
%>
<li><%=ho[i]%></li>
<%
}
}
%>
<h3>** 당신이 좋아하는 것 **</h3>
<%
Enumeration e=request.getParameterNames();
while(e.hasMoreElements()){
String title=(String)e.nextElement();
String[] value=request.getParameterValues(title);
if(title.equals("hobby")) {
continue;
}
for(int i=0; i<value.length; i++){
%>
<li><%=title%>: <%=value[i]%></li>
<%
}
}
%>
</body>
</html>
![]() | ![]() |
---|