Configuring 2 servlets in Tomcat

I've created 2 servlets that have been packaged into a single WAR file (call it MyWAR.war) and deployed onto Tomcat. Here's what I'd like to have happen:
http://www.url.com/
Goes to Servlet1
http://www.url.com/MyWAR/xyz
Goes to Servlet2
Here's the mapping section of my web.xml
  <servlet-mapping>
    <servlet-name>Servlet1</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping> 
  <servlet-mapping>
    <servlet-name>Servlet2</servlet-name>
    <url-pattern>/xyz</url-pattern>
  </servlet-mapping>When I do this, I can get to Servlet1, but only at
http://www.url.com/MyWAR
I cannot get to Servlet2 at all
However, if I comment out the mapping section for Servlet1, Servlet2 is correctly available at
http://www.url.com/MyWAR/xyz
Is it possible to do what I want to do? If so, how do I access Servlet1 without including the WAR file name in the URL?

Thanks for the response. I wasn't aware of this ROOT.war option, I'll try it out.
The fact that Servlet2 gets blocked off by the mapping of Server1 eventhough it's more specific bothers me. I swapped the order of the mappings thinking that the first thing that matched wins, but it still doesn't work. It seems that the most general mapping always wins, which isn't what I'd expect.
Forwarding the request from Servlet1 to Servlet2 sounds reasonable, but I'm not sure I can do this. Servlet1 isn't simply a servlet, but contains some Jersey code. When my code finally gets called, I don't have the context to call another servlet because Jersey has boiled it all out for me. What and how can I filter? Any other ideas on how Servlet2 can naturally get called?

