Executando comandos do Sistema Operacional em uma aplicação WEB Java



Documentos relacionados
Programação na Web. Servlets Leitura dos Parâmetros e Cabeçahos

Tutorial Jogo da Velha WEB

Introdução. Servlet. Ciclo Vida. Servlet. Exemplos. Prof. Enzo Seraphim

Tutorial. Começando a Criar Aplicativos SMS

Autenticação e Autorização

Programação II Programação para a Web. Christopher Burrows

Prof. Roberto Desenvolvimento Web Avançado

Programação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API

Java Server Pages. Arquitectura de uma aplicação distribuída em Internet. Figura 1 Modelo 2

Java para Desenvolvimento Web

Introdução a Servlets e JSP. Prof. Samuel Martins samuellunamartins at gmail dot com Faculdade São Miguel

Java na WEB Servlet. Sumário

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04

Listando, gravando, alterando e excluindo registro do banco de dados com JSP

INSTALAÇÃO E USO DO GOOGLE APP ENGINE PLUGIN utilizando o Eclipse Galileo

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Java para WEB. Servlets

Gerador de código JSP baseado em projeto de banco de dados MySQL

Curso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)

Faculdades Integradas Santa Cruz. Tutorial de Java MVC WEB Criando uma tela de Login com Banco de Dados

Programação em Rede. Servlets. Manipulação de dados de input em Servlets

Aplicativos Web com Orientação a Objetos

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010.

PROJETO FRAMEWORK - CELEPAR PAGINAÇÃO DE DADOS EM APLICAÇÕES JAVA PARA INTERNET

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

Fundamentos de Servlets. Conceitos e ciclo de vida Classes e Interfaces da API Exemplos de Servlets

Universidade São Judas Tadeu. Faculdade de Tecnologia e Ciências Exatas. Sistemas de Informação 3ASIN

Javascript Exemplos Objetos

Mini-Tutorial. Como criar relatórios Java para Web com JasperReports e ireport por Roberto J. Furutani 20/07/2005

Atividade JSP com Banco de Dados

Criando e Entendendo o Primeiro Servlet Por: Raphaela Galhardo Fernandes

Criação de uma aplicação usando Servlets

Programação WEB II. Conhecendo o PHP. Prof: Kelly E. Medeiros Bacharel em Sistema de Informação. Módulo III

Desenvolvimento Web TCC Turma A-1

Lista de exercícios I - RESPOSTAS Servlets e banco de dados

Registo de condutor (Protótipo funcional) Página apresentada ao utilizador

JSP e Servlet Princípio de MVC

Programação Na Web. Sessão II. Índice. Visão geral da API Sessão. Obter dados sobre uma sessão. Extrair informação sobre uma Sessão

