%@page import= "java.io.IOException,
org.jivesoftware.smack.ChatManager,
org.jivesoftware.smack.ConnectionConfiguration,
org.jivesoftware.smack.PacketListener,
org.jivesoftware.smack.ConnectionListener,
org.jivesoftware.smack.MessageListener,
org.jivesoftware.smack.XMPPConnection,
org.jivesoftware.smack.XMPPException,
org.jivesoftware.smack.filter.MessageTypeFilter,
org.jivesoftware.smack.filter.PacketFilter,
org.jivesoftware.smack.packet.Message,
org.jivesoftware.smack.packet.Packet,
org.jivesoftware.smack.packet.Presence,
org.jivesoftware.smack.util.StringUtils,
org.jivesoftware.smack.Chat"
%>
<%
// calling example using tomcat: http://localhost:8080/examples/jsp/jabber/Connect.jsp?user=jimmy&pass=password01&cmd=connect&msg=hello&to_user=jgarifuna@localhost
ConnectionConfiguration connConfig;
XMPPConnection connection;
Presence presence;
out.println("Instance created
");
connConfig = new ConnectionConfiguration("localhost", 5222);
connection = new XMPPConnection(connConfig);
String username = request.getParameter("user");
String password = request.getParameter("pass");
String cmd = request.getParameter("cmd");
String msg = request.getParameter("msg");
String to_user = request.getParameter("to_user");
out.println("New session: "+session.isNew()+"
");//for debug purpose
out.println("Session ID: "+session.getId()+"
");//for debug purpose
System.out.println("initiating...
");
if(cmd.equals("disconnect"))
{
connection = (XMPPConnection)application.getAttribute("attr_conn");
connection.disconnect();
out.println("disconnected");
}
if(cmd.equals("connect"))
{
out.println("Starting IM client
");
try
{
connection.connect();
out.println("Connected to " + connection.getHost()+"....
");
}
catch (XMPPException ex)
{
//ex.printStackTrace();
out.println("Failed to connect to " + connection.getHost()+"....
");
}
try
{
connection.login(username,password);
out.println("Logged in as " + connection.getUser());
presence = new Presence(Presence.Type.available);
connection.sendPacket(presence);
application.setAttribute("attr_conn",connection);
}
catch (XMPPException ex)
{
//ex.printStackTrace();
//out.println("Failed to log in as " + connection.getUser());
out.println("Incorrect username or password");
}
ChatManager chatmanager = connection.getChatManager();
Chat newChat = chatmanager.createChat(to_user, new MessageListener() {
public void processMessage(Chat chat, Message message) {
System.out.println("Received message: " + message);
}
});
try {
newChat.sendMessage(msg);
}
catch (XMPPException e) {
System.out.println("Error Delivering block");
}
}
%>