Servlet - Чтение параметров окружения

Сервлет может использовать ссылку на переменную программного окружения, значение которой извлекается с помощью метода поиска lookup в объекте InitialContext. Cервлет EnvRefServlet.java извлекает значение переменной окружения для отображения на свое странице.


Листинг сервлета EnvRefServlet.java
 
import java.io.*;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import javax.naming.InitialContext;
import javax.naming.NamingException;
 
public class EnvRefServlet extends HttpServlet implements Serializable
{
  public void doGet (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
  {
   InitialContext ctx;
   resp.setContentType ("text/html;charset=windows-1251");
   PrintWriter out = new PrintWriter (resp.getOutputStream ());
   out.println ( "<html>" +
    "<head>" +
     "<title>Сервлет с ссылкой на переменную окружения</title>" +
    "<body bgcolor=#bbccdd>" +
     "<h3>Переменная программного окружения</h3>"
   );
   try
   {
    ctx = new InitialContext ();
   }catch (NamingException e)
    out.println ("Error on building an initialcontext : " + e);
    return;
   }
   try
   {
    Object obj = ctx.lookup ("java:/comp/env/helloWorldRef");
    out.println ("" + obj);
   }catch (NamingException e)
    out.println ("Lookup of envirement reference failed : " + e);
    return;
   }
   out.println ("</body></html>");
   out.flush ();
   out.close ();
  }
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Код объявления сервлета EnvRefServlet.java в дескрипторе поставки web.xml
 
<servlet>
  <servlet-name>EnvRefServlet</servlet-name>
  <servlet-class>EnvRefServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>EnvRefServlet</servlet-name>
  <url-pattern>/EnvRefServlet</url-pattern>
</servlet-mapping>
 
<env-entry>
  <env-entry-name>helloWorldRef</env-entry-name>
  <env-entry-value>Hello World from env reference</env-entry-value>
  <env-entry-type>java.lang.String</env-entry-type>
</env-entry>


Партнеры:


Rambler's Top100 Рейтинг@Mail.ru