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.
Parte 2: 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 '
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 '
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.