| Autor |
Mensagem |
|
|
Atualmente uso esta solução aqui -> http://patapage.com/applications/pataPage/site/test/testSanitize.jsp
No entanto, olhando por alto a solução que você enviou parece ser mais robusta, pois esta ai de cima tive de alterar muitos Bugs que encontrei.
Já a outra solução do owasp, tive de descartar, pois em alguns casos ao limpar algum texto, a coisa simplesmente travava minha aplicação usando toda memoria RAM
|
 |
|
|
Pelo que vejo não é o C3p0 que está sendo inicializado a cada requisição, e sim toda inicialização do sistema de Persistência do Hibernate.
Meu palpite é que tem algo realmente errado no seu codigo.
Põem o código do Servlet aqui!!!
Facilitaria nossa vida.
|
 |
|
|
Como sabe que o C3p0 está iniciando varias vezes?
Tente descrever o maior numero de detalhes possiveis. As vezes o problema pode estar em algo que vocé nem imagina.
|
 |
|
|
Neste cenário então você teria 03 possibilidades.
1 - Ler diretamente o tamanho do arquivo com a classe File (Se for o caso).
2 - Transformar o InputStream em ByteArrayOutputStream, chamar o metodo toByteArray() e ver seu tamanho.
3 - Ler Byte a Byte e somar.
|
 |
|
|
|
Não há como determinar o tamanho de um InputStream sem ler ele por inteiro antes.
|
 |
|
|
Depois que eu fiz o upgrade do meu Hibernate para a versão 3.6, que utiliza o JPA 2.0 estou enfrentando um problema muito cabeludo.
Não sei pq diabos em várias SELECTS o dito cujo está fazendo LOCK das tabelas, e consequentemente as vezes travando minha aplicação.
Usei o comando no MYSQL "show full processlist" para saber todas as Querys ativas, e veja algumas que me apareceram.
Observe que em "State", temos a informação "Locked".
Para tentar contornar este problema, já fiz coisas como:
- Definir o LockModeType para LockModeType.NONE em todas as operações de "EntityManager.find"
- Definir o LockModeType para LockModeType.NONE na operação que executa exatamente as 03 primeiras queryes em estado Locked.
Mas mesmo assim o problema continua a aparecer.
As querys NÃO ESTÃO entre "EntityTransaction.begin()" e "EntityTransaction.commit()".
Alguem já enfrentou isso?
Como solucionar?
|
 |
|
|
Sim exatamente.
Apenas inverti as linhas.
Como você podem ler na discução acima imaginem que o parametro "texto" tem um tamnho de 10MB.
A leitura desta informação começará quando o primeiro byte deste parãmetro começar a ser enviado pelo navegador do cliente e só acabará quando tudo estiver no lado do servidor (Imagine isso numa conexão discada).
Enquanto isso o arquivo "C:\\Arquivo.txt" fica "esperando" até o envio de dados estar completo.
O que não ocorre no segundo caso.
|
 |
|
|
Olha...
Na verdade você deveria primeiramenta processar o Upload, e depois você grava onde quiser (Disco, BD, RAM, Em Marte... rsrsrsrs)
Utilize este API aqui oh -> http://commons.apache.org/fileupload/using.html
O Arquivo que você está Upando é um InputStream, não importa onde você queira guardar.
|
 |
|
|
Acho que na verdade você deve colocar a coisa dentro da pasta "webapps".
É ali que sua aplicação deve estar para rodar.
Geralmente um arquivo ".war"
|
 |
|
|
schranko wrote:Com relacao a conexao com a base de dados, lembre-se que de qualquer forma nao eh interessante voce obte-la
no contexto de um Servlet, seja localmente ou como variavel de instancia.
Na verdade só citei isso pq foi a primeira coisa que veio na cabeça. Uso Pool de Conexão, JPA, etc...
Mas acho interessante este detalhe da leitura dos dados pois um código assim:
É menos eficiente que este:
|
 |
|
|
Estive pesquisando pela net e não achei quase nada falando sobre isto, mas minha duvida é relativamente simples.
Imagine que enviei um formulário via POST com apenas dois campos.
Titulo -> Um String de poucos Bytes
Conteudo -> Um String enorme, com talvez 2MB.
Minha duvida é quanto será a chamada do metodo doPost do Servlet.
A) Este método só é chamado quando o envio de tudo estiver em 100% com o Stream completinho no servidor?
B) Assim que a requisição "toca" o servlet, o método doPost já é chamado, mesmo com os dados parcialmente enviados, cabendo a este método ler o Stream de dados.
Pelo que trabalhei com Upload de arquivos, a resposta lógica seria a B.
Tal pergunta é extremamente pertinente, pois através desta resposta saberei onde melhor colocar uma abertura de conexão com o banco de dados por exemplo (Antes ou depois de ler todos os dados).
|
 |
|
|
De vez em quando acho estes topicos mortos e acabo rescucitando.... rsrsrsrsr
Esta trigger ai vai se repetir a cada 59 minutos Ciclicamente.
|
 |
|
|
Opa
O topico é antigo, mas acho que ainda vale responder pois acho que ficou no vazio.
Use esta biblioteca aqui -> http://code.google.com/p/google-gson/
|
 |
|
|
Eu tenho uma aplicação que usa JPA e Hibernate com 06 bases de dados diferentes.
Para isso eu gero o EntityManagerFactory via código
|
 |
|
|
Atualizei a versão do Meu Hibernate Search para a 3.1.1.GA
Não sei o que acontece, mas ele parou de indexar meus arquivos e quando olho no diretório onde ele gravaria os arquivos de indexação não tem nada lá. No entanto basta eu voltar para a versão enterior do API que fica tudo normal.
Veja ai alguns dos meus códigos
Classe anotada:
Código onde faço indexação manual
properties configuradas:
Como dito, isso ai em cima funciona 100% na versão mais antiga do Hibernate Search, na mais nova não.
O que será que acontece?
|
 |
|
|
|
|