Java网页执行脚本
问题描述:
我是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代码在用户点击使用用户提供的主机值提交。
可以做,我该怎么办?
答
如果您想在服务器端使用html(jsp)的用户输入进行一些计算,则应该使用OSI(HTTP,HTTPS f.e.)的应用层协议。
方法 - 使用Ajax向服务器发送http请求(java-servlet资源,部署在Tomcat或另一个servlet容器上)。或者,您可以使用默认行为form.submit()。
使SendEmail类成为Servlet从HTTPServlet扩展它,实现doPost方法(或doGet),为servlet设置地址。
为窗体设置动作和方法属性。
提交表单。