Chat System!

Make sure your environment variables are set (source ~/tomcat-settings) 

Once you're sure you have them please run these commands: 

mkdir $CATALINA_HOME/webapps/chat
mkdir $CATALINA_HOME/webapps/chat/WEB-INF
mkdir $CATALINA_HOME/webapps/chat/WEB-INF/classes
mkdir $CATALINA_HOME/webapps/chat/WEB-INF/lib

cp /l/www/classes/c212/fall2012/chat/Chat.java        $CATALINA_HOME/webapps/chat/WEB-INF/classes
cp /l/www/classes/c212/fall2012/chat/ChatServlet.java $CATALINA_HOME/webapps/chat/WEB-INF/classes
cp /l/www/classes/c212/fall2012/chat/web.xml          $CATALINA_HOME/webapps/chat/WEB-INF
cp /l/www/classes/c212/fall2012/chat/ChatApplet.java  $CATALINA_HOME/webapps/chat
cp /l/www/classes/c212/fall2012/chat/HttpMessage.java $CATALINA_HOME/webapps/chat

As Maxine I do this: 

[mpoorman@silo iceblox]$
[mpoorman@silo iceblox]$ mkdir $CATALINA_HOME/webapps/chat
[mpoorman@silo iceblox]$ mkdir $CATALINA_HOME/webapps/chat/WEB-INF
[mpoorman@silo iceblox]$ mkdir $CATALINA_HOME/webapps/chat/WEB-INF/classes
[mpoorman@silo iceblox]$ mkdir $CATALINA_HOME/webapps/chat/WEB-INF/lib
[mpoorman@silo iceblox]$
[mpoorman@silo iceblox]$ cp /l/www/classes/c212/fall2012/chat/Chat.java        $CATALINA_HOME/webapps/chat/WEB-INF/classes
[mpoorman@silo iceblox]$ cp /l/www/classes/c212/fall2012/chat/ChatServlet.java $CATALINA_HOME/webapps/chat/WEB-INF/classes
[mpoorman@silo iceblox]$ cp /l/www/classes/c212/fall2012/chat/web.xml          $CATALINA_HOME/webapps/chat/WEB-INF
[mpoorman@silo iceblox]$ cp /l/www/classes/c212/fall2012/chat/ChatApplet.java  $CATALINA_HOME/webapps/chat
[mpoorman@silo iceblox]$ cp /l/www/classes/c212/fall2012/chat/HttpMessage.java $CATALINA_HOME/webapps/chat
[mpoorman@silo iceblox]$

Now I move into the new context:

cd $CATALINA_HOME/webapps/chat

I look around and I see ChatApplet.java: 

[mpoorman@silo chat]$ ls -l
total 12
-rw------- 1 mpoorman students 2386 Jul 29 14:46 ChatApplet.java
-rw------- 1 mpoorman students 1828 Jul 29 14:46 HttpMessage.java
drwx------ 4 mpoorman students 4096 Jul 29 14:46 WEB-INF
[mpoorman@silo chat]$

