Web.xml servlet redirection question

Hi everyone;
As you know web.xml file allows you to enter something like this
     <servlet-mapping>
          <servlet-name>application1</servlet-name>
          <url-pattern>/application1</url-pattern>
     </servlet-mapping>
so you can find your application.
As you know it is case sensitive so if a user enters /Application1 it wouldn't be found. I was wondering if i could put a node in there that would redirect requests from Application1 to application.
Any ideas ?
Stev

oh i wasn't aware that i could put multiple nodes in there like this
<servlet-mapping>
<servlet-name>application1</servlet-name>
<url-pattern>/application1</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>application1</servlet-name>
<url-pattern>/Application1</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>application1</servlet-name>
<url-pattern>/APplication1</url-pattern>
</servlet-mapping>
is there a way to simply make this case insensitive and all requests get translated to the lowercase versioN?
Stev

Similar Messages

  • Web.xml - security constraint question

    I want to make a kind of inverted security constraint. I want to ALLOW access to one specific page over HTTP. All other pages should be HTTPS.
    Is that possible???

    Use the <security-role-ref> for the Faces Servlet to map the LDAP roles to the logical role names used by the managed bean to determine if links may be rendered.
    Bean code:
    this.isAdmin = context.getExternalContext().isUserInRole("admin");web.xml:
            <security-role>
              <role-name>Local Admin Group</role-name>
         </security-role>
         <security-role>
              <role-name>DBA Group</role-name>
         </security-role>
        <!-- Faces Servlet -->
        <servlet>
            <servlet-name>Faces Servlet</servlet-name>
            <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
            <security-role-ref>
                  <role-name>admin</role-name>
                  <role-link>DBA Group</role-link>
           </security-role-ref>
            <security-role-ref>
                  <role-name>admin</role-name>
                  <role-link>Local Admin Group</role-link>
           </security-role-ref>
        </servlet>

  • Configure web.xml to redirect on exception

    hi
    I am using creator and its default webServer to check my application.
    I want that if a class throws facesException then my page would be redirected to some failure.jsp
    I addede failure.jsp and the entry is there in managed beans.
    i edited the following in the web.xml
    <error-page>
    <exception-type>javax.faces.FacesException</exception-type>
    <location>/error/ExceptionHandler</location>
    </error-page>
    -------------------------- TO--------------
    <error-page>
    <exception-type>javax.faces.FacesException</exception-type>
    <location>/failure.jsp</location>
    </error-page>
    but now with error(i made the application to throw exception) it shows 404 error.
    i changed the <location>/failure.jsp</location>
    and <location>/web/failure.jsp</location>
    but nothing worked.. I know it works with context root.
    but how can i find what is the context root of deployed application.. how can i make this work .. Suppose my application name is MyWebApp then what path should i give to it.
    thanks

    hi i experience this problem too. e.g. my project name is webapplication
    i try redirecting 404 error to a html page but the webpage cannot be found although i already include the webpage into my "webapplication" folder/web. Please help. Thanks alot!
    <error-page>
    <error-code>404</error-code>
    <url-pattern>/error.html</url-pattern>
    </error-page>
    <error-page>
    <error-code>404</error-code>
    <url-pattern>/faces/error.html</url-pattern>
    </error-page>
    Both also doesnt work. Please help, need it urgently!! thanks in advance!

  • Need HELP!! Where I have to place an web.xml(servlet) file on server

    I'm using E-business suite for oracle HR version 11.
    On localhost i have developed an servlet file with using web.xml. On web.xml i have customized the file that can load a class for my servlet.But when I deploy on the server i had a cnfused wher do i have to place web.xml and my servlet.
    I have made an servlet file for my custom. Where do I have to place an xml(servlet) file on server?
    Would you give me know forsolving my problem.Please give me know,I really appreciated if you want to give some solution.
    Regards,
    Dany Fauzi

    Copy web.xml to WEB-INF directory of the web application.

  • Web.xml & Servlet

              Hello,
              If i put my servelt class file as per directory provided by WLS.(i.e
              web-inf/... . ) Then do i need to add it into wex.xml file ?
              Thanks
              Jigar
              

              Hello,
              If i put my servelt class file as per directory provided by WLS.(i.e
              web-inf/... . ) Then do i need to add it into wex.xml file ?
              Thanks
              Jigar
              

  • Adding servlet entry in web.xml of j2ee engine

    Hi ,
    I want a servlet to be loaded on startup of the j2ee engine SAP WAS which is basically flex based (MessageBrokerServlet). 
    The init param for the servlet is not accessible or cannot be initialized in init method of the servlet using the servletconfig object.
    This is when the servlet is used as a portal component of type servlet.
    So as to load the servlet and the servlet being able to access the init param i would be changing the web.xml of the sap j2ee engine (NW CE 7.1). are there any other effects of the same or is it fine if i just add this param in the web.xml
        <servlet>
            <servlet-name>MessageBrokerServlet</servlet-name>
            <display-name>MessageBrokerServlet</display-name>
            <servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
            <init-param>
                <param-name>services.configuration.file</param-name>
                <param-value>/WEB-INF/flex/services-config.xml</param-value>
           </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>

    Hi ,
    Vivek in case my servlet is part of the Portal Application as PortalComponent how do i define init parameters  that can be accessed in the servlet.
    The config file would be accessed in the init method of the servlet how do i do that when the servlet is added as PortalComponent in PortalApplication. The servlet config file needs to accessed in t he init method.
    The load on startup thing would be taken care of by setting parameter startup = true of application properties.
    Regards
    Srikumar V

  • Web.xml configuration for initial servlet load

    Hi all,
    I have heard of entering some tag into web.xml file (deployement descriptor) if we need some servlets to be loaded wheneve the app server starts or restarts. can some body help me regarding what to write in web.xml.
    thanks in advance

    I am having some problems with the same issue although specifying the load-on-startup param is not working for.
    Here is snipet of the web.xml:
    <servlet id="Servlet_1206024889339">
    <servlet-name>ContentServer</servlet-name>
    <servlet-class>COM.FutureTense.Servlet.SContentServer</servlet-class>
    <init-param id="InitParam_1206024988781">
    <param-name>inipath</param-name>
    <param-value>/data/WebSphere/ContentServer</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    This however doesn't init the contentServer servlet. Is there anythign else i need to check? I am using websphere5-1.
    I saw somewhere you might have to specify a loadonstartup=true? Where is this set?
    I know the app is reading the right web.xml because i put in a bad value and saw the error being outputted in the startup log.
    There are some servlets being initialised on startup but not the ones I want. These servlets don't seem to be in the web.xml.
    [10/10/08 11:53:30:265 IST] 1e06de8 WebContainer A SRVE0169I: Loading Web Module: cs.war.
    [10/10/08 11:53:33:330 IST] 1e06de8 WebGroup I SRVE0180I: [cs.war] [servlet] [Servlet.LOG]: JSP 1.2 Processor: init
    [10/10/08 11:53:34:098 IST] 1e06de8 WebGroup I SRVE0180I: [cs.war] [servlet] [Servlet.LOG]: SimpleFileServlet: init
    [10/10/08 11:53:34:117 IST] 1e06de8 WebGroup I SRVE0180I: [cs.war] [servlet] [Servlet.LOG]: DirectoryBrowsingServlet: init

  • Do we need to put the following code in the web-xml for the project to run

    Hi^^^,
    actually I have created a project in Eclipse WTP and I am running it from remote server. Its giving me 404 error when I tried to run it.
    I know 404 error is generally due to some error in deployment descriptor.
    I am going through this tutorial for creating project in eclipse WTP
    this says that I need to include the following code in web-xml. Please look at the quotes below
    "Web modules in J2EE has a deployment descriptor where you configure the web application and its components. This deployment descriptors is called the web.xml. According to the J2EE specification, it must be located in the WEB-INF folder. web.xml must have definitions for the Servlet and the Servlet URI mapping. Enter the following lines into web.xml:"
    "Listing 2. Deployment Descriptor web.xml"
    <servlet>
    <servlet-name>Snoop Servlet</servlet-name>
    <servlet-class>org.eclipse.wtp.tutorial.SnoopServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>Snoop Servlet</servlet-name>
    <url-pattern>/snoop/*</url-pattern>
    </servlet-mapping>
    My question is, it is necessary to include the above lines between <servlet> and </servlet-mapping> in web-xml
    thanks and regards,
    Prashant

    pksingh79 wrote:
    actually I have created a project in Eclipse WTP and I am running it from remote server. Its giving me 404 error when I tried to run it.
    I know 404 error is generally due to some error in deployment descriptor. what's the url you've put.
    <servlet>
    <servlet-name>Snoop Servlet</servlet-name>
    <servlet-class>org.eclipse.wtp.tutorial.SnoopServlet</servlet-class>
    </servlet> Every Servlet has to have a <servlet></Servlet> tag in the web.xml
    the <servlet-name>is for the naming the servlet and the <servlet-calss>is for class file of the servlet in your case the .class file is to be in the package of tutorial,if it's not then how the container will no where the calss file is
    <servlet-mapping>
    <servlet-name>Snoop Servlet</servlet-name>
    <url-pattern>/snoop/*</url-pattern>
    </servlet-mapping>You type something in your url likk http://localhost:8080/webappname (Tomcat server),so for url mapping instead of typing the entire class file name ,you just enough have to type what you've put in the <url-mapping> tag and it has to be inside of <servlet-mapping>
    I think the problem is in <url-pattern> change it like /snoop<url-pattern>
    My question is, it is necessary to include the above lines between <servlet> and ></servlet->mapping> in web.xmlSo now you think whether you need something inside <servlet>and </servlet-mapping>

  • Need help to set values from web.xml in a jsp class

    Hey :-)
    I`m trying to get value from my web.xml file into a jsp class. The problem is that the value always retur null. My web.xml file is replaced in the WEB-INF directory where should be. Here is my web.xml
    <servlet>
    <servlet-name>Html</servlet-name>
    <servlet-class>Html</servlet-class>
    <init-param>
    <param-name>html_test</param-name>
    <param-value>Value I want have in my jsp class
    </param-value>
    </init-param>
    </servlet>
    And her i my java class who don`t work:
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    import javax.servlet.ServletConfig;
    public class Html extends BodyTagSupport
    String title="";
    String html_test;
    ServletConfig config;
    public void doInitBody() throws JspException
    html_test = config.getInitParameter("html_test");
    }//End of method doInitBody()
    public int doStartTag() throws JspException
    try
    JspWriter out = pageContext.getOut();
    out.print( "<HTML>\n" );
    out.print( "<HEAD><TITLE>" + title + "</TITLE></HEAD>\n" );
    out.print( "<BODY>\n" );
    out.print( "<BR><H1>" + html_test + "</H1>" );
    And here are my html_test variable return null.
    I hope somone can help me, duke dollars will be given away for the solution answer.
    paulsep

    Nothing seems to work, have change the string and rewritten the web.xml file to:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!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>
              <context-param>
                   <param-name>html_test</param-name>
                   <param-value>Value I want have in my jsp class</param-value>
              </context-param>
    </web-app>

  • Init parameter in web.xml throwing an error..?

    OK.. this is probably going to sound strange, but here goes:
    Here is my entry in the web.xml:
    <servlet>
              <servlet-name>ServletTestRunner</servlet-name>
              <servlet-class>
                   org.apache.cactus.server.runner.ServletTestRunner
              </servlet-class>
         </servlet>
         <servlet-mapping>
              <servlet-name>ServletTestRunner</servlet-name>
              <url-pattern>/ServletTestRunner</url-pattern>
         </servlet-mapping>Everything works fine - I pull up the servlet with the following URL (http://localhost:7001/CDCAppWeb/ServletTestRunner?suite=com.testcases.decision.service.SendCreditRequestBeanTest)
    , and receive the results in XML format. However, if I change the web.xml to have the following:
         <servlet>
              <servlet-name>ServletTestRunner</servlet-name>
              <servlet-class>
                   org.apache.cactus.server.runner.ServletTestRunner
              </servlet-class>
              <init-param>
                   <param-name>xsl-stylesheet</param-name>
                   <param-value>cactus-report.xsl</param-value>
              </init-param>
         </servlet>(notice the cactus-report.xsl init-param entry) - the servlet does not work. Actually, NONE of the other servlets in my application work when I put in this init-param for the ServletTestRunner. I have verified that the xsl is in the classpath (WEB-INF/classes).
    What I am missing... any ideas?

    I know what the problem is. If you call servlet with the default URL (http://host/app/servlet/package.Servlet) than Servlet DOES NOT read init parameters. I don't know why it was designed this way.
    To make servlet read init parameters, you have to assign it a name and then call it with that name, like this:
    <servlet>
    <servlet-name>ServletName</servlet-name>
    <servlet-class>package.ServletClass</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>ServletName</servlet-name>
    <url-pattern>/app/path/ServletName</url-pattern>
    </servlet-mapping>
    You can then call servlet using path specified in url-pattern and read init parameters in the normal way.

  • Web.xml  configured correctly(I think),  but still getting '404...resource

    not found error' from tomcat. Here is my web.xml:
    <servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>HelloServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>HelloServlet2</servlet-name>
    <servlet-class>coreservlets.HelloServlet2</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/classes/HelloServlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>HelloServlet2</servlet-name>
    <url-pattern>/classes/coreservlets.HelloServlet2</url-pattern>
    </servlet-mapping>
    </web-app>
    when I went to the following urls after I had edited web.xml to the above,
    http://localhost:8080/cucoweb/classes/coreservlets.HelloServlet2
    http://localhost:8080/cucoweb/classes/HelloServlet
    I go the expected results, ie, 'Hello(2)' and 'Hello'. Then I shutdown tomcat and restarted it.
    And when i tried to access those 2 urls again, I got the above error.
    (Actually I had the same web.xml before except that it didnt have the /classes in front in the
    url-pattern. I was able to access it by the same url - without the /classes - and then the next day
    when started tomcat and tried to access it, it didnt work, same error.)
    In this example, cucoweb is the context root, correct ? Shouldn't the url-pattern be relative to the
    context root ? Thats how I have it now, I think.
    Would adding my webapp directory, ie cucoweb/classes, to my CLASSPATH help ?
    I'm in ubuntu, when I do echo $CLASSPATH, I get :
    .:/usr/lib/jvm/java-6-sun-1.6.0.00/lib:/usr/lib/jvm/java-6-sun-1.6.0.00/imq/lib/:/usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib
    I havent tried this yet because doing this is kind of tricky in ubuntu. (You have etc/environment and
    bash.bashrc, for ex.) But if I try that and it works I will post about it. I suspect its something else,
    though, because it worked once, before restarting tomcat, thats why I'm posting here first.
    Any info, even educated guesses, would be greatly appreciated. Thanks in advance.

    Thanks for the reply. Here is my web structure :
    /usr/local/tomcat/apache-tomcat-6.0.14/webapps/cucoweb/WEB-INF/classes
    From my understanding you are supposed to have your own webapp deployment directory
    under webapps, ie, cucoweb, and not use webapps/ROOT. (I'm not sure what /ROOT is even for)
    My web.xml is in WEB-INF. My /classes directory contains HelloServlet.class and a directory
    called coreservlets which contains HelloServlet2.class.
    I'm not sure what you mean by 'better you to delete under tomcat/work/catalina/localhost folder'.
    Can you please clarify ?
    FYI, my work/catalina/localhost contains the following :
    cucoweb docs examples host-manager manager
    Here cucoweb just contains a SESSIONS.ser file. Are you saying i should delete that ?

  • How to deploy web.xml in OAF to server?

    Hello,
    Currently i used oracle 9i jeveloper to develop OAF page for EBS 11.5.10
    based on requirement, i need create a new JSP file and change default web.xml file in jeveloper. Who can help how to deploy new web.xml to server? Thank you very much!
    Added following code to web.xml
    ---web.xml------------
    <servlet>
    <servlet-name>barbecue</servlet-name>
    <servlet-class>net.sourceforge.barbecue.BarcodeServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>barbecue</servlet-name>
    <url-pattern>/CreateBarCode</url-pattern>
    </servlet-mapping>
    -----------------------------------

    Anyone know how to deploy web.xml in local jeveloper to server? thanks a lot!

  • (newbie) Question about replacing .class files and web.xml file

    I'm new to servlets and I have two quick questions...
    Do I absolutely need a web.xml file to define all my servlets, or can I simply place .class files into the WEB-INF directory and expect them to run?
    If my application server (for example Tomcat) is running and I replace a servlet .class file, do I need to restart the server for the new .class file to take effect?
    ...or are both of these questions specific to the application server I'm using?

    Hi,
    From an article I read:
    With Tomcat 3.x, by default servlet container was set up to allow invoking a servet through a common mapping under the /servlet/ directory.
    A servlet could be accessed by simply using an url like this one:
    http://[domain]:[port]/[context]/servlet/[servlet full qualified name].
    The mapping was set inside the web application descriptor (web.xml), located under $TOMCAT_HOME/conf.
    With Tomcat 4.x the Jakarta developers have decided to stop allowing this by default. The <servlet-mapping> tag that sets this mapping up, has been commented inside the default web application descriptor (web.xml), located under $CATALINA_HOME/conf:
    <!-- The mapping for the invoker servlet -->
    <!--
    <servlet-mapping>
    <servlet-name>invoker</servlet-name>
    <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>
    -->
    A developer can simply map all the servlet inside the web application descriptor of its own web application (that is highly suggested), or simply uncomment that mapping (that is highly discouraged).
    It is important to notice that the /servlet/ isn't part of Servlet 2.3 specifications so there are no guarantee that the container will support that. So, if the developer decides to uncomment that mapping, the application will loose portabiliy.
    And declangallagher, I will use caution in future :-)

  • Order of servlet mapping in web.xml

    Hello,
    is the order of multiple <servlet-mapping> in web.xml important? Or it doesn't matter in which order they are declared?
    For example, if i have two controllers, one is
    <servlet-name>Faces Servlet</servlet-name>
      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
    </servlet>
    and the second:
      <servlet>
        <servlet-name>FrontController</servlet-name>
        <servlet-class>servlets.FrontController</servlet-class>
      </servlet>
    and the mapping are:
       <servlet-mapping>
        <servlet-name>FrontController</servlet-name>
        <url-pattern>/jsf/*</url-pattern>
      </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
      </servlet-mapping>where /jsf/ contains jsp pages containing jsf components.
    is the order important?
    And may second question is:
    if i call the jsp page test.jsf in /jsf/test.jsp , which controller is responseble? Faces servlet or Frontcontroller?

    Here is what the 2.4 specification says on the matter (section SRV.11.1):
    >
    The path used for mapping to a servlet is the request URL from the request
    object minus the context path and the path parameters. The URL path mapping rules below are used in order. The first successful match is used with no further matches attempted:
    1. The container will try to find an exact match of the path of the request to the
    path of the servlet. A successful match selects the servlet.
    2. The container will recursively try to match the longest path-prefix. This is done by stepping down the path tree a directory at a time, using the �/� character as a path separator. The longest match determines the servlet selected.
    3. If the last segment in the URL path contains an extension (e.g. .jsp), the servlet container will try to match a servlet that handles requests for the extension. An extension is defined as the part of the last segment after the last �.� character.
    4. If neither of the previous three rules result in a servlet match, the container will attempt to serve content appropriate for the resource requested. If a "default" servlet is defined for the application, it will be used.
    The container must use case-sensitive string comparisons for matching.
    It also notes that in prior versions of the specification these were only a suggestion so if you are on servlet 2.3 or prior, you need to consult the documentation for your container.
    So, to answer your questions, no, order in the descriptor is not important.
    Also, based on the rules above, using your mappings, any URL starting with /jsf will be handled by FrontController including /jsf/test.jsp and /jsf/test.jsf.

  • Servlet mappings in web.xml is not picking up propelry

    Hi,
    I am developing on java web application in Jdeveloper and trying to deploy in integrated wls.
    i have one jsp page, and one java servlet. and added url-pattern and servlet mappings in web.xml, but when running the jsp, it is not picking up the servelt . I am getting the error saying 'The server has not found anything matching the Request-URI.'
    Can you help me in fixing this issue.
    Thanks in advance.

    Hi,
    I have one Test.html file under public_html folder, and in that html form action url is as below:
    <form action="/servlet/testServlet" method="post">
    .</form>
    and my web.xml content is:
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5" xmlns="http://java.sun.com/xml/ns/javaee">
    <servlet>
    <display-name>TestServlet</display-name>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>oracle.apps.servlet.TestServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/servlet/testServlet</url-pattern>
    </servlet-mapping>
    </web-app>
    When i run the HTML page, the URL is : http://local:7101/Application1-Test-context-root/Test.html
    and when click on button, its redirecting to http://local:7101/servlet/testServlet and getting the error saying that 'The server has not found anything matching the Request-URI' ideally it shuld redirect to http://local:7101/Application1-Test-context-root/servlet/testServlet.
    let me know what could be the problem?

Maybe you are looking for

  • Using the mini DVI - DVI cable with HDMI LCD screen?

    Hi, I bought the apple mini DVI - DVI connector to connect my imac to the back of my plasma. I have a 3 meter DVI cable to extend the mini DVI - DVI connector. It worked fine but the plasma is not so good for my purposes as i am using the set up to d

  • Change and set Focus of window

    HI Guys I have encountered a problem while setting focus of my application's windows. i found the way i.e. by public void windowGainedFocus(WindowEvent wgf) {                     if(this.isActive()){                VWM.theVWMDetailWindow.setAlwaysOnT

  • Pro Oracle App Express issue : Running stored proc from link in e-mail..

    Just ran into an issue and need some help with it. A person I work with was using code from John Scott's book (Great Book for APEX!!) and was using the verification e-mail link code, when it started acting up. The e-mail that is sent is to call a pro

  • How to send sap generated invoice numbers using rffoedi1 program

    Hi all we are generating PEXR2002 IDocs using RFFOEDI1 program . The program is populating the invoice number field in IDoc with the value from reference number field in MIRO screen. Is there any way that we can populate the SAP generated invoice num

  • Subtotal and total with ****  In Inventory in Warehouse Report

    Hello everyone! I'm running the Inventory in Warehouse Report and noticed that for some warehouses it does not calculate the sum for the Total columm, instead of that it shows ****. Therefore in the Grand Total the same *** is shown. How can I fix th