Tomcat - web.xml

hi guys
I am running Tomcat 5 on my system. Unfortunatly I hava to make an entry in the web.xml for every test servlet I deploy. Is there a way to call a servlet without an entry in the web.xml?
greets
m.

Hi,
I have a doubt , do we really need to make an entry for a servlet in all webservers at web.xml
I was just thinking like, only those servlet which has defined to have some initparam values that are supposed to used within in the servlet should be made as a part of the entry in an web.xml
for ex: database uri/some servlet information which always changes
Im i correct..
Please tell me more abt the same..
with Regards
Lokesh T.C

Similar Messages

  • Tomcat web.xml "display-name" using flex.messaging.MessageBrokerServlet

           Hello,
    When my web application starts with the BlazeDS servlet flex.messaging.MessageBrokerServlet defined in the web.xml we have an error because in the display-name defined at top level in web.xml we have some text containing character ':'. The error is traced to inside the function
             flex.management.BaseControl.getObjectName()
    Which gets the object name, and this function calls
       BaseControl.getApplicationId()
    which finally calls
    ServletConfig.getServletContext().getServletContextName()
    This will return or display-name from the web.xml with all  it's text. This text contains among other characters the character ':'.  We use this tag for the display in the Tomcat Manager to see version  number and other of deployed project.
    After retrieving this name it is appended in the getObjectName() function to a buffer, this StringBuffer that already contains flex.runtime. and  now this name is appended (still with all that we are using for Tomcat  Manager with ':' character and other). After the name, other things are  appended. Our problem is that, after constructing this StringBuffer an instance of javax.management.ObjectName is created. In it's constructor it takes a String name  as input. This String is parsed in base of characters ':', '*', '?',  '\n' and so on, and since we have some of these characters in our  display-name it all goes wrong.
       My question is, if this is a bug, a limitation or if it is documented that using flex.messaging.MessageBrokerServlet we can not use certain characters in the display-name of the web.xml?
       Greetings, Tim
       We are using
    Tomcat 5.5.23
    Jdk 1.5.0_14
    blazeds-src-4.0.1.17657
    part of web.xml
         <display-name>
             Version: 1.10.0.3 (01/02/2011), Environment development, AGP:  10.220.6.8:1557/AGPSVI, AGP_STAGE: host 10.220.6.8:1557/AGPSVI
         </display-name>
         <description>IMPRESA progetto con undergroung</description>
         <listener>
             <listener-class>flex.messaging.HttpFlexSession</listener-class>
         </listener>
         <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>

    I have found that this is a bug and there is an issue open at the "Adobe Bug and Issue Management System", BLZ-617. I don't know if work is in progress, but when that issue is closed the problem will be solved.
      Greetings, Tim

  • How to get Context paramters out of Tomcat web.xml file

    The Documentation at Tomcat seems to suggest:
    Context initialization parameters that define shared
    String constants used within your application, which
    can be customized by the system administrator who is
    installing your application. The values actually
    assigned to these parameters can be retrieved in a
    servlet or JSP page by calling:
    String value =
    getServletContext().getInitParameter("name");
    Now I want to write a jsp, where the user enters his username and pwd, and this contacts a jdbc connection bean. I want to store the driver name in the web.xml file. Now can some1 please suggest a method as to how I can extract this (It ain't that straightforward as suggested in tomcat doumntation. You cannnot call the above method ithout Servlet Initialization (actually to say ithout HTTP Connection). I succeeded when I had written a servlet, but can some1 please suggest an alternative (bcoz othrwise just to extract that I am writing a servlet).
    Hope I am clear.
    Thanks in advance.

    Edit your web.xml file and add these entries,
    <context-param>
    <param-name>dbUrl</param-name>
    <param-value>jdbc:oracle:thin:@server5:1521:pl2java</param-value>
    </context-param>
    <context-param>
    <param-name>dbDriver</param-name>
    <param-value>oracle.jdbc.driver.OracleDriver</param-value>
    </context-param>
    Place the above entries in between your already existing <web-app> and </web-app> tags.
    Now in your jsp, you can use, <% application.getInitParameter(); %> and in servlet, getServletContext().getInitParameter();
    Hope this helps.
    Sudha

  • Web.xml file

    Hi
    I have a servlet that is working perfectly through JBuilder. When I try and run it through Tomcat I get an error saying it cannot find the file. In JBuilder I have a html form. The value entered in the form is passed to the servlet. The servlet calls Java classes from a different package. The servlet uses the value from the form as the paramater needed for the classes in the other package and outputs the results.
    I cannot get this working outside JBuilder.
    It could be something to do with the web.xml file. I tried copying the webapp folder from the JBuilder servlet project straight across to Tomcat but it didnt work. This project has its own WEB-INF folder and web.xml file. Should this work or do I need to change the Tomcat web.xml file.
    Any help
    Damul

    Hai,
    First you are taking the parameter value from the HTML page, pass it to the package class and show the out put.
    Fine, to run in Tomcat 4.1.24,first you have to create a context of yours.
    Else you can place your class files or package in the folder
    'examples' of webapps in Tomcat directory.
    Now place your HTML file in 'examples' folder.
    One more thing you have to include your package class name in the web.xml for the new context,if you create.Else if you place in the 'examples' folder , no need to edit web.xml
    to run this, for your package
    http://localhost:8080/examples/servlet/<packagename>.<classname>
    Hope this works out...

  • Security constraint in web.xml

    Hi All
    I want to set a security contraint to verfity my system user, I know I need to put the following section into the tomcat created web.xml. But I dont know where is the web.xml on my Tomcat 4.1.24, because i found many web.xml files in different directory.
    Q1) Sorry I know this is a silly question, but can u tell me which web.xml is the one I need to edit in order to set my the security constraint?
    Q2) Instead of editing the created Tomcat web.xml, can I create my own web.xml and put it in <Tomcat_Homw>/webapps/ROOT/WEB-INF. This is just only for the security constraint towards my system.
    Many many thanks
    Kelvin
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>Administration</web-resource-name>
    <url-pattern>/admin</url-pattern>
    <url-pattern>/users</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name>administrator</role-name>
    </auth-constraint>
    </security-constraint>
    <login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
    <form-login-page>/login</form-login-page>
    <form-error-page>/login-error</form-error-page>
    </form-login-config>
    </login-config>
    <security-role>
    <role-name>administrator</role-name>
    </security-role>

    you need to do it for every web-app... thats why there is one web.xml file for each! There is a thing in CATALINA_HOME/conf/server.xml that u can uncomment to enable 'single-logon' which means u cna log on once and be authenticated for every web-app...
    root isn't a web-app i don't think... so therefore u can't restrict access to it (someone correct me if wrong)... I don't know what u mean by restricting access to your 'system'

  • Init-params in web.xml are not loaded (Tomcat 4)

    Hello all...
    I register a servlet in webapps/<my-servlet>/WEB-INF/web.xml file, and pass 1 <init-param> tag. The file gets parsed (I know because when I made errors tomcat complained during initialization). However, when in the init method of the servlet I try to access this parameter, its not there. In fact, the servlet has NO init params at all.
    =================================================
    I have the following web.xml file
    <?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>
    <servlet>
    <servlet-name>XServlet</servlet-name>
    <servlet-class>com.fxcm.xml.xengine.xdas.XServlet</servlet-class>
    <init-param>
    <param-name>xengine.configFile</param-name>
    <param-value>c:/projects/re/das.config/config.xng</param-value>
    </init-param>
    </servlet>
    <servlet-mapping>
         <servlet-name>XServlet</servlet-name>
         <url-pattern>/xservlet</url-pattern>
    </servlet-mapping>
    </web-app>
    =======================================================
    I have the following servlet
    * XServlet.java
    * Created on May 6, 2002, 1:17 PM
    package com.fxcm.xml.xengine.xdas;
    import javax.servlet.*;
    import javax.servlet.http.HttpServlet;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.ServletConfig;
    import java.util.Enumeration;
    import com.fxcm.xml.xengine.XEngine;
    public class XServlet extends HttpServlet{
    /** Initiates new XServlet */
    public void init(ServletConfig config)
    throws ServletException
              for (Enumeration e = config.getInitParameterNames(); e.hasMoreElements();){
    //This statement never gets printed because the loop never enters here since there are no init parameters
                   System.out.println(e.nextElement());
    super.init(config);
    String str = config.getInitParameter("xengine.configFile");
    System.out.println(str);
    XEngine.init(str.trim()); //This line throws NullPointer, because str is null since there are no initParameters.
    public void doPost(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException{
    // res.setContentType( );
              System.out.println("Got post request in XServlet");
    PrintWriter out = res.getWriter();
    out.println(XEngine.process(req.getInputStream()));
    out.flush();
    out.close();
    ================================================================
    I get the follwoing error in the browser:
    type Exception report
    message Internal Server Error
    description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.
    exception
    java.lang.NullPointerException
         at com.fxcm.xml.xengine.xdas.XServlet.init(Unknown Source)
         at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:918)
         at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:655)
         at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:400)
    Please help.
    Thank you,
    Elana

    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.

  • Security in my web.xml in Tomcat 4

    Hello,
    I was using this application on Tomcat 3 and my web.xml worked perfectly well.
    However when I tried to start it on Tomcat 4 there is something wrong with the
    security part of my web.xml . If I leave out the security constraint for this application, it
    works. However if I make my application secure I am unable to view it in the browser.
    It does not try to connect to the login.jsp page for log in , but simply displays the message that the page is unavailable and that I have to refresh my browser. Please help me with that because I am stuck.
    Here is my web.xml :
    <?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>
    <servlet>
    <servlet-name>UploadServlet</servlet-name>
    <servlet-class>UploadServlet</servlet-class>
    <init-param>
    <param-name>SaveDirectory</param-name>
    <param-value>C:\Homeworks\</param-value>
    </init-param>
    <init-param>
    <param-name>Proffesors</param-name>
    <param-value>Clayton,Douglass,Guruvado</param-value>
    </init-param>
    </servlet>
    <security-constraint>
    <display-name>Protected Homework Upload</display-name>
    <web-resource-collection>
    <web-resource-name>Protected Area</web-resource-name>
         <!-- Define the context-relative URL(s) to be protected -->
    <!--<url-pattern>/servlet/Upload</url-pattern>-->
         <url-pattern>/servlet/UploadServlet</url-pattern>
         <!-- If you list http methods, only those methods are protected -->
         <http-method>DELETE</http-method>
    <http-method>GET</http-method>
    <http-method>POST</http-method>
         <http-method>PUT</http-method>
    </web-resource-collection>
    <auth-constraint>
    <!-- Anyone with one of the listed roles may access this area -->
    <role-name>student</role-name>
    <role-name>proffesor</role-name>
    </auth-constraint>
    </security-constraint>
    <login-config>
    <auth-method>FORM</auth-method>
    <realm-name>Example Form-Based Authentication Area</realm-name>
    <form-login-config>
    <form-login-page>/login.jsp</form-login-page>
    <form-error-page>/error.jsp</form-error-page>
    </form-login-config>
    </login-config>
    </web-app>
    Thank you very much for your time and advise. I appreciate it very much
    Martin

    hi,slice
    I donot really find exactly what is wrong in your config file. But I have some suggestions:
    1.Please use servlet URL mapping in "servlet" tag (for example: "/security/upload") instead of using default servlet URL(just like "/servlet/UploadServlet").
    2. In the "url-pattern" tag inside "web-resource-name" ,please using "/security/*", if you are using my suggestion above.
    3.Make sure that your "login.jsp" page is in the right place of the application's doc-root.
    Make a try and good luck!
    Wang Yu
    Developer Technical Support
    Sun Microsystems
    http://sun.com/developers/support

  • Configure web.xml in tomcat for sub class folders

    Hi Guys,
    I am using a tomcat server. I have a package file and have created a dir in webapps called "testApp". In the classes folder, I have another folder called "CheckServlets" and within this I have 2 servlets. How can I configure my web.xml properties to get the servlets to load in a browser. I have tried the following but it doesnt work:
    <servlet>
    <servlet-name>test</servlet-name>
    <servlet-class>/CheckServlets/HelloServlet/</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>test</servlet-name>
    <url-pattern>/hello/test/</url-pattern>
    </servlet-mapping>
    So I try http://localhost:8080/testApp/hello/test but that doesnt work.

    I presume your servlet is in a package called CheckServlets?
    ie it starts something like
    package CheckServlets
    public class HelloServlet extends HttpServlet {
    }Remove the / signs from the servlet-class. This attribute should be a fully qualified class name. Like java.lang.String, or com.mypackage.servlet.MyServlet
    Given the above servlet in a package, it should be
    <servlet>
      <servlet-name>test</servlet-name>
      <servlet-class>CheckServlets.HelloServlet</servlet-class>
    </servlet>Cheers,
    evnafets

  • Tomcat 404 error until I apply this change to my web.xml mapping

    What is the purpose of the /servlet/ portion of the url-pattern in the servlet mapping element below.
    If I use the first few lines I get a 404 class not found error
    If I include /servlet/ in the url-pattern element then my app works fine ?????
    //Does not work
    <servlet-mapping>
    <servlet-name>login</servlet-name>
    <url-pattern>com.onjava.login</url-pattern>
    </servlet-mapping>
    //works !!
    <servlet-mapping>
    <servlet-name>login</servlet-name>
    <url-pattern>/servlet/com.onjava.login</url-pattern>
    </servlet-mapping>

    If the first mapping doesn't work and the second mapping works then my guess is that neither mapping is working. What may be happening is the invoker servlet may be enabled and that would explain why the /servlet url works.
    The invoker servlet is set up in the conf/web.xml file. This servlet will invoke a particular servlet using the class name and the /servlet url. In newer versions of tomcat the invoker servlet id disabled by default.
    Now the question is why does the servlet mapping not work? What version of tomcat are you running? Can you post the entire web.xml?

  • Automate creation of web.xml file for tomcat 4.1.29

    hi , this is with ref to Tomcat 4.1.29, if i am correct, each Servlet in the application has to be mentioned in the web.xml file for the Tomcat to know about it. Is there any way to automate the creation of web.xml file , depending on the contents of the Servlet folder of the application. Any way to escape from writing each Servlet name in web.xml file.
    rc

    Hello,
    Maybe you should check if you can use Ant tool to do
    that. I am not sure if it can help u.
    Zeph.
    http://ant.apache.org/
    It will, specially if used in conjunction with XDoclets :
    http://xdoclet.sourceforge.net/
    XDoclet has Ant tasks to generate web.xml files.

  • Reload web-inf/web.xml file without restarting tomcat

    Please help me if any one have a solution .
    I am doing development in jsp, servlet. I am using tomcat5 as a webserver.
    i want to reload web-inf/web.xml file without restarting tomcat.

    From the tomcat admin page you can stop/start and refresh individual applications. See the tomcat documentation. Which, when you have a question about tomcat, you should always do first.

  • Running servlets not described in web.xml (tomcat-4.1.24)

    Is it compulsory to have a entry in the web.xml to run a servlet in tomcat-4.x. In tomcat 3.x it was not required. If it is not a must how to enable that??
    thanx in advance
    Binny

    i had completly forgotten i could just place a servlet in the web-inf/classes. after using jsp for so long, some things just get lost.
    what im wondering now is if i can have other directories inside the classes directory and still be called while not being registered in the deployment descriptor ? in otherwords, lets say i have several servlets organized into packages. can i call a servlet thats in a particular package if i fully qualify the class ? guess ill have to try

  • Security constraint in Web.xml of tomcat

    Hi
    I have a web-application running on tomcat . Inside the context folder i have several directories having some pre-defined configuration files . But the user is able to directly access them by typing the path including the fileName in the URL ( I have disabled the listings property however)
    How can i prevent accessing the specific files .... I tried using
    <security-constraint>
    <display-name>Security constarint</display-name>
    <web-resource-collection>
    <web-resource-name>Java Application</web-resource-name>
    <url-pattern>/folder/*</url-pattern>
    <auth-constraint>
    <role-name>tomcat</role-name>
    </auth-constraint>
    </web-resource-collection>
    <auth-constraint>
    <role-name>tomcat</role-name>
    </auth-constraint>
    </security-constraint>
    <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>OnJava Application</realm-name>
    </login-config>
    This seems to be working fine , but when the user enters the wrong security info thrice , 401 error page is coming instead i want my custom page . Hence i configured an error page for 401 code which overwrited the earlier behavaiour ie.. that BASIC authentication popup is not coming
    Can any one let me know how to go about this

    Hi ,
    I have tried adding the following into web.xml but the security feature just doesnt work and the user can go to any page without any restriction.
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>Declarative Security Test</web-resource-name>
    <url-pattern>/SuperServlet</url-pattern>
    <url-pattern>/*</url-pattern>
    <http-method>post</http-method>
    <http-method>get</http-method>
    </web-resource-collection>
    <user-data-constraint>
         <transport-guarantee>CONFIDENTIAL</transport-guarantee>
         </user-data-constraint>
    <auth-constraint>
    <role-name>guest</role-name>
    <role-name>member</role-name>
    </auth-constraint>
    </security-constraint>
    <login-config>
    <auth-method>BASIC</auth-method>
    </login-config>
    <security-role>
    <role-name>guest</role-name>
    <role-name>member</role-name>
    </security-role>
    The roles mentioned above have been added correctly into tomcat-users.xml..The version of tomcat I am using is tomcat5.0.28.Please help.

  • Where is the web.xml file in Tomcat 5.5

    hi folks,
    i made a small appl in Tomcat 5.5 named "Name". I made a WEB-INF folder inside the Name folder (which obv is inside the webapps folder), which inside had the classes and lib folder. After running the application where do i look for the web.xml file controlling my appl?
    thanx in advance..

    well, the web.xml file must be done for you. Its specific to your project, you wont find in on other folders of tomcat.

  • Web.xml problem in tomcat web hosting site

    Hi i need help in this... its urgent
    currently i just subscribe to a web hosting site and i need to start the private tomcat in the web server..
    The followings are the instructions and i have follow them but i do not know how to create a web.xml file to store in the folder indicated for example a HelloServlet that im testing :
    To setup servlet, you need to configure servlet into the file web.xml which needs to be placed in /var/www/html/WEB-INF directory.
    www root directory or webapps:/var/www/htm
    Classes directory located in: /var/www/html/WEB-INF/Classes/
    There you will need to upload your Java class file.
    Our default url-mapping for servlet is: /servlet/*
    To check servlet in your browser: www.mydomain.net/servlet/HelloWorld
    Jsp Files - Upload anywhere in /var/www/html
    all the above steps are follow except the web.xml file which i suppose to write and store in the folder... but i actually try to write one but i still cannot load my servlet on the webpage... test on standalone tomcat works.
    pls help its urgent!!!

    Please don't cross post
    http://forum.java.sun.com/thread.jsp?thread=500509&forum=45&message=2366915

Maybe you are looking for

  • How do I add a computer to my itunes account?

    Hello, I have an iTunes account that has my iMac registered to and now I wish to access that account from my new Mac Air laptop, and download previous purchases. I can't see anywhere to add this. Thanks for any advice

  • Less redo generates at the time of online backup using RMAN

    Hi, can someone eleborate that why less redo generates at the time of RMAN online backup in comparison of manual hotbackup. Thanks

  • Idvd created dvd-r won't play on Blue-ray

    I burned a DVD in IPHOTO. It plays on IMAC but not on my Samsung CD/DVD player. WHY.

  • Problem in using UTL_FILE_DIR

    Hi, I am trying to set value for the parameter UTL_FILE_DIR in init.ora. After restarting the database i couldnt find the value in v$parameter. I need to write into a txt file using UTL_FILE. I'm getting the following error. ERROR at line 1: ORA-2928

  • BigDecimal division

    HI All, I want to use the Bigdecimal logic for dividing the by 100 in message Mapping. How can i achive this..Is there any documentation is available? or anybody can tell me how can i use bigdecimal for  division? REgards Venkatesh