Utilizando as bibliotecas do Java usando o Jython

Neste tutorial iremos aprender como implementar um HttpServlets utilizando o Jython (Python) dentro de um container do Tomcat. Também aprenderemos como utilizar as bibliotecas nativas do Java dentro do Jython, trabalhando seus atributos, utilizando exemplos explicativos.

[ Hits: 43.628 ]

Por: Fabio Rizzo Matos em 19/11/2004 | Blog: http://www.vindula.com.br


Uso de java.lang.String



No Jython é possível nos trabalharmos com classes nativas do Java. Podemos utilizar as class das mais variadas formas. Vou mostrar alguns exemplos de uso de algumas class.


Neste exemplo, vamos aprender como utilizarmos a class String do package java.lang. Para maiores detalhes/propriedades de uso desta classe, acesse:
Vamos Iniciar o uso do Jython. Digite "jython" em sua console (prompt no Windows). Você deverá ver algo semelhante ao abaixo:

Jython 2.1 on java1.5.0 (JIT: null)
Type "copyright", "credits" or "license" for more information.
>>>

A mensagem acima indica que estamos dentro do Jython Interativo, onde podemos digitar os comandos do Jython e ter a sua execução em tempo real. Vamos importar o package java.lang e a classe String, dando a eles o alias de jls (um acrônimo de java.lang.String):

>>> import java.lang.String as jls

Agora vamos definir uma variável texto que irá conter uma string utilizando o java.lang.String:

>>> texto = jls("Bem Vindo ao Jython Usando Uma Biblioteca Java")

Vamos utilizar a função da class String toUpperCase(), que converte a String para caixa alta:

>>> texto = texto.toUpperCase()

Veja que temos a variável texto e vamos armazenar dentro dela o seu valor mais a utilização da função sobre ela .toUpperCase(). Agora vamos imprimir o conteúdo da variável texto:

>>> print texto
BEM VINDO AO JYTHON USANDO UMA BIBLIOTECA JAVA

Usando o comando print, temos visualizado na tela o conteúdo da variável texto. Este é apenas um dos exemplos que podemos fazer utilizando as class do Java dentro do Jython, trabalhando a linguagem Python.

Podemos visualizar todas as funções que determinada class do Java tem utilizando o comando dir(pacoteimportado). Veja exemplo abaixo:

>>> dir (jls)
['CASE_INSENSITIVE_ORDER', '__init__', 'bytes', 'codePointAt', 'codePointBefore', 'codePointCount', 'compareTo', 'compareToIgnoreCase', 'concat', 'contains', 'contentEquals', 'copyValueOf', 'endsWith', 'equalsIgnoreCase', 'format', 'getBytes', 'getChars', 'indexOf', 'intern', 'lastIndexOf', 'matches', 'offsetByCodePoints', 'regionMatches', 'replace', 'replaceAll', 'replaceFirst', 'split', 'startsWith', 'substring', 'toCharArray', 'toLowerCase', 'toUpperCase', 'trim', 'valueOf']

Nesse caso, nós vimos o conteúdo do package jls que importamos no inicio do exemplo e pudemos ver todas as funções que podem ser usadas em conjunto com o Jython. Outro exemplo é o da função .split() da class String:

>>> texto.split()
['BEM', 'VINDO', 'AO', 'JYTHON', 'USANDO', 'UMA', 'BIBLIOTECA', 'JAVA']

Esta função retorna para nós uma lista de valores extraídos de uma String. E outro exemplo que podemos citar é o uso da função .substring(x,y). Veja exemplo:

>>> texto2 = jls("Utilizando a Biblioteca String do Java Lang")
>>> texto2.substring(2,3)
'i'
>>> texto2.substring(2)
'ilizando a Biblioteca String do Java Lang'
>>> texto2.substring(1)
'tilizando a Biblioteca String do Java Lang'
>>> texto2.substring(0)
'Utilizando a Biblioteca String do Java Lang'
>>> texto2.substring(0,11)
'Utilizando '

Exemplo completo de uso de java.lang.String:

