Как я могу выполнить Сценарий PHP от Java?

Вы должны инициализировать фрукты

export class myClass implements OnInit {

    public myArray: string[] = ['banana', 'Apple, 'Kumquat']
    public fruits: {test: boolean}[] = [];

    constructor() {}

    ngOnInit() {}

    public doSomething(): void {

      let my: any = {}; 

      this.myArray.forEach( m => {
        my = { test: true };
        this.fruits.push(my);
      });
    }
}
9
задан GEOCHET 17 March 2009 в 19:15
поделиться

3 ответа

public class URLConnectionReader {
    public static void main(String[] args) throws Exception {
        URL yahoo = new URL("http://www.yahoo.com/");
        URLConnection yc = yahoo.openConnection();
        BufferedReader in = new BufferedReader(
                                new InputStreamReader(
                                yc.getInputStream()));
        String inputLine;

        while ((inputLine = in.readLine()) != null) 
            System.out.println(inputLine);
        in.close();
    }
}

Этот отрывок из официального учебного руководства по Java (http://java.sun.com/docs/books/tutorial/networking/urls/readingWriting.html). Это должно помочь Вам.

12
ответ дан 4 December 2019 в 07:05
поделиться

Если бы Вы пытаетесь выполнить его по HTTP, я рекомендовал бы библиотеки Apache Commons HTTP Client. Они делают невероятно легким выполнить этот тип задачи. Например:

    HttpClient http = new HttpClient();
    http.setParams(new HttpClientParams());
    http.setState(new HttpState());

    //For Get
    GetMethod get = new GetMethod("http://www.something.com/myscript?param="+paramVar);
    http.executeMethod(get);

    // For Post
    PostMethod post = new PostMethod("http://www.something.com/myscript");
    post.addParameter("param", paramVar);
    http.executeMethod(post);
9
ответ дан 4 December 2019 в 07:05
поделиться

Если Ваше приложение J2EE развертывается на том же сервере, Сценарий PHP идет, можно также выполнить его непосредственно до как независимый процесс как это:

  public String execPHP(String scriptName, String param) {
    try {
      String line;
      StringBuilder output = new StringBuilder();
      Process p = Runtime.getRuntime().exec("php " + scriptName + " " + param);
      BufferedReader input =
        new BufferedReader
          (new InputStreamReader(p.getInputStream()));
      while ((line = input.readLine()) != null) {
          output.append(line);
      }
      input.close();
    }
    catch (Exception err) {
      err.printStackTrace();
    }
    return output.toString();
  }

Вы заплатите издержки создания и выполнения процесса, но Вы не будете создавать сетевое соединение каждый раз, когда необходимо выполнить сценарий. Я думаю, что в зависимости от размера Вашего вывода, каждый будет работать лучше, чем другой.

10
ответ дан 4 December 2019 в 07:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: