JSP&Servelet

servlet parameter (서블릿 파라미터)

브루노W 2022. 4. 2. 13:51
init-param

 

1. 적용 범위 및 목적

특정 servlet 내에서만 사용 가능 값을 사전에 선언하고 사용하고자 할 경우

 

2. 선언 위치 (web.xml 내)

<servlet>
	<servlet-name>testServlet</servlet-name>
	<jsp-file>/test.jsp</jsp-file>
	<init-param>
		<param-name>id</param-name>
		<param-value>admin</param-value>
	</init-param>
	<init-param>
		<param-name>password</param-name>
		<param-value>123456</param-value>
	</init-param>
</servlet>
<servlet-mapping>
	<servlet-name>testServlet</servlet-name>
	<url-pattern>/test.jsp</url-pattern>
</servlet-mapping>

 

2. 예시 소스

<%@ 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>
	<%!
		// 파라미터를 저장할 변수 선언
		String id;
		String password;
	%>
	
	<%
		// servlet parameter 로 초기화
		id = config.getInitParameter("id");
		//id = getServletConfig().getInitParameter("id"); // parameter를 가져오는 다른 방법
		password = config.getInitParameter("password");
		//password = getServletConfig().getInitParameter("password");  // parameter를 가져오는 다른 방법
	%>
	
	<!-- 화면 출력 -->
	id : <%=id %> <br />
	password : <%=password %> <br />
</body>
</html>

 

3. 실행 결과

 

 

context-param

 

1. 적용 범위 및 목적

application  내에서 사용 가능한 값을 사전에 선언하고 사용하고자 할 경우

 

2. 선언 위치 (web.xml 내)

<context-param>
	<param-name>uploadDir</param-name>
	<param-value>/upload/file</param-value>
</context-param>
<context-param>
	<param-name>serverIP</param-name>
	<param-value>127.0.0.1</param-value>
</context-param>

 

2. 예시 소스

<%@ 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>
	<%!
		// 파라미터를 저장할 변수 선언
		String uploadDir;
		String serverIP;
	%>
	
	<%
		uploadDir = application.getInitParameter("uploadDir");
		//uploadDir = getServletContext().getInitParameter("uploadDir");
	
		serverIP = application.getInitParameter("serverIP");
		//serverIP = getServletContext().getInitParameter("serverIP");
	%>
	
	<!-- 화면 출력 -->
	uploadDir : <%=uploadDir %> <br />
	serverIP : <%=serverIP %> <br />
</body>
</html>

 

3. 실행 결과

 

 

그 외 방법

application 객체의 setAttribute 메서드, getAttribute 메소드를 사용하는 방법

 

// 저장 
application.setAttribute("key","keyValue");

// 사용
String key = (String) application.getAttribute(key);