2016-05-30 155 views
0

我是Java新手,請大家幫忙。Java網頁執行腳本

我寫了HTML頁面index.jsp,假設從用戶獲取值並執行具有該值的腳本。

的代碼是─

<body> 
 
    <form name="Execute-Java" action=""> 
 
      <p> 
 
       <label for="s">IP- </label> 
 
\t \t   <input type="text" name="server" value="x.x.x.x"> 
 
      </p><br> 
 
     
 
      <input type="submit" value="Execute java" name="Submit"/> 
 
    </form> 
 
</body>

還寫Java代碼,使用javac編譯它,並用java命令行已成功運行了。

public class SendEmail { 
    public static void main(String [] args){ 
    String from = "[email protected]"; 
    String to = "[email protected]"; 
    String subject = "Test Subject"; 
    String body_email = "Body test"; 
    String host = "x.x.x.x"; 

//Get the session object 
    Properties properties = System.getProperties(); 
    properties.setProperty("mail.smtp.host", host); 
    Session session = Session.getDefaultInstance(properties); 

//compose the message 
    try{ 
    MimeMessage message = new MimeMessage(session); 
    message.setFrom(new InternetAddress(from)); 
    message.addRecipient(Message.RecipientType.TO,new InternetAddress(to)); 
    message.setSubject(subject); 
    message.setText(body_email); 

    // Send message 
    Transport.send(message); 
    System.out.println("message sent successfully...."); 

    }catch (MessagingException mex) {mex.printStackTrace();} 

}}

現在我想index.jsp頁面以某種方式執行java代碼在用戶點擊使用用戶提供的主機值提交

可以做,我該怎麼辦?

回答

0

如果您想在服務器端使用html(jsp)的用戶輸入進行一些計算,則應該使用OSI(HTTP,HTTPS f.e.)的應用層協議。

方法 - 使用Ajax向服務器發送http請求(java-servlet資源,部署在Tomcat或另一個servlet容器上)。或者,您可以使用默認行爲form.submit()

使SendEmail類成爲Servlet從HTTPServlet擴展它,實現doPost方法(或doGet),爲servlet設置地址。

爲窗體設置動作和方法屬性。

提交表單。