Servlet - Обмен сообщениями апплета с сервлетом

Пример связи апплета с сервлетом для обмена сообщениями включает HTML-страницу applet.html, апплет AppletMsg.java и сервлет Greating.java, получающий сообщение от аплета


Текст HTML-страницы applet.html
 
<html>
  <head>
   <title>Связь апплета с сервлетом</title>
  <head>
  <body bgcolor="#ccddee">
   <h3>Передача сообщений между апплетом и сервлетом</h3>
   <applet
    code="AppletMsg.class"
    width=350
    height=145
    name="AppletMsg">
    <param name="url" value="http://localhost:8082/servlets-labir/Great">
   </applet>
  </body>
</html>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Листинг сервлета Greating.java
 
import java.io.*;
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
 
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class Greating extends HttpServlet implements Serializable
{
  public void doGet (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
  {
   String msg = req.getParameter ("message");
   resp.setContentType ("text/html;charset=windows-1251");
   PrintWriter out = resp.getWriter ();
   out.println ( "<html>" +
    "<body bgcolor=blue>" +
     "<B><font color=white>Сервлет получил сообщение : </font>" +
     "<font color=yellow>" + msg + "</font></B>" +
    "</body></html>"
   );
   out.close ();
  }
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Листинг апплета AppletMsg.java
 
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import javax.swing.*;
 
public classAppletMsg extends JApplet implements ActionListener
{
JLabel l1 = new JLabel ("Введите текст");
  JTextField tf = new JTextField(40);
  JLabel l2 = new JLabel ("Отправить сообщение");
  JButton b = new JButton ("Сервлет");
  JLabel l3 = new JLabel ("Сообщение от сервлета");
  JLabel l4 = new JLabel ();
 
  public void init ()
  {
   Container pane = getContentPane ();
   pane.setLayout (null);
   l1.setBounds (10 , 10, 120, 25);
   tf.setBounds (160, 10, 160, 25);
   l2.setBounds (10 , 40, 140, 25);
   b .setBounds (160, 40, 160, 25);
   l3.setBounds (10 , 80, 320, 25);
   l4.setBounds (10 , 115, 320, 25);
   pane.add (l1);
   pane.add (tf);
   pane.add (l2);
   pane.add (b );
   pane.add (l3);
   pane.add (l4);
   b.addActionListener (this);
  }
  public void actionPerformed (ActionEvent e)
  {
   if (e.getSource () == b)
   {
    try{
     String servl = getParameter ("url") + "?message=" + tf.getText ();
     URL url = new URL (servl);
     BufferedReader in = new BufferedReader (new InputStreamReader (url.openStream ()));
     l4.setText (in.readLine ());
     in.close ();
    }catch (Exception ce) {}
   }
  }
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Код объявления сервлета Greating в дескрипторе поставки web.xml
 
<servlet>
  <servlet-name>Great</servlet-name>
  <servlet-class>Greating</servlet-class>
</servlet>
 
<servlet-mapping>
  <servlet-name>Great</servlet-name>
  <url-pattern>/Great</url-pattern>
</servlet-mapping>


Партнеры:


Rambler's Top100 Рейтинг@Mail.ru