Pergunta

No momento, tenho lote de Java que faz todo tipo de coisa bacana e estou feliz com ele. O código é linha de comando impulsionada que têm sido muito bem até agora, mas eu decidi recentemente eu quero fazer a funcionalidade disponível através de web-services. Desde a minha é complexo e eu estou feliz com a maneira como está escrito, eu não quero passar pela dor de portá-la para outras línguas. Então eu partiu em uma viagem google para descobrir o que existe servidores web (em uma máquina Linux, mas é interessante ouvir a resposta, sem essa limitação).

Do que eu poderia encontrar, parece que existem duas opções viáveis: Apache Tomcat e Sun Java Servidor .

O que são a razão para escolher um sobre o outro? que são a força de cada um e quais são os pontos fracos? Ou, talvez, há um terceiro que é muito mais fácil, flexível e menos oneroso.

Qualquer um?

Foi útil?

Solução

fácil, flexível e não complicada, que seria Jetty , mas também Simpleweb pode ser útil. Você não diz muito sobre o seu software assim que eu realmente não estou certo, mas para um programa de linha de comando, eu não acho que você precisa de todo o material JavaEE.
Os servidores principais estão estes .
Eu acho que o Apache Tomcat vs Glassfish (Sun Java Server) discussão é irrelevante para as suas necessidades, qualquer que fazer.

Outras dicas

muitos recipientes para aplicações web em Java , todos eles têm os seus próprios pontos fortes e fracos . Se você está procurando um recipiente para suportar um aplicativo de negócios, você provavelmente deve dar uma olhada em como eles diferem e trabalho fora que se adapte seus drivers de negócios e de TI.

A principal coisa é que eles todo o apoio a especificação servlet - seus webapps pode ser executado em qualquer um deles - o que significa que você pode mudar de idéia facilmente. Alguns deles também vai apoiar mais das especificações Java Enterprise Edition, então pode ser demasiado pesado para as suas necessidades.

Se você está apenas começando, eu sugiro Tomcat. É básico, mas é confiável, rápido para executar e start-up, e ele tem uma interface implantação webapp baseado na web realmente fácil.

A sua pergunta é, na verdade, um pouco demasiado ambígua e largura. Você pode, de fato, o código Java executado em qualquer máquina que você gosta, independentemente do idioma que você programou a interface baseada na web. Você pode, por exemplo, criar um site baseado em PHP que interage com um "back-end" aplicação Java ( a "aplicação de linha de comando", como lhe chamam). O único requisito é ter um JRE na máquina do servidor. Então, basicamente, tudo como sufixos de interface web: CGI, PHP, ASP, Python, etc., o nome dele. Enquanto ele tem acesso ao tempo de execução de comando subjacente, que é no exemplo PHP de ser feito por exec().

Mas Java, na verdade, Java EE, também fornece uma interface de programação de aplicações web: JSP / Servlet API , o componente web do grande Java EE API . Esta integração faz com a "aplicação Java de linha de comando" muito mais transparente. Basicamente você pode apenas colocar o seu pedido no classpath e importação / acesso / usá-lo em uma classe Servlet o modo real Java:

YourApplication app = new YourApplication();
Result result = app.doStuff();
// ...

Para ser capaz de executar JSP / Servlet (JSP é no final, na verdade também um Servlet), você precisa de um concreto implementação da API Servlet (todo o Java EE é apenas uma especificação abstrata). Apache Tomcat é bom para começar, o outro ser alternativa popular Eclipse Jetty . Essas são 'simples' servletcontainers que implementa o Servlet API, com Jetty ser uma abordagem mais integrada do que (você pode configurar e executá-lo como um "plain vanilla" Java Application). Mas se você precisa de suporte / cobrir os outros aspectos da API Java EE, bem como, em seguida, você precisa de um servidor de aplicação, tais como Sun Glassfish ou JBoss aS (tanto pelo que o caminho usa Tomcat como o servletcontainer parte).

Para saber mais sobre JSP / Servlet, eu posso recomendar a Coreservlets.com tutoriais .

Apache Tomcat deve fazer o bem.

O conceito padrão para a execução de código dentro de um servidor web é o "Servlet API" a partir do Sol.

Essencialmente ele fornece algumas interfaces que o servidor Web usa para invocar o seu código e define como o servidor web devem se comportar. Isso permite que você escrever código muito genérico que pode ser executado em uma variedade de recipientes web que implementam a API Servlet. Consulte o artigo da Wikipedia para detalhes - http://en.wikipedia.org/wiki/Java_Servlet .

Eles vêm em todos os tamanhos também, dependendo de suas necessidades. Alguns pequenos o suficiente para incorporar em seu próprio aplicativo, alguns muito grande. A API servlet permite que você não se importar.

Para um iniciante, a maneira mais rápida de se levantar e correr, é para baixar a versão completa do Netbeans que inclui suporte completo para fazer este tipo de trabalho, e foi construído em um servlet container.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top