4 config context

14
Servlets Contextos de Aplicação Profa. Karen Selbach Borges

Upload: jean-lopes

Post on 14-Dec-2015

214 views

Category:

Documents


0 download

DESCRIPTION

config context servlets

TRANSCRIPT

Page 1: 4 Config Context

ServletsContextos de Aplicação

Profa. Karen Selbach Borges

Page 2: 4 Config Context

ServletConfig

• Serve para armazenar informação relativa à uma servlet específica.

• Através dos parâmetros init é possível obter informações de inicialização de uma servlet. Por exemplo:– Armazenar informações sobre uma conta de

email

Page 3: 4 Config Context

Parâmetros Iniciais do Servlet<servlet> <servlet-name>ComandoServlet</servlet-name> <servlet-class>br.edu.ifrs.poa.control.ComandoServlet</servlet-class> <init-param> <param-name>user</param-name> <param-value>[email protected]</param-value> </init-param> <init-param> <param-name>senha</param-name> <param-value>eu</param-value> </init-param> <init-param> <param-name>host</param-name> <param-value>smtp.gmail.com</param-value> </init-param> <init-param> <param-name>porta</param-name> <param-value>465</param-value> </init-param> </servlet>

Page 4: 4 Config Context

Recuperando informações

public void init(ServletConfig config) throws ServletException {

username = config.getInitParameter("user");

password = config.getInitParameter("senha");

host = config.getInitParameter("host");

porta = config.getInitParameter("porta");

}

Page 5: 4 Config Context

Parâmetros Iniciais do Servlet

• Observações:– Os parâmetros init são lidos apenas uma vez,

quando o container inicializa a servlet.– Parâmetros init não podem ser acessados por

páginas JSP• Como resolver isso ?

Page 6: 4 Config Context

Solução

• Utilizar parâmetros de contexto !

Page 7: 4 Config Context

Contexto

• O que é um contexto ?– Cada contexto é uma unidade de aplicação

web Java (servlet/JSP) que possui suas próprias configurações.

– A partir de uma referência ao contexto atual pode-se compartilhar informações entre servlets.

– Representado pela classe ServletContext

Page 8: 4 Config Context

ServletContext

• Serve para armazenar informação relativa à aplicação como um todo. Em particular, o ServletContext é usado para: – Conter parâmetros de inicialização da aplicação– Armazenar recursos associados à aplicação

(por exemplo, conexão com banco de dados) – Armazenar qualquer atributo da aplicação como

objetos– Fornecer acesso à funcionalidade de logging

Page 9: 4 Config Context

Parâmetros Iniciais do Contexto

• Não podem ser alterados em tempo de execução (read-only)

• Acessado através do objeto ServletContext métodos– getInitParameter()– getInitParameterNames()

Page 10: 4 Config Context

Parâmetros Iniciais do Contexto

• Definidos no web.xml– Context parameters: informação disponível para

toda a aplicação <context-param>

<param-name>user</param-name>

<param-value>usr23</param-value>

</context-param>

<context-param>

<param-name>senha</param-name>

<param-value>usr23</param-value>

</context-param>

<context-param>

<param-name>driver</param-name>

<param-value>oracle.jdbc.OracleDriver</param-value>

</context-param>

<context-param>

<param-name>url</param-name>

<param-value>jdbc:oracle:thin:@192.168.3.7:1521:XE</param-value>

</context-param>

Page 11: 4 Config Context

Recuperando informações

try {

ServletContext context = getServletContext();

String user = (String) context.getInitParameter("user");

String senha = (String) context.getInitParameter("senha");

String driver = (String) context.getInitParameter("driver");

String url = (String) context.getInitParameter("url");

Connection conexao = DBConnection.getInstance(user, senha, driver, url);

} catch (Exception ex) {

throw new ServletException(ex);

}

Page 12: 4 Config Context

ServletContext

• Inserindo um objetoString nome = “Leonardo”;contexto.setAttribute(“nome”, nome);

• Recuperando um ObjetoString nome = (String)contexto.getAttribute(“nome”);

• Removendo um Objetocontexto.removeAttribute(“nome”);

• Obtendo os nomes dos objetos do ContextoEnumeration enum = contexto.getAttributesNames();

Page 13: 4 Config Context

Referências

• http://www.dsc.ufcg.edu.br/~jacques/cursos/daca/html/servlet/html/intro.htm

• SIERRA, K.; BASHAM, B.; Use a Cabeça! Servlets & JSP. Editora. O’Reilly.

Page 14: 4 Config Context