One more nit-pick. As I said earlier, use "/servlet/login" instead of "servlet/com.onjava.login". Then you can turn off the InvokerServlet, which could be used for security exploits. Your current mapping (in your last email) had
<servlet-mapping> <servlet-name>login</servlet-name> <url-pattern>/servlet</url-pattern> </servlet-mapping> What exactly are you trying to achieve here? This is simply in error. Do you really want "/servlet" to map to your login servlet each and every time? You would not be able to have any other servlets in your application. Perhaps what you are trying to do is have all unauthenticated requests to go to the login servlet? To do this, use a <security-constraint>, <login-config>, and <security-role> instead. (See Tomcat's admin and manager applications for an example). Then you can map all requests into your web app (the ones you want secured anyway) to your login.jsp that you are working on. I'm not sure if that will fix your welcome.jsp problem; probably not. Try removing the slash like Stuart said, though it should work either way if welcome.jsp is in webapps/onjava/ - Jeff Tulley >>> [EMAIL PROTECTED] 8/29/03 5:36:36 PM >>> Tomcat can usually find JSPs very easily. Is welcome.jsp also in CATALINA_HOME/webapps/onjava/ ? Try the following: private String target = "welcome.jsp"; If 'onjava' is your namespace then this might work. -----Original Message----- From: Jim Si [mailto:[EMAIL PROTECTED] Sent: 29 August 2003 19:04 To: Tomcat Users List Cc: Stuart MacPherson Subject: Re: First Servlet 404 error Thank you Stuart for your great help. HellowWorld servlet works! But I still have one problem. I got login.jsp in the webapps\onjava directory. It has <form name="loginForm" method="POST" action="servlet/com.onjava.login"> In login.java, it has private String target = "/welcome.jsp"; ... // Forward the request to the target named ServletContext context = getServletContext(); RequestDispatcher dispatcher = context.getRequestDispatcher(target); dispatcher.forward(request, response); In welcome.jsp, it has very simple return statement. <b>Welcome : <%= request.getAttribute("USER") In webapps\onjava\Web-inf\web.xml, I have <servlet> <servlet-name>login</servlet-name> <servlet-class>com.onjava.login</servlet-class> </servlet> <servlet-mapping> <servlet-name>login</servlet-name> <url-pattern>/servlet</url-pattern> </servlet-mapping> In a browser, I use http://localhost:8080/onjava/login.jsp and I got the login screen, then click on submit button. I got the following error. HTTP Status 404 - /welcome.jsp description The requested resource (/welcome.jsp) is not available. Look like it runs the login class, how do I correct this problem? Thank you. > Also, make sure your HelloWorld servlet is mapped-in in your webapps > deployment descriptor. By the way, the folder should be called WEB-INF not > web-inf. > Windows somehow change WEB-INF to Web-inf automatically. I could not use WEB-INF. Jim --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]