>>> import java.lang.String as jls
>>> texto = jls("Bem Vindo ao Jython Usando Uma Biblioteca Java")
>>> texto = texto.toUpperCase()
>>> print texto
BEM VINDO AO JYTHON USANDO UMA BIBLIOTECA JAVA
>>>
>>> dir (jls)
['CASE_INSENSITIVE_ORDER', '__init__', 'bytes', 'codePointAt', 'codePointBefore', 'codePointCount', 'compareTo', 'compareToIgnoreCase', 'concat', 'contains', 'contentEquals', 'copyValueOf', 'endsWith', 'equalsIgnoreCase', 'format', 'getBytes', 'getChars', 'indexOf', 'intern', 'lastIndexOf', 'matches', 'offsetByCodePoints', 'regionMatches', 'replace', 'replaceAll', 'replaceFirst', 'split', 'startsWith', 'substring', 'toCharArray', 'toLowerCase', 'toUpperCase', 'trim', 'valueOf']
>>> texto.split()
['BEM', 'VINDO', 'AO', 'JYTHON', 'USANDO', 'UMA', 'BIBLIOTECA', 'JAVA']
>>> texto2 = jls("Utilizando a Biblioteca String do Java Lang")
>>> texto2.substring(2,3)
'i'
>>> texto2.substring(2)
'ilizando a Biblioteca String do Java Lang'
>>> texto2.substring(1)
'tilizando a Biblioteca String do Java Lang'
>>> texto2.substring(0)
'Utilizando a Biblioteca String do Java Lang'
>>> texto2.substring(0,11)
'Utilizando '

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Uso de java.lang.String
   3. Uso de javax.swing
   4. Uso do javax.servlet.http
   5. Conclusão
   6. Apêndice A1 - Instalando o Jython
   7. Apêndice A2 - Instalando o Tomcat
Outros artigos deste autor

Gerenciando registros em banco de dados com Zope

ZPT - Zope Pages Templates

Instalando um servidor Zope/Plone

Introdução ao Python (parte 1)

Customizando o layout do plone

Leitura recomendada

Python - Brincando com arquivos

FreeBSD + Zope/Plone, uma idéia frustrante?

Aprenda Python - Guia "rápido"

Instalando o MySQL no Zope/Plone e criando uma pequena aplicação

CMS Plone 4.1.6 com invólucro Virtualenv + Buildout + Mount Point + BLOB Storage + Unicode UTF-8

  
Comentários
[1] Comentário enviado por leandro_hamid em 07/11/2007 - 11:53h

De ante mão quero agradecer e parabenizar por este artigo e por todos os outros artigos que tive a oportunidade de ler já que estou me iniciando na tecnologia Python e afins.

Mas, eu queria dizer que ao rodar script/exemplo soma.py foi exibido os seguintes erros:

Execução no Shell:

File "C:\jython2.2.1\Curso\soma.py", line 2
SyntaxError: Non-ASCII character '\xfa' in file C:\jython2.2.1\Curso\soma.py on
line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html f
or details

Execução via IDLE:


Traceback (most recent call last):
File "C:\jython2.2.1\Curso\soma.py", line 1, in <module>
import javax.swing as libswing
ImportError: No module named javax.swing

Execução via DOS:

File "C:\jython2.2.1\Curso\soma.py", line 2
SyntaxError: Non-ASCII character '\xfa' in file C:\jython2.2.1\Curso\soma.py on
line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html f
or details

Gostaria de saber o que pode ter acontecido, seria algo relacionado à configuração do Jython?Aguardo retorno.

PS: O jsdk e o jython estão devidamente instalados e rodando perfeiramente.

[2] Comentário enviado por leandro_hamid em 07/11/2007 - 14:04h

Boa tarde.

Para fechar esta questão de erros ao executar todo o código através do console o que eu notei é de alguam maneira o módulo não esta sendo importado, ou seka, erro an importação do módulo.

Isso ficou evidente a partir da execução do seguinte código:

>>> import java.lang.String as jls
>>> texto = jls("Bem Vindo ao Jython Usando Uma Biblioteca Java")
>>> texto = texto.toUpperCase()
>>> print texto

ao char o código no console (Dos e Shell) é exibido o seguinte erro:


C:\jython2.2.1\Curso>boasvindas.py
Traceback (most recent call last):
File "C:\jython2.2.1\Curso\boasvindas.py", line 1, in <module>
import java.lang.String as jls
ImportError: No module named java.lang.String

O que devo fazer para resolver este problema?

[3] Comentário enviado por leandro_hamid em 05/12/2007 - 11:11h

Poxa já tem um mês que postei as minhas dúvidas e nínguém respondeu, isso é que é querer ajudar hein!!!???


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts