We help IT Professionals succeed at work.

What is the proper method to reference javax.servlet on and AS/400?

stevebowdoin
stevebowdoin asked
on
I have some Java code i downloaded and i am trying to compile it on the 400.
I get "package javax.servlet does not exist"

i STRQSH, then ...

> cd /bcwjava                                                              
  $                                                                        
> ls                                                                        
  Hello.java              jqaj.txt                                          
  HelloWorldServlet.java  servlet-api-2.5.jar                              
  $                                                                        
> javac HelloWorldServlet.java                                              
  HelloWorldServlet.java:1: error: package javax.servlet does not exist    
  import javax.servlet.*;                                                  
  ^                                                                        

Here is all the Java code:
import javax.servlet.*;                                                  
import javax.servlet.http.*;                                            
import java.io.*;                                                        
public class HelloWorldServlet extends HttpServlet{                      
public void doGet (HttpServletRequest req, HttpServletResponse res)      
 throws ServletException, IOException                                    
 {                                                                      
 PrintWriter out;                                                        
 res.setContentType("text/html");                                        
 out = res.getWriter();                                                  
 out.println("<html>");                                                  
 out.println("<head><title>Hello World</title></head>");                
 out.println("<body>");                                                  
 out.println("<h1>Hello World</h1>");                                    
 out.println("</body></html>");                                          
 }                                                                      
}                                                                        

Here is how i set Java home and class path:
PGM                                                            
ADDENVVAR  ENVVAR(JAVA_HOME) +                                  
             VALUE('/QOpenSys/QIBM/ProdData/JavaVM/jdk70+      
             /64bit') REPLACE(*YES)                            
ADDENVVAR  ENVVAR(CLASSPATH) +                                  
             VALUE('/qibm/ProdData/HTTP/Public/jt400/lib+      
             /jt400.jar;/qibm/ProdData/HTTP/Public/jt400+      
             /lib/jt400Servlet.jar;/bcwjava/servlet-api-+      
             2.5.jar;/qibm/ProdData/HTTP/Public/jt400/li+      
             b/jt400Native.jar') REPLACE(*YES)                  
ENDPGM
Comment
Watch Question

Change your classpath environment variable or specify on the java command the classpath to include the path for the jdk lib directory.

Author

Commented:
Change it to what?
VP Technology / Senior Consultant
Commented:
Steve, change the semicolon in your classpath to colons.  Semicolons are supported on Windows, but I think they are interpreted as part of the path on IBM i.  As a result, it can't find the servlet jar in /bcwjava.

Author

Commented:
Halleluiah
There is a greasy spot on the wall and my forehead hurts.
That fixed it.  Now I can move on.
Thanks Gary.
Steve
Gary PattersonVP Technology / Senior Consultant

Commented:
Excellent.  Happy to help.

- Gary