Similar Messages

  • How to configure applet/servlet in Tomcat?

    I'm building a web application which is going to be deployed in Tomcat. I have an applet(called MYAPPLET here) which "calls" a servlet(called MYSERVLET here). I cannot figure out how to configure the whole thing.
    /test is my docbase. In /test I made a directory "applet classes" and a directory "servlet". The applet tag I use in the HTML file looks like this:
    <applet
    code="MYAPPLET.class"
    codebase="http://localhost:8080/test/applet classes/"
    <!-- Tell the applet where its peer is located -->
    <param
    name="servlet"
    value="http://localhost:8080/test/servlet/MYSERVLET" />
    </applet>
    Now, when opening the page, the applet can be found but Tomcat gives an error 404 saying that it can not find the servlet. On the other hand, If I make an entry in my web.xml (with url mapping
    <url-pattern>/test </url-pattern> or <url-pattern>/test/servlet </url-pattern>, depending on where I put MYSERVLET)
    for the servlet mentioned above and I put the MYSERVLET in either the WEB-INF/classes directory or in /test/servlet Tomcat gives an error 403. It refuses to connect to the servlet!
    Please can anyone help me. THanx in advance
    debeumers

    You are configuring Tomcat and if you have further questions then post new questions in the forum "Java Servlet Technology".
    Given that your servlet url is "localhost:8080/test/servlet/MyServlet"
    This assumes -
    1) You have created a web application called "test". You have a directory called "test" under- $CATALINA_HOME/webapps
    2) Your html files, jsp files, and subdirectory "applet-classes" (Note - do Not use spaces when naming directories) exist in this top level directory of your web app. If you choose to place your applet classes in this subdir then the codebase can be "applet-classes" - omitting the "/" means this directory is located relative to the current directory of the html file. (No jar files? No archive param then..)
    3) You have a class file called "MyServlet" located - $CATALINA_HOME/webapps/test/WEB-INF/classes
    Some versions of Tomcat require you to uncomment out the area of the Mapping for the Invoker Servlet element in $CAT_HOME/conf/web.xml.
    <servlet-name>invoker</servlet-name>
    <url-mapping>/servlet/*</url-mapping>
    Once this is done, you need not create a directory called "servlet" anywhere in your structure. It is the url mapping.
    You will want to apply url-patterns and mappings to your application specific web.xml (This is located in - $C_H/webapps/test/WEB-INF) when it comes time to deploy the app, but that is not required for testing and development. You need not make changes to the app specific web.xml at this time just to get the servlet to run.
    And finally I suggest you read a book on this subject...

  • Servlet on tomcat 4.1.18

    I am facing a problem of running servlets on Tomcat 4.1.18. The problem seems to be in the configuration. In the webapps folder, I created a folder greeting. In that, the WEB-Inf\classes folder has GreetingServlet.class.
    webapp\greeting has index.html that has to FORM ACTION set to /greeting/servlet/GreetingServlet.
    On clicking the submit button the message I get is that the resource /greeting/servlet/GreetingServlet is not found.
    Can anybody help in configuring the server so that the above mentioned servlet gets recognized?
    Thanks.
    Amitabh.
    [email protected]

    My application is located at %TOMCAT_HOME%\webapps.
    %TOMCAT_HOME%\webapps\greeting\WEB-INF\web.xml has the following:
    <web-app>
    <servlet>
    <servlet-name>greeting</servlet-name>
    <servlet-class>GreetingServlet</servlet-class>
    </servlet>
    </web-app>
    %TOMCAT_HOME%\webapps\greeting\index.html has the following:
    <FORM ACTION="/greeting/servlet/GreetingServlet" METHOD="POST">
    <P> Your name <INPUT TYPE="text" SIZE="40" NAME="name"></P>
    </FORM>
    Yet the problem persists.
    Have I missed some point?
    Help/assistance will be appreciated.
    Thanks.
    Amitabh.
    [email protected]

  • Newbie question about loading servlets on tomcat

    I have what is probably a very basic question about loading simple servlets on to tomcat to test its installation. I have followed instructions from numerous tutorials to the letter but still I can't get it to work.
    I have installed tomcat on win2k in c:\tomcat. I set up the jdk, environment vars (JAVA_HOME, CATALINA_HOME, TOMCAT_HOME) which all point at the correct dirs. I can compile a servlet without errors. I can also place a test jsp and html file into the root directory and they both work fine.
    However, now I am trying a test servlet and no matter what I do it gives me a 404. I have a servlet class file called "HelloServlet.class" which I placed into the %install_dir%\webapps\ROOT\WEB-INF\classes directory. I try to reference it using this url:
    http://localhost/servlet/HelloServlet
    Tomcat is configured to use port 80 and has been restarted after adding the servlet class file. Does anyone have a clue why this is not working for me?
    Many thanks
    Marc

    You have to add in the web.xml file that it is in the WEB-INF dir, the information about your servlet. An example:
    <web-app>
    <servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/HelloServlet</url-pattern>
    </servlet-mapping>
    </web-app>

  • Servlets and Tomcat/Apache

    Okay,
    Tomcat 4.1 running with Apache.
    Installed mod_jk, piece of cake.
    JSPs run through Apache like a dream.
    Tomcat examples ( jsp and servlets) run through Apache perfectly ( that is no :8080 business).
    My JSP's run through Apache no problem. Works great.
    My SERVLETS WILL NOT RUN THROUGH APACHE FOR ANYTHING.
    My context looks like this in server.xml:
    <Context path="/nuweb" docBase="/home/shared/nuweb" debug="0"
    reloadable="true" crossContext="true">
    <Logger className="org.apache.catalina.logger.FileLogger"
    prefix="nuweb" suffix=".log"
    timestamp="true"/>
    </Context>
    Note: that I am not under <TOMCAT_HOME>/webapps.
    The reason is that I will, in production not be the Unix admin on the server. I will only have priviledges within my directory. I will not be able to drop war files in the webapps directory. I will not be able
    to start and stop tomcat or apache ( there are 100 diffrent apache contexts on that machine and someday many of them will be going through tomcat for jsp and servlet support).
    My servlets will only run if I put :8080/nuweb/servlet/HelloServlet in the URL. Take off the 8080 and I get Page not found. Not the tomcat 404 page, the Browswer 404 errror.
    Here is my web.xml which lives in the WEB-INF directory of of /home/shared/nuweb
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>org.nu.servlet.HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>invoker</servlet-name>
    <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>
    </web-app>
    In devlopment I am on a system that is very close to what the production server will look like ( Tomcat 4.1 same version of Apache, same Unix ). In development I can restart all the servers edit server.xml etc. On the production I would have to schedule that stuff. I want to be able to compile classes and drop them in the WEB-INF/classes... directory and have them run. Is that too much to ask?

    Hi,
    I am also facing same error.
    I am not able to view my servlets via apache web server.
    ie when i do "http://localhost/enlighta/logon"
    I get http 404 page not found error
    but when I do http://localhost:8080/enlighta/logon
    all works fine
    I am using apache 2 and tomcat 4.5
    This is I have done:
    1.I have http server running on port 80
    2. appserver on port 8080
    3. I have a war file enlighta.war deployed on webserevr
    4. The static content like images and html page I have moved to webserver
    5. The servlet context of the app on the app server is /enlighta
    6. In the web.xml I have defined all the servlet maping.
    the port 8009 has the connecter is running/listening.
    the configuration
    sever.xml on tomcat
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009"
    enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    <Host name="localhost" appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    httpd.conf on apache
    # Load mod_jk
    LoadModule jk_module modules/mod_jk.so
    # Configure mod_jk
    JkWorkersFile conf/workers.properties
    JkLogFile logs/mod_jk.log
    JkLogLevel info
    # First Virtual Host.
    <VirtualHost 192.168.1.2:8080>
    ServerAdmin [email protected]
    DocumentRoot /enlighta/
    ServerName localhost
    ErrorLog logs/enlighta_error_log
    TransferLog logs/enlighta_access_log
    JkMount /enlighta/* ajp13
    </VirtualHost>
    workers.properties
    worker.list=ajp13
    # Defining a worker named ajp13w and of type ajp13
    # Note that the name and the type do not have to match.
    worker.ajp13.type=ajp13
    worker.ajp13.host=localhost
    worker.ajp13.port=8009
    Now I feel I am doing something wrong on defining virtual host.
    Or may be something else is wrong.
    I have gone thru the previous thread but I dont have mod_jk.conf file.
    Please help!!!
    Thanks
    Sachin

  • How to run a servlet in Tomcat 5.0 server

    HI Everybody,
    I want to know how to run the servlet file on my tomcat 5.0 server. that is where to place a class file and deployment details.
    Thanks In ADVANCE

    Sourav_cs wrote:
    I am a biginner to start servlet i get confusion to configure servlet in tomcat 5 where it should be saved in tomcat directory and how to execute that as first timeHi,
    goto
    tomcat 5.0\webappsnow create a folder here. this is your webapplication project name. Let's suppose it as "TestApp"
    inside this create directories as follows :
    TestApp
            |
            |-----JSP/htmls( if you have any )
            |
            |-----WEB-INF(File Folder)
                       |
                       |-----web.xml
                       |-----lib ( Directory. place all the .jar files which are required for this project(if any) )
                       |-----classes ( .class files. )[all of your java code should be placed here.](servlets / beans/ pojo )this is the general Directory structure of a web application. now you've to place the compiled .class file of your servlet in the "TestApp\WEB-INF\classes" directory. make sure that you've configured the servlet in Deploment Desctiptor, i.e, web.xml.
    now start the server and type the url like : "http://localhost:8080/TestApp/TestServlet"
    the port no. 8080 is the default port no. of tomcat. you have to give your port no. if u've modified it. and TestServlet is the <url-pattern> of your servlet.
    go through some tutorials .. then you can easily know that
    Diablo

  • How to configure connection pooling in tomcat?

    how to configure connection pooling in tomcat and how to use the connection pooling in the jsp and servlets?

    thanks for the reply, i have configured the connection pool settings in the tomcat.
    I created a class with static method, which will return the connection object.
    whenever i need the connection object, iam invoking the static method, once its usage is over iam closing thew connection..
    is it the right way of using the connection object in the web application.

  • How to run servlets under Tomcat 6 in java1.5

    hi all
    i am unable to run servlets under tomcat 6,i checked environment variables ....all are correct..im getting http 503 error....

    A 503 response says
    503 Service Unavailable
    The server is currently unable to handle the request due to a
    temporary overloading or maintenance of the server
    You apparently have the server mis-configured. Recheck the configuration (or reinstall Tomcat per its instructions.)

  • How to run a servlet in tomcat 5.0.

    Hi all,
    how to run a servlet in tomcat 5.0
    please tell me the entire procedure....(directory structure)
    step by step....

    hi :-)
    http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets.html
    or
    http://www.google.com.ph/search?hl=en&q=java+servlet+tutorial&btnG=Google+Search&meta=
    regards,

  • Servlets in Tomcat

    I am trying to run servlets using Tomcat. I have them working and displaying but as soon as I make a change to a servelt and re-compile and refresh the browser the change do not take effect. I have to shutdown and restart tocat. Surely this can't be right. can anyone help with correcting this problem?

    Lesta,
    For convenience there's a Tomcat admin console. The admin console runs through a web browser and allows you to restart an application, restart a context ect. I think you can also install or reinstall entire ears through it now.
    There's some setup to do before you can use the admin console. I seem to remember there being an XML user/password file somewhere...
    In a production environment you don't want to shutdown and restart the daemon like you are doing. It will just annoy the heck out of your users.
    Hope this helps.
    -Bryan

  • Need to enable autoreload feature for servlet in Tomcat

    Hello
    I wants to enable autoreload feature for servlet in tomcat so that i need not to stop tomcat 4.0 web server again and again
    Thanks

    http://jakarta.apache.org/tomcat/tomcat-4.1-doc/config/context.html
    It is amazing what reading the manual might do for ya.

  • How to run Servlet in TOMCAT

    I am new to Java Servlets. I am trying to run a servlet on TOMCAT but I don't know where to place my Servlet class file. TOMCAT works ok with sample jar file. Please guide.
    -- HTML code
    <HTML>
    <HEAD>
    <TITLE> Request Object </TITLE>
    </HEAD>
    <BODY>
    <FORM METHOD="POST" ACTION="/servlet/WelcomeServlet">
    Enter your Name: <INPUT TYPE=TEXT NAME="myName">
    <INPUT TYPE="SUBMIT" VALUE="Send Name">
    </FORM>
    </BODY>
    </HTML>
    -- Servlet Code
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    public class WelcomeServlet extends HttpServlet {
    public void doPost(HttpServletRequest request,
    HttpServletResponse response)
    throws ServletException, IOException {
    String Name = request.getParameter("myName");
    PrintWriter out = response.getWriter();
    String mName = "test";
    try {
    mName = gName("AAA","VVV");
    catch (SQLException ex)
    out.println("SQLException");
    out.println("Welcome 1.1 " + Name + " !" + " mName " + mName);
    public String gName(String inputUserid, String inputPwd)
    throws SQLException{
    String vname = "Test";
    return vname;
    thanks
    Vineet

    I have Tomcat version 4.0 installed on my machine. If you look at the directory where you have Tomcat installed, you should find the directory structure:
    tomcat-folder/webapps/root/web-inf/classes
    Try placing your class files in the classes folder.

  • How to Run servlet in Tomcat 5.5.9

    hi
    How to run servlet in tomcat 5.5.9?how to set context path in server.xml of conf folder in tomcat since there is no context tag in server.xml.
    Jiten

    Hi ! I have a similar problem, well, it's along the same line ...
    I'm using NetBeans 4.1, and i've coded a servlet. Using NetBeans to launch my servlet (with the bundled Tomcat 5.5.7) works fine, however i need to deploy my application unto a Tomcat 5.5.9 server.
    Thus, i copied the WAR file generated by NetBeans into the Tomcat 5.5.9 webapps directory, and Tomcat expands it.
    Problem is when i run my JSP pages with the form tags, they do not work on the Tomcat 5.5.9 environment. Anyone knows why?
    (These work on the NetBeans Tomcat bundle 5.5.7)
    My form action :
    <form name="index" method="get" action="PageServlet">
    My web.xml :
    <servlet>
    <servlet-name>PageServlet</servlet-name>
    <servlet-class>application.PageServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>PageServlet</servlet-name>
    <url-pattern>/PageServlet</url-pattern>
    </servlet-mapping>
    I'm really stumbed on why it doesn't work in Tomcat 5.5.9, any help is greatly appreciated, thanks in advance ^_^

  • How to run Servlet in Tomcat 5.5.7 Server

    Hi,
    How to run Servlet in Tomcat 5.5.7 Server. I mean where I should copy my *.class file.
    Thanks in Advance.
    bbye.

    In order to complile the servlet you need to tell java where to find the servlet libary (as stated above by setting the class path). or (much easier IMO)
    copy the servlet-api.jar to
    JavaInstallDirectory\jre\lib\ext

  • Running servlet in tomcat 4.1.18

    Hi,
    I am new to servlet and am having trouble running a simple servlet on tomcat 4.1.18. I keep getting an Error 404 resource not found. will someone show me how to run servlet on tomcat?Please.
    Thanks

    To start, make sure you have specified the servlet and mapping in your application's WEB-INF/web.xml file.
    <!-- for example -->
    <servlet>
        <servlet-name>yourServletName</servlet-name>
        <servlet-class>path.to.Servlet</servlet-class>
    </sevlet>
    <servlet-mapping>
        <servlet-name>yourServletName</servlet-name>
        <url-pattern>/servlet/yourServletName</url-pattern>
    </servlet-mapping>

Maybe you are looking for

  • Canon IR C4080 Networked - Unable to print.

    As the subject states - we have an IR C4080 in the office (managed space) and the techies are unable to get my Macs working with it. We each have our own ID and password to print/copy/etc... I have downloaded both the PS and UFR II drivers from the C

  • Bios recovery - Computer will not boot up

    I have a HP Pavilion HPE H8-1145-SC, my bios will not boot. I was wondering if there are any ways of changing the jumper setting on the motherboard ( IPISB-CH2) to fix this issue if so how do I do it? or are there any other types of recoveries that I

  • Presentable Content is not listed in a Lync Room System's "Content" page

    I am using a Lync Room System version 15.11.  I have problem getting the pre-loaded "Presentable Content" I pre-loaded several PowerPoint and pre-worked some whiteboard for a scheduled Lync Meeting.  Other Presenters using Lync 2013 client were able

  • My iPhone 5 went to recovery mode when trying to install update 6.1.4

    A couple of hours ago, I got a prompt on my iPhone 5 to install update 6.1.4 over wifi (for the speakers). I turned on wifi in phone settings and clicked install and saw a tiny message saying 'Verifying, ..' The next thing I saw was a symbol for conn

  • What is the best keyboard case for the 15" Macbook Pro Retina?

    I currently just bought the new 15" Macbook Pro Retina display to replace my old 2007 Macbook 13" however I am reluctant to use it until I find a keyboard cover.  I have read many forums already and tried the Moshi keyboard cover (which didn't fit we