JSP
De TeHospedia
JavaServer Pages (JSP) é uma tecnologia utilizada no desenvolvimento de aplicações para Web, similar à tecnologia Active Server Pages (ASP) da Microsoft. Por ser baseada na linguagem de programação Java ela tem a vantagem da portabilidade de plataforma.
Uma página criada com a tecnologia JSP, após instalada em um servidor de aplicação compatível com a tecnologia Java EE, é transformada em um Servlet.
Na TeHospedo o servidor compatível com a tecnologia JSP é o Tomcat.
Conteúdo |
[editar] Disponibilidade Tomcat Privado vs Compartilhado
Oferecemos uma instância privada do Tomcat ou compartilhado. O compartilhado é incluso nos planos.
[editar] Tomcat compartilhado
Oferecemos Tomcat compartilhado versão 5.5.x e 6.0.x com Java 6, sendo que existem dois ambientes:
- ambiente de testes
- reiniciado a cada 30 minutos para recarregar todas as aplicações, reler os web.xml. Clientes novos serão colocados nesta instância por padrão e movidos para a instância de produção após 30 dias ou quando solicitado.
- ambiente de produção
- reiniciado semanalmente as segundas-feiras às 6:10 horas da madrugada.
[editar] Tomcat privativo
O Tomcat privativo é oferecido com qualquer Tomcat, verifique na documentação do Tomcat as diferenças entre as versões:
- Tomcat 6.0.x
- Tomcat 5.5.x - J2SE 5.0 +
- Tomcat 4.1.x
Também é possível escolher qualquer versão do Java, porém recomendamos a última:
- Java 6
- Java 5
- Java 4
[editar] Vantagens do ambiente privativo perante o compartilhado
- total controle sobre o Tomcat através do Manager do Tomcat
- reiniciar aplicações
- unpack de war
- visualizar estatísticas em tempo real
- acessar logs do Tomcat
- versão do Tomcat de acordo com sua necessidade
- versão do Java de acordo com sua necessidade
- tomcat roda com usuário do ftp/ssh e por isso isola processo ao nivel do usuario do cliente. Isso significa que leitura/gravacao/execução de arquivos é feito com as permissões deste usuário
- memoria exclusiva para ao servidor Tomcat, o que garante que outros usuários não irão afetar a disponibilidade de memória no Tomcat. Embora isso seja monitorado no ambiente compartilhado, não há como impedir outro usuário proativamente.
- permite rodar contextos com permissão privilegiada privileged=true, necessário para rodar alguns frameworks
- permite rodar quantos contextos a quantidade de memória RAM contratada permitir
[editar] Quando optar pelo Tomcat privativo
- sempre que seu projeto possuir orçamento disponível, solicite um Tomcat dedicado, pois tecnicamente as vantagens do ambiente privativo justificam o custo maior.
- se precisar do privileged=true
- se precisar controlar totalmente seu Tomcat
- se precisar acesso continuo aos logs (no ambiente compartilhado, nossos técnicos podem separar os logs do Tomcat manualmente)
[editar] Ativando o serviço
A ativação deve ser solicitada pelo suporte.
[editar] Recomendações
- reserve alguns dias para publicar seu site, não alterando o DNS de seu servidor antigo para a TeHospedo imediatamente. Solicite ao nosso suporte um endereço (URL) alternativo para deixar sua aplicação funcional.
- ao solicitar suporte, envie seu projeto com o código-fonte Java ainda não compilado em .jar .class para seu FTP, indicando o nome do arquivo que contém o código-fonte. Preferencialmente envie todo seu projeto em formato .zip, se desenvolveu o projeto no Netbeans ou no Eclipse, o ideal é enviar um zip do projeto inteiro.
- use o java.util.Properties: não deixe senha, usuário, hostname e nome do banco de dados, ou seja, as informações de acesso ao banco de dados dentro de arquivos compilados. Se qualquer configuração do servidor mudar e seja necessário alterar essas informações, os próprios técnicos da TeHospedo poderão fazer a alteração. O arquivo com senhas podem ficar dentro da pasta WEB-INF de sua aplicação. É útil também para verificar se a senha do usuário de banco de dados está correta.
- utilize sempre em seu ambiente de desenvolvimento a mesma versão do Tomcat e Java utilizada em nossos servidores.
- se possuir orçamento, solicite um Tomcat dedicado para nosso comercial, pois você poderá escolher a versão do Tomcat e acesso aos logs do servidor. Poderá também reiniciar o Tomcat quando precisar recompilar seu código e reler o web.xml. Também não será afetado pelo reinício do Tomcat a cada 4 horas. Outra vantagem é que suas aplicações terão uma quantidade de memória disponível exclusivamente a elas.
[editar] Usando o serviço
Dentro do HOME/public_html você deve criar pastas para colocar sua aplicação. Durante a instalação, deixamos um exemplo, a pasta aplicacao_exemplo:
/home/usuario
/public_html
/aplicacao_exemplo
index.jsp
/WEB-INF
/classes/
/lib
/web.xml
Você pode criar novas aplicações dentro de seu public_html, bastando criar uma pasta e reproduzir a estrutura acima.
Se você tiver uma aplicação empacotada em um arquivo .war, você pode colocá-la diretamente dentro da pasta public_html.
Se preferir, você pode enviar o arquivo .war descompactado.
Atenção: a pasta public_html não pode ter uma aplicação diretamente (a não ser em formato .war) pois vai contra as especificações que o Tomcat segue. Poderá ocorrer erro, entre outros, no uso de Beans.
[editar] web.xml
O web.xml ou Deployment Descriptor é o arquivo que o Tomcat (não o Apache) lê somente na sua inicialização para configurar a aplicação do contexto.
No web.xml não pode haver referências a classes que não existem fisicamente, senão o Tomcat acusa erro 404 sem informar o motivo.
[editar] pasta classes
Classes do java, arquivos .class já compilados - necessariamente em versão do Java compatível ao utilizado no servidor.
O código-fonte (arquivos .java) não é necessário de ser enviado ao servidor, mas nosso suporte pode solicitar para poder ajudar na correção de erros.
Esta pasta adminite subdiretorios para organização das classes.
[editar] pasta libs
Bibliotecas (arquivos .jar). Esta pasta não admite subdiretórios .
[editar] arquivos .war
Por questões de permissões, o unpackWARs=false, ou seja, o Tomcat não irá tentar descompactar o arquivo war. Por isso, coloque seu war na pasta public_html e, por SSH, utilize o comando unzip para descompactar o WAR. Ou, claro, envie por FTP.
[editar] descompactando um arquivo WAR
Após enviar seu arquivo .war pelo seu FTP, digamos para public_html/teste.war, digite os comandos pelo SSH:
mkdir teste mv teste.war teste.zip cd teste unzip ../teste.zip ls
Deve aparecer apenas um diretório chamado teste. Agora precisamos mover os arquivos da pasta para a própria pasta /teste
mv teste/* . rmdir teste
[editar] appBase
A appBase por padrão é instalada no public_html/, porém, podemos modificar essa configuração.
[editar] reloadable
O reloadable é setado true durante os primeiros 30 dias de sua conta, ou seja, se alguma lib ou classe for modificada, o Tomcat irá recarregar.
[editar] aplicações adicionais
Você pode colocar várias aplicações dentro de seu public_html. Solicite ao nosso suporte uma cotação para aplicações adicionais em subdomínios.
[editar] META-INF/context.xml
O context.xml dentro da META-INF dentro do seu appBase por padrão não é lido na inicialização.
Assim, se faz necessário solicitar ao nosso suporte caso queira modificar seu <context>, como, por exemplo, em casos de uso de JDBC.
[editar] conector mysql/pgsql
Os conectores estão pré-carregados no Tomcat. Assim, você não precisa efetuar upload da lib.
[editar] JavaServer Faces
- Tomcat 5.5.x suporta JSF 1.1. JSF 1.2 só é suportada utilizando Facelets no lugar do JSP/Servlets.
- Tomcat 6.0.x suporte JSF 1.2
[editar] Extendendo o Tomcat
[editar] Struts e JSF
Por padrão configuramos o Apache de forma que /*.jsp, /*.do seja passado ao Tomcat. Assim, basta configurar sua aplicação (no WEB-INF, com web.xml, etc) e colocar as libs do struts ou do JSF (até 1.1 no Tomcat 5.5) que estes irão rodar.
Se precisar rodar PHP, sugerimos que crie um subdomínio para este fim. O contrário precisa de intervenção do suporte.
[editar] Grails
O Grails funciona muito bem no ambiente TeHospedo. Atenção especial somente às configurações de banco de dados em "grails-app/conf/DataSource.groovy" e que deve ser enviado ao WEB-INF/lib as libs apropriadas de sua aplicação.
[editar] Reiniciando sua aplicação
Em nosso painel administrativo está sendo disponibilizado uma opção para listar suas aplicações e reiniciá-las, assim, até mesmo o web.xml será relido.
[editar] Servlets
Servlets podem ser usados desde que estejam referidos na URL como /servlet/NOME.
Caso queira que seja acessível a partir de /NOME, além de configurar o web.xml apropriadamente, será necessário que o Apache seja mapeado para repassar direto tudo para o Tomcat processar. Neste caso, outras linguagens de programação como PHP, Ruby e outros CGI não irão mais rodar no mesmo site.
[editar] Conexões a banco de dados
[editar] Sessões
- para aumentar ou reduzir o timeout da sessão, insira/altere em seu web.xml. O valor é em minutos:
<session-config> <session-timeout>10</session-timeout> </session-config>



