2016-05-30 157 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设置地址。

为窗体设置动作和方法属性。

提交表单。