I need to change lines 55 and 66 in ChatApplet.java: 

    try {
        URL url          =
              new URL("http://silo.cs.indiana.edu:8546/chat/servlet/ChatServlet"); // 55 
        HttpMessage msg  = new HttpMessage(url);
        Properties props = new Properties();

Change 8546 to your port number (Maxine's is 17274). 

Make the same change on line 66. Get out and compile everything:

[mpoorman@silo chat]$ pwd
/u/mpoorman/apache-tomcat-7.0.35/webapps/chat
[mpoorman@silo chat]$ ls
ChatApplet.java  HttpMessage.java  WEB-INF
[mpoorman@silo chat]$ pico -w ChatApplet.java
[mpoorman@silo chat]$ ls -l
total 12
-rw------- 1 mpoorman students 2388 Jul 29 14:55 ChatApplet.java
-rw------- 1 mpoorman students 1828 Jul 29 14:46 HttpMessage.java
drwx------ 4 mpoorman students 4096 Jul 29 14:46 WEB-INF
[mpoorman@silo chat]$ javac *.java
Picked up _JAVA_OPTIONS: -Xms512m -Xmx512m
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
[mpoorman@silo chat]$ ls -l
total 20
-rw------- 1 mpoorman students 3147 Jul 29 14:55 ChatApplet.class
-rw------- 1 mpoorman students 2388 Jul 29 14:55 ChatApplet.java
-rw------- 1 mpoorman students 2421 Jul 29 14:55 HttpMessage.class
-rw------- 1 mpoorman students 1828 Jul 29 14:46 HttpMessage.java
drwx------ 4 mpoorman students 4096 Jul 29 14:46 WEB-INF
[mpoorman@silo chat]$

We need to modify one more file and compile two more and we're done.

I go into WEB-INF/classes and open Chat.java and modify its line 36. 

It now looks like this for me: 

       + "codebase=\"http://silo.cs.indiana.edu:17274/chat\"\n"

I save and compile and I'm done. 

[mpoorman@silo chat]$ pwd
/u/mpoorman/apache-tomcat-7.0.35/webapps/chat
[mpoorman@silo chat]$ cd WEB-INF/
[mpoorman@silo WEB-INF]$ cd classes/
[mpoorman@silo classes]$ ls -l
total 8
-rw------- 1 mpoorman students 1424 Jul 29 14:46 Chat.java
-rw------- 1 mpoorman students 1718 Jul 29 14:46 ChatServlet.java
[mpoorman@silo classes]$ pico -w Chat.java
[mpoorman@silo classes]$ javac *.java
Picked up _JAVA_OPTIONS: -Xms512m -Xmx512m
[mpoorman@silo classes]$ ls -l
total 24
-rw------- 1 mpoorman students 1635 Jul 29 14:58 Chat.class
-rw------- 1 mpoorman students 1425 Jul 29 14:58 Chat.java
-rw------- 1 mpoorman students 1332 Jul 29 14:58 ChatServlet.class
-rw------- 1 mpoorman students 1718 Jul 29 14:46 ChatServlet.java
-rw------- 1 mpoorman students  775 Jul 29 14:58 MessageSink.class
-rw------- 1 mpoorman students  371 Jul 29 14:58 MessageSource.class
[mpoorman@silo classes]$

Now it's time to go online: 

http://silo.cs.indiana.edu:17274/chat/servlet/Chat

I notice my browser would load the applet if it were compiled with 6 instead of 7. 

I recompile: 

[mpoorman@silo classes]$ pwd
/u/mpoorman/apache-tomcat-7.0.35/webapps/chat/WEB-INF/classes
[mpoorman@silo classes]$ ls -ld *.java
-rw------- 1 mpoorman students 1425 Jul 29 14:58 Chat.java
-rw------- 1 mpoorman students 1718 Jul 29 14:46 ChatServlet.java
[mpoorman@silo classes]$ $JAVA_HOME/bin/javac *.java
Picked up _JAVA_OPTIONS: -Xms512m -Xmx512m
[mpoorman@silo classes]$ cd ../..
[mpoorman@silo chat]$ pwd
/u/mpoorman/apache-tomcat-7.0.35/webapps/chat
[mpoorman@silo chat]$ ls -ld *.java
-rw------- 1 mpoorman students 2388 Jul 29 14:55 ChatApplet.java
-rw------- 1 mpoorman students 1828 Jul 29 14:46 HttpMessage.java
[mpoorman@silo chat]$ $JAVA_HOME/bin/javac *.java
Picked up _JAVA_OPTIONS: -Xms512m -Xmx512m
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
[mpoorman@silo chat]$

Now I try again:

[mpoorman@silo chat]$ pwd
/u/mpoorman/apache-tomcat-7.0.35/webapps/chat
[mpoorman@silo chat]$ /u/mpoorman/apache-tomcat-7.0.35/bin/shutdown.sh
Using CATALINA_BASE:   /u/mpoorman/apache-tomcat-7.0.35
Using CATALINA_HOME:   /u/mpoorman/apache-tomcat-7.0.35
Using CATALINA_TMPDIR: /u/mpoorman/apache-tomcat-7.0.35/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.6.0-sun.x86_64
Using CLASSPATH:       /u/mpoorman/apache-tomcat-7.0.35/bin/bootstrap.jar:/u/mpoorman/apache-tomcat-7.0.35/bin/tomcat-juli.jar
Picked up _JAVA_OPTIONS: -Xms512m -Xmx512m
[mpoorman@silo chat]$ ps -ef | grep poorm
mpoorman  4597 27817  3 15:06 pts/163  00:00:00 ps -ef
mpoorman  4598 27817  0 15:06 pts/163  00:00:00 grep poorm
root     27358 17689  0 14:35 ?        00:00:00 sshd: mpoorman [priv]
mpoorman 27373 27358  0 14:36 ?        00:00:00 sshd: mpoorman@pts/160
mpoorman 27374 27373  0 14:36 pts/160  00:00:00 -bash
root     27676 17689  0 14:37 ?        00:00:00 sshd: mpoorman [priv]
mpoorman 27816 27676  0 14:37 ?        00:00:00 sshd: mpoorman@pts/163
mpoorman 27817 27816  0 14:37 pts/163  00:00:00 -bash
[mpoorman@silo chat]$ $CATALINA_HOME/bin/startup.sh
Using CATALINA_BASE:   /u/mpoorman/apache-tomcat-7.0.35
Using CATALINA_HOME:   /u/mpoorman/apache-tomcat-7.0.35
Using CATALINA_TMPDIR: /u/mpoorman/apache-tomcat-7.0.35/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.6.0-sun.x86_64
Using CLASSPATH:       /u/mpoorman/apache-tomcat-7.0.35/bin/bootstrap.jar:/u/mpoorman/apache-tomcat-7.0.35/bin/tomcat-juli.jar
[mpoorman@silo chat]$

I had to restart because I didn't set myself up as tomcat manager to just reload the chat context. 

--