Mecanismos de Comunicação. Sockets em java (

Java Servlets. Leonardo Gresta Paulino Murta

Desenvolvimento de aplicações Web. Java Server Pages

J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr

Sockets. Introdução. Introdução. Programando para redes em Java. mecanismo de alto nível para acessar recursos na Internet.

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual

Java II. Sérgio Luiz Ruivace Cerqueira

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

HTML Básico Formulários. Matheus Meira

Analisar os sistemas operacionais apresentados na figura e responder as questões abaixo: Identificar

Exibir relatórios gerados pelo Jasper Report em Flex

Trabalhando com Servlet

Para o envio de s pelo PHP é necessário seguir a seguinte sintaxe:

Tecnologia WEB II. Prof. Erwin Alexander Uhlmann. Introdução ao PHP. UHLMANN, Erwin Alexander. Introdução ao PHP. Instituto Siegen. Guarulhos, 2012.

Prática em Laboratório N.02 Criando um serviço Web via NetBeans

Olho por olho, e o mundo acabará cego. Mohandas Gandhi

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux

Personal Home Page PHP. Prof. Luiz Claudio F. de Souza

Persistência Java para Web com MySQL

UNIDADE III JAVA SERVER PAGES

Incorporando JavaScript em HTML

UNIDADE II JAVA SERVLETS

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: HTTP porto 80

Tecnologias Web. Formulários HTML

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Java Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF Novembro/2005

Capítulo II Modelos de Programação Distribuída

programação de páginas de conteúdo dinâmico

Configuração de Cliente de Web Service HTTPS

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

Exercícios de Revisão Java Básico

Programação Web Aula 12 - Java Web Software

Material de Apoio Profº Alan Cleber Borim

Servlets & JSP. Prof. Ramon Chiara

insfcanceof new public switch transient while byte continue extends for int null

PADRÃO PARA MONITORAMENTO DE APLICATIVOS PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ

PROJETO WEB: Java. Prof Fernando Gomes

COBRANÇA SITE. Instruções de Instalação e Utilização. Manual Técnico do Desenvolvedor. Segunda via do Bloqueto Digital

Java para WEB com Struts 2 e Hibernate

Java Server Pages. O código HTML pode indicar o método de arranque do servlet gerado por um JSP : doget ou dopost.

Tecnologias Web. Java Servlets

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007

Servlets, JSPs e Java Beans

1. Crie um banco de dados (no MySQL) chamado produtos e um tabela produto. Realise as inserções na tabela produto de acordo com os scripts abaixo.

Desenvolvimento Web TCC Turma A-1

Unidade 9: Middleware JDBC para Criação de Beans

Desenvolvimento Web com JSP/Servlets

Transcrição:

Executando comandos do Sistema Operacional em uma aplicação WEB Java Criei uma aplicação muito simples que demonstra como um Servlet pode invocar uma classe que efetua um comando qualquer no sistema operacional. O projeto foi testado em Linux, Unix e Solaris. Caso testem em Windows e puderem me dar um feedback, fico grato. O mesmo foi criado no Eclipse e utiliza o Tomcat 6 como servidor de aplicação, foi utilizado o Java 6. Deve funcionar com outras versões. A estrutura do projeto é: onde: DiskFree: classe java que executa o comando df no sistema operacional que está rodando o tomcat e retorna um BufferedReader. ExecuteCommand: classe java que executa qualquer comando que for enviada para ela no host do tomcat. ServletDF: É o servlet que invoca a classe DiskFree. ServletExecuteCommand: É o servlet que invoca a classe Executar comando. index.html: Página principal da aplicação que invoca os servlets e permite que o usuário entre com um comando a ser executado. Vale lembrar que a aplicação tem finalidade didática, portanto, não foram observados padrões de projeto, boas práticas, etc. Seguem as classes: package com.ibm.swg.osintegration.tools; DiskFree.java import java.io.inputstreamreader; Perform a df command in the host @author julianom / public class DiskFree {

public BufferedReader dowork() { BufferedReader Resultset = null; String [] Command = null; if (System.getProperty("os.name").equals("Linux")) { Command = new String[1]; Command[0] = "df"; if (System.getProperty("os.name").equals("Solaris")) { Command = new String[2]; Command[0] = "df"; Command[1] = "-k"; if (Command == null) { Process Findspace = null; Findspace = Runtime.getRuntime().exec(Command); catch (IOException e) { Resultset = new BufferedReader( new InputStreamReader ( Findspace.getInputStream())); ExecuteCommand.java package com.ibm.swg.osintegration.tools; import java.io.inputstreamreader; Perform a command in the host @author julianom / public class ExecuteCommand { public BufferedReader dowork(string command) { BufferedReader Resultset = null; if (command == null) { Process Findspace = null; Findspace = Runtime.getRuntime().exec(command); catch (IOException e) {

Resultset = new BufferedReader(new InputStreamReader(Findspace.getInputStream())); ServletDF.java package com.ibm.swg.osintegrations.servlets; import java.io.printwriter; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import com.ibm.swg.osintegration.tools.diskfree; Call the DiskFree class @author julianom / public class ServletDF extends HttpServlet { private static final long serialversionuid = 1L; protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { dopost(request, response); protected void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.println("<html><head><title>disk Free Monitor</title></head><body>"); DiskFree df = new DiskFree(); BufferedReader Resultset = df.dowork(); if (null!= Resultset) { String line; out.println("<h4>df output</h4>"); while ((line = Resultset.readLine())!= null) { out.println(line + "</br>"); catch (IOException e) {

else { out.println("<p>finished</p>"); out.print("<p>unable to perform the df command</p>"); out.println("</body></html>"); out.close(); ServletExecuteCommand.java package com.ibm.swg.osintegrations.servlets; import java.io.printwriter; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import com.ibm.swg.osintegration.tools.diskfree; import com.ibm.swg.osintegration.tools.executecommand; Servlet implementation class ServletExecuteCommand Call ExecuteCommand class This servlet call the Execute command class and show its results in the screen / public class ServletExecuteCommand extends HttpServlet { private static final long serialversionuid = 1L; protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { dopost(request, response); protected void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { String command = request.getparameter("command"); response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.println("<html><head><title>execute command</title></head><body>"); ExecuteCommand ec = new ExecuteCommand(); BufferedReader Resultset = ec.dowork(command); if (null!= Resultset) { String line; out.println("<h4>" + command + " output</h4>"); while ((line = Resultset.readLine())!= null) { out.println(line + "</br>"); catch (IOException e) {

else { out.println("<p>finished</p>"); out.print("<p>command " + command + " failed!!!</p>"); out.println("</body></html>"); out.close(); index.html <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>os integration</title> </head> <body> <p>this is an example of how a web application written in Java can perform OS commands. (There are a lot of another ways to do this)</p> <p>este é um exemplo de como uma aplicação web Java pode executar comandos do sistema operacional. (Existem outras formas de se fazer isso)</p> <p>tested/testado = Linux/Unix/Solaris</p> <hr> <a href="servletdf">call df / Chamar df</a><br> <form action="servletexecutecommand"> Call command/chamar comando: <input type="text" name="command" value="ls -la"/> <input type="submit" value="submit"/> </form> <p>fonte: <a href="http://jmmwrite.wordpress.com">juliano Martins</a></p> </body> </html> Programa rodando:

Fonte: http://jmmwrite.wordpress.com