서블릿에서는 init(), service(), doGet(), doPost() 재정의하게되는데 JSP안의 스크립트릿 자바소스는 service() 메소드 안으로 들어가게된다.
하지만 선언부에 작성된 자바소스는 멤버필드로 작성된다.
이 부분에 주의하여 JSP안에 자바소스를 작성하여야한다.
<%= %>안에는 세미콜론을 붙이지 않는다것도 주의.
=================================================================================================================================================
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
jsp는 html에서 java를 사용!!<br/>
<%= "전화번호는 " + tel %>
<%! String tel ="02-111-1111"; %>
<!-- 스크립트릿은 service 메소드 안에 존재하는 것이지만 선언부는 멤버필드로 적용되어 순서가 늦게 적용되어도 에러없이 작동한다. -->
<%!
public int add(int m, int n){ // 스크립트릿은 service메소드안에 존재하므로 스크립트릿에서 메소드 생성하는것은 결국 메소드안에서 메소드를 선언한격이다. 따라서 에러.
return m + n; // 그러므로 메소드는 스크립트릿이 아닌 선언부 안에서 작성해줘야한다.
}
%>
<% out.println(add(10,20)); %>
</body>
</html>
'JSP(Java Server Page)' 카테고리의 다른 글
beans를 사용하여 데이터 주고받기 (0) | 2014.03.21 |
---|---|
Get방식의 길이 제한에 대한 이야기 (0) | 2014.03.20 |
url 경로 (0) | 2014.01.21 |
jsp에서 리소스 관련 경로에 대한 문제 (0) | 2014.01.20 |
이클립스 안에서 ${encoding} 값을 설정하고(바꾸고) 싶을 때 (0) | 2014.01.20 |