WebForms by means of Tomcat

I know it is not supported, but I wonder:
I like Tomcat, it is a small and stable WebContainer. I run my developed JSP en Servlets on it.
When I want to run "WebForms" I need to use OC4J or (for 11) WebLogic.
Many, many, megabytes... I don't like that. Keep it simple.
So, as far as I can understand WebForms it consist of 2 Servlets:
- Forms Servlet: for making up the correct HTML-page containing the applet
- Forms Listener Servlet: start, stop, and communicate with the Forms runtime process
Is it possible to run these servlets on Tomcat?
And, if not, why not?
Thanks
Stephan

So, as far as I can understand WebForms it consist of 2 Servlets:As you already said, one of the servlets is communicating with the forms runtime process. This runtime process is some kind of c-program running on the applicationserver.
Is it possible to run these servlets on Tomcat?Well, i guess you have to try it..

Similar Messages

  • Problem with Configuring Tomcat for running jsp web applications..Plz HELP

    I am using Tomcat 5.5 and Jdk 1.5.0_12 and Oracle 10g. I am using jdbc-odbc bridge connection
    to connect to the database. I have placed my project folder called
    tdm under the webapps folder in Tomcat. This 'tdm' folder consists of
    a collection of html pages,jsp pages and images of my project. Also I created a
    WEB-INF folderand in that I have lib folder which contains catalina-root.jar
    , classes12.jar and nls_charset.jar files. And also in the WEB-INF folder I have the web.xml
    file which looks like this
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!--
    Copyright 2004 The Apache Software Foundation
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    -->
    <web-app>
    <resource-ref>
    <description>Oracle Datasource example</description>
    <res-ref-name>jdbc/gdn</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>
    My Server.xml file in Tomcat\conf folder is as follows
    <!-- Example Server Configuration File -->
    <!-- Note that component elements are nested corresponding to their
    parent-child relationships with each other -->
    <!-- A "Server" is a singleton element that represents the entire JVM,
    which may contain one or more "Service" instances. The Server
    listens for a shutdown command on the indicated port.
    Note: A "Server" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <Server port="8005" shutdown="SHUTDOWN">
    <!-- Comment these entries out to disable JMX MBeans support used for the
    administration web application -->
    <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
    <!-- Global JNDI resources -->
    <GlobalNamingResources>
    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    <!-- Editable user database that can also be used by
    UserDatabaseRealm to authenticate users -->
    <Resource name="UserDatabase" auth="Container"
    type="org.apache.catalina.UserDatabase"
    description="User database that can be updated and saved"
    factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
    pathname="conf/tomcat-users.xml" />
    <Resource name="jdbc/gdn" auth="Container"
    type="javax.sql.DataSource" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
    url="jdbc:odbc:gdn"
    username="system" password="tiger" maxActive="20" maxIdle="10"
    maxWait="-1"/>
    </GlobalNamingResources>
    <!-- A "Service" is a collection of one or more "Connectors" that share
    a single "Container" (and therefore the web applications visible
    within that Container). Normally, that Container is an "Engine",
    but this is not required.
    Note: A "Service" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <!-- Define the Tomcat Stand-Alone Service -->
    <Service name="Catalina">
    <!-- A "Connector" represents an endpoint by which requests are received
    and responses are returned. Each Connector passes requests on to the
    associated "Container" (normally an Engine) for processing.
    By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
    You can also enable an SSL HTTP/1.1 Connector on port 8443 by
    following the instructions below and uncommenting the second Connector
    entry. SSL support requires the following steps (see the SSL Config
    HOWTO in the Tomcat 5 documentation bundle for more detailed
    instructions):
    * If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
    later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
    * Execute:
    %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
    $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
    with a password value of "changeit" for both the certificate and
    the keystore itself.
    By default, DNS lookups are enabled when a web application calls
    request.getRemoteHost(). This can have an adverse impact on
    performance, so you can disable it by setting the
    "enableLookups" attribute to "false". When DNS lookups are disabled,
    request.getRemoteHost() will return the String version of the
    IP address of the remote client.
    -->
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector
    port="5050" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" />
    <!-- Note : To disable connection timeouts, set connectionTimeout value
    to 0 -->
         <!-- Note : To use gzip compression you could set the following properties :
                   compression="on"
                   compressionMinSize="2048"
                   noCompressionUserAgents="gozilla, traviata"
                   compressableMimeType="text/html,text/xml"
         -->
    <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
    <!--
    <Connector port="8443"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" disableUploadTimeout="true"
    acceptCount="100" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS" />
    -->
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009"
    enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
    <!-- See proxy documentation for more information about using this. -->
    <!--
    <Connector port="8082"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" acceptCount="100" connectionTimeout="20000"
    proxyPort="80" disableUploadTimeout="true" />
    -->
    <!-- An Engine represents the entry point (within Catalina) that processes
    every request. The Engine implementation for Tomcat stand alone
    analyzes the HTTP headers included with the request, and passes them
    on to the appropriate Host (virtual host). -->
    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
    -->
    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Catalina" defaultHost="localhost">
    <!-- The request dumper valve dumps useful debugging information about
    the request headers and cookies that were received, and the response
    headers and cookies that were sent, for all requests received by
    this instance of Tomcat. If you care only about requests to a
    particular virtual host, or a particular application, nest this
    element inside the corresponding <Host> or <Context> entry instead.
    For a similar mechanism that is portable to all Servlet 2.4
    containers, check out the "RequestDumperFilter" Filter in the
    example application (the source for this filter may be found in
    "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
    Request dumping is disabled by default. Uncomment the following
    element to enable it. -->
    <!--
    <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
    -->
    <!-- Because this Realm is here, an instance will be shared globally -->
    <!-- This Realm uses the UserDatabase configured in the global JNDI
    resources under the key "UserDatabase". Any edits
    that are performed against this UserDatabase are immediately
    available for use by the Realm. -->
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
    resourceName="UserDatabase"/>
    <!-- Comment out the old realm but leave here for now in case we
    need to go back quickly -->
    <!--
    <Realm className="org.apache.catalina.realm.MemoryRealm" />
    -->
    <!-- Replace the above Realm with one of the following to get a Realm
    stored in a database and accessed via JDBC -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="org.gjt.mm.mysql.Driver"
    connectionURL="jdbc:mysql://localhost/authority"
    connectionName="test" connectionPassword="test"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="oracle.jdbc.driver.OracleDriver"
    connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
    connectionName="scott" connectionPassword="tiger"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="sun.jdbc.odbc.JdbcOdbcDriver"
    connectionURL="jdbc:odbc:CATALINA"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!-- Define the default virtual host
    Note: XML Schema validation will not work with Xerces 2.2.
    -->
    <Host name="localhost" appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    <!-- Defines a cluster for this node,
    By defining this element, means that every manager will be changed.
    So when running a cluster, only make sure that you have webapps in there
    that need to be clustered and remove the other ones.
    A cluster has the following parameters:
    className = the fully qualified name of the cluster class
    name = a descriptive name for your cluster, can be anything
    mcastAddr = the multicast address, has to be the same for all the nodes
    mcastPort = the multicast port, has to be the same for all the nodes
    mcastBindAddr = bind the multicast socket to a specific address
    mcastTTL = the multicast TTL if you want to limit your broadcast
    mcastSoTimeout = the multicast readtimeout
    mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
    mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
    tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
    tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
    in case of multiple ethernet cards.
    auto means that address becomes
    InetAddress.getLocalHost().getHostAddress()
    tcpListenPort = the tcp listen port
    tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
    has a wakup bug in java.nio. Set to 0 for no timeout
    printToScreen = true means that managers will also print to std.out
    expireSessionsOnShutdown = true means that
    useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
    false means to replicate the session after each request.
    false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
    <%
    HashMap map = (HashMap)session.getAttribute("map");
    map.put("key","value");
    %>
    replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
    * Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
    * Synchronous means that the thread that executes the request, is also the
    thread the replicates the data to the other nodes, and will not return until all
    nodes have received the information.
    * Asynchronous means that there is a specific 'sender' thread for each cluster node,
    so the request thread will queue the replication request into a "smart" queue,
    and then return to the client.
    The "smart" queue is a queue where when a session is added to the queue, and the same session
    already exists in the queue from a previous request, that session will be replaced
    in the queue instead of replicating two requests. This almost never happens, unless there is a
    large network delay.
    -->
    <!--
    When configuring for clustering, you also add in a valve to catch all the requests
    coming in, at the end of the request, the session may or may not be replicated.
    A session is replicated if and only if all the conditions are met:
    1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
    2. a session exists (has been created)
    3. the request is not trapped by the "filter" attribute
    The filter attribute is to filter out requests that could not modify the session,
    hence we don't replicate the session after the end of this request.
    The filter is negative, ie, anything you put in the filter, you mean to filter out,
    ie, no replication will be done on requests that match one of the filters.
    The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
    filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
    ending with .gif and .js are intercepted.
    The deployer element can be used to deploy apps cluster wide.
    Currently the deployment only deploys/undeploys to working members in the cluster
    so no WARs are copied upons startup of a broken node.
    The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
    When a new war file is added the war gets deployed to the local instance,
    and then deployed to the other instances in the cluster.
    When a war file is deleted from the watchDir the war is undeployed locally
    and cluster wide
    -->
    <!--
    <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
    managerClassName="org.apache.catalina.cluster.session.DeltaManager"
    expireSessionsOnShutdown="false"
    useDirtyFlag="true"
    notifyListenersOnReplication="true">
    <Membership
    className="org.apache.catalina.cluster.mcast.McastService"
    mcastAddr="228.0.0.4"
    mcastPort="45564"
    mcastFrequency="500"
    mcastDropTime="3000"/>
    <Receiver
    className="org.apache.catalina.cluster.tcp.ReplicationListener"
    tcpListenAddress="auto"
    tcpListenPort="4001"
    tcpSelectorTimeout="100"
    tcpThreadCount="6"/>
    <Sender
    className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
    replicationMode="pooled"
    ackTimeout="15000"/>
    <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
    filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
    <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
    tempDir="/tmp/war-temp/"
    deployDir="/tmp/war-deploy/"
    watchDir="/tmp/war-listen/"
    watchEnabled="false"/>
    </Cluster>
    -->
    <!-- Normally, users must authenticate themselves to each web app
    individually. Uncomment the following entry if you would like
    a user to be authenticated the first time they encounter a
    resource protected by a security constraint, and then have that
    user identity maintained across all web applications contained
    in this virtual host. -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->
    <!-- Access log processes all requests for this virtual host. By
    default, log files are created in the "logs" directory relative to
    $CATALINA_HOME. If you wish, you can specify a different
    directory with the "directory" attribute. Specify either a relative
    (to $CATALINA_HOME) or absolute path to the desired directory.
    -->
    <!--
    <Valve className="org.apache.catalina.valves.AccessLogValve"
    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="common" resolveHosts="false"/>
    -->
    <!-- Access log processes all requests for this virtual host. By
    default, log files are created in the "logs" directory relative to
    $CATALINA_HOME. If you wish, you can specify a different
    directory with the "directory" attribute. Specify either a relative
    (to $CATALINA_HOME) or absolute path to the desired directory.
    This access log implementation is optimized for maximum performance,
    but is hardcoded to support only the "common" and "combined" patterns.
    -->
    <!--
    <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="common" resolveHosts="false"/>
    -->
    <Context path="/tdm" docBase="tdm" debug="0" reloadable="true" />
    </Host>
    </Engine>
    </Service>
    </Server>
    I have set the context path to /tdm in the server.xml file. Should this be placed in context.xml?
    My first page in the project is called Homepage.html. To start my project I give http://localhost:5050/tdm/homepage.html
    in a browser. Here I accept a username and password from the user and then do the validation in
    a valid.jsp file, where I connect to the database and check and use jsp:forward to go to next pages
    accordingly. However when I enter the username and password and click Go in the homepage, nothing is
    displayed on the next page. The URL in the browser says valid.jsp but a blank screen appears.
    WHY DOES IT HAPPEN SO? DOES IT MEAN THAT TOMCAT IS NOT RECOGNIZING JAVA IN MY SYSTEM OR IS IT A PROBLEM
    WITH THE DATABASE CONNECTION OR SOMETHING ELSE? I FEEL THAT TOMCAT IS NOT EXECUTING JSP COMMANDS?
    IS IT POSSIBLE?WHY WILL THIS HAPPEN?
    I set the JAVA_HOME and CATALINA_HOME environment to the jdk and tomcat folders resp.
    Is there any other thing that I need to set in classpath? Should I have my project as a
    WAR file in the webapps of TOMCAT or just a folder i.e. directory structure will fine?

    I am using Tomcat 5.5 and Jdk 1.5.0_12 and Oracle 10g. I am using jdbc-odbc bridge connection
    to connect to the database. I have placed my project folder called
    tdm under the webapps folder in Tomcat. This 'tdm' folder consists of
    a collection of html pages,jsp pages and images of my project. Also I created a
    WEB-INF folderand in that I have lib folder which contains catalina-root.jar
    , classes12.jar and nls_charset.jar files. And also in the WEB-INF folder I have the web.xml
    file which looks like this
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!--
    Copyright 2004 The Apache Software Foundation
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    -->
    <web-app>
    <resource-ref>
    <description>Oracle Datasource example</description>
    <res-ref-name>jdbc/gdn</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>
    My Server.xml file in Tomcat\conf folder is as follows
    <!-- Example Server Configuration File -->
    <!-- Note that component elements are nested corresponding to their
    parent-child relationships with each other -->
    <!-- A "Server" is a singleton element that represents the entire JVM,
    which may contain one or more "Service" instances. The Server
    listens for a shutdown command on the indicated port.
    Note: A "Server" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <Server port="8005" shutdown="SHUTDOWN">
    <!-- Comment these entries out to disable JMX MBeans support used for the
    administration web application -->
    <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
    <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
    <!-- Global JNDI resources -->
    <GlobalNamingResources>
    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    <!-- Editable user database that can also be used by
    UserDatabaseRealm to authenticate users -->
    <Resource name="UserDatabase" auth="Container"
    type="org.apache.catalina.UserDatabase"
    description="User database that can be updated and saved"
    factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
    pathname="conf/tomcat-users.xml" />
    <Resource name="jdbc/gdn" auth="Container"
    type="javax.sql.DataSource" driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"
    url="jdbc:odbc:gdn"
    username="system" password="tiger" maxActive="20" maxIdle="10"
    maxWait="-1"/>
    </GlobalNamingResources>
    <!-- A "Service" is a collection of one or more "Connectors" that share
    a single "Container" (and therefore the web applications visible
    within that Container). Normally, that Container is an "Engine",
    but this is not required.
    Note: A "Service" is not itself a "Container", so you may not
    define subcomponents such as "Valves" or "Loggers" at this level.
    -->
    <!-- Define the Tomcat Stand-Alone Service -->
    <Service name="Catalina">
    <!-- A "Connector" represents an endpoint by which requests are received
    and responses are returned. Each Connector passes requests on to the
    associated "Container" (normally an Engine) for processing.
    By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
    You can also enable an SSL HTTP/1.1 Connector on port 8443 by
    following the instructions below and uncommenting the second Connector
    entry. SSL support requires the following steps (see the SSL Config
    HOWTO in the Tomcat 5 documentation bundle for more detailed
    instructions):
    * If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
    later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
    * Execute:
    %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
    $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
    with a password value of "changeit" for both the certificate and
    the keystore itself.
    By default, DNS lookups are enabled when a web application calls
    request.getRemoteHost(). This can have an adverse impact on
    performance, so you can disable it by setting the
    "enableLookups" attribute to "false". When DNS lookups are disabled,
    request.getRemoteHost() will return the String version of the
    IP address of the remote client.
    -->
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector
    port="5050" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" />
    <!-- Note : To disable connection timeouts, set connectionTimeout value
    to 0 -->
         <!-- Note : To use gzip compression you could set the following properties :
                   compression="on"
                   compressionMinSize="2048"
                   noCompressionUserAgents="gozilla, traviata"
                   compressableMimeType="text/html,text/xml"
         -->
    <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
    <!--
    <Connector port="8443"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" disableUploadTimeout="true"
    acceptCount="100" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS" />
    -->
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009"
    enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
    <!-- See proxy documentation for more information about using this. -->
    <!--
    <Connector port="8082"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" acceptCount="100" connectionTimeout="20000"
    proxyPort="80" disableUploadTimeout="true" />
    -->
    <!-- An Engine represents the entry point (within Catalina) that processes
    every request. The Engine implementation for Tomcat stand alone
    analyzes the HTTP headers included with the request, and passes them
    on to the appropriate Host (virtual host). -->
    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">
    -->
    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Catalina" defaultHost="localhost">
    <!-- The request dumper valve dumps useful debugging information about
    the request headers and cookies that were received, and the response
    headers and cookies that were sent, for all requests received by
    this instance of Tomcat. If you care only about requests to a
    particular virtual host, or a particular application, nest this
    element inside the corresponding <Host> or <Context> entry instead.
    For a similar mechanism that is portable to all Servlet 2.4
    containers, check out the "RequestDumperFilter" Filter in the
    example application (the source for this filter may be found in
    "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
    Request dumping is disabled by default. Uncomment the following
    element to enable it. -->
    <!--
    <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
    -->
    <!-- Because this Realm is here, an instance will be shared globally -->
    <!-- This Realm uses the UserDatabase configured in the global JNDI
    resources under the key "UserDatabase". Any edits
    that are performed against this UserDatabase are immediately
    available for use by the Realm. -->
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
    resourceName="UserDatabase"/>
    <!-- Comment out the old realm but leave here for now in case we
    need to go back quickly -->
    <!--
    <Realm className="org.apache.catalina.realm.MemoryRealm" />
    -->
    <!-- Replace the above Realm with one of the following to get a Realm
    stored in a database and accessed via JDBC -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="org.gjt.mm.mysql.Driver"
    connectionURL="jdbc:mysql://localhost/authority"
    connectionName="test" connectionPassword="test"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="oracle.jdbc.driver.OracleDriver"
    connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
    connectionName="scott" connectionPassword="tiger"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!--
    <Realm className="org.apache.catalina.realm.JDBCRealm"
    driverName="sun.jdbc.odbc.JdbcOdbcDriver"
    connectionURL="jdbc:odbc:CATALINA"
    userTable="users" userNameCol="user_name" userCredCol="user_pass"
    userRoleTable="user_roles" roleNameCol="role_name" />
    -->
    <!-- Define the default virtual host
    Note: XML Schema validation will not work with Xerces 2.2.
    -->
    <Host name="localhost" appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    <!-- Defines a cluster for this node,
    By defining this element, means that every manager will be changed.
    So when running a cluster, only make sure that you have webapps in there
    that need to be clustered and remove the other ones.
    A cluster has the following parameters:
    className = the fully qualified name of the cluster class
    name = a descriptive name for your cluster, can be anything
    mcastAddr = the multicast address, has to be the same for all the nodes
    mcastPort = the multicast port, has to be the same for all the nodes
    mcastBindAddr = bind the multicast socket to a specific address
    mcastTTL = the multicast TTL if you want to limit your broadcast
    mcastSoTimeout = the multicast readtimeout
    mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
    mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
    tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
    tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
    in case of multiple ethernet cards.
    auto means that address becomes
    InetAddress.getLocalHost().getHostAddress()
    tcpListenPort = the tcp listen port
    tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
    has a wakup bug in java.nio. Set to 0 for no timeout
    printToScreen = true means that managers will also print to std.out
    expireSessionsOnShutdown = true means that
    useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
    false means to replicate the session after each request.
    false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
    <%
    HashMap map = (HashMap)session.getAttribute("map");
    map.put("key","value");
    %>
    replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
    * Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
    * Synchronous means that the thread that executes the request, is also the
    thread the replicates the data to the other nodes, and will not return until all
    nodes have received the information.
    * Asynchronous means that there is a specific 'sender' thread for each cluster node,
    so the request thread will queue the replication request into a "smart" queue,
    and then return to the client.
    The "smart" queue is a queue where when a session is added to the queue, and the same session
    already exists in the queue from a previous request, that session will be replaced
    in the queue instead of replicating two requests. This almost never happens, unless there is a
    large network delay.
    -->
    <!--
    When configuring for clustering, you also add in a valve to catch all the requests
    coming in, at the end of the request, the session may or may not be replicated.
    A session is replicated if and only if all the conditions are met:
    1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
    2. a session exists (has been created)
    3. the request is not trapped by the "filter" attribute
    The filter attribute is to filter out requests that could not modify the session,
    hence we don't replicate the session after the end of this request.
    The filter is negative, ie, anything you put in the filter, you mean to filter out,
    ie, no replication will be done on requests that match one of the filters.
    The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
    filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
    ending with .gif and .js are intercepted.
    The deployer element can be used to deploy apps cluster wide.
    Currently the deployment only deploys/undeploys to working members in the cluster
    so no WARs are copied upons startup of a broken node.
    The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
    When a new war file is added the war gets deployed to the local instance,
    and then deployed to the other instances in the cluster.
    When a war file is deleted from the watchDir the war is undeployed locally
    and cluster wide
    -->
    <!--
    <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
    managerClassName="org.apache.catalina.cluster.session.DeltaManager"
    expireSessionsOnShutdown="false"
    useDirtyFlag="true"
    notifyListenersOnReplication="true">
    <Membership
    className="org.apache.catalina.cluster.mcast.McastService"
    mcastAddr="228.0.0.4"
    mcastPort="45564"
    mcastFrequency="500"
    mcastDropTime="3000"/>
    <Receiver
    className="org.apache.catalina.cluster.tcp.ReplicationListener"
    tcpListenAddress="auto"
    tcpListenPort="4001"
    tcpSelectorTimeout="100"
    tcpThreadCount="6"/>
    <Sender
    className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
    replicationMode="pooled"
    ackTimeout="15000"/>
    <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
    filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
    <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
    tempDir="/tmp/war-temp/"
    deployDir="/tmp/war-deploy/"
    watchDir="/tmp/war-listen/"
    watchEnabled="false"/>
    </Cluster>
    -->
    <!-- Normally, users must authenticate themselves to each web app
    individually. Uncomment the following entry if you would like
    a user to be authenticated the first time they encounter a
    resource protected by a security constraint, and then have that
    user identity maintained across all web applications contained
    in this virtual host. -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->
    <!-- Access log processes all requests for this virtual host. By
    default, log files are created in the "logs" directory relative to
    $CATALINA_HOME. If you wish, you can specify a different
    directory with the "directory" attribute. Specify either a relative
    (to $CATALINA_HOME) or absolute path to the desired directory.
    -->
    <!--
    <Valve className="org.apache.catalina.valves.AccessLogValve"
    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="common" resolveHosts="false"/>
    -->
    <!-- Access log processes all requests for this virtual host. By
    default, log files are created in the "logs" directory relative to
    $CATALINA_HOME. If you wish, you can specify a different
    directory with the "directory" attribute. Specify either a relative
    (to $CATALINA_HOME) or absolute path to the desired directory.
    This access log implementation is optimized for maximum performance,
    but is hardcoded to support only the "common" and "combined" patterns.
    -->
    <!--
    <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
    directory="logs" prefix="localhost_access_log." suffix=".txt"
    pattern="common" resolveHosts="false"/>
    -->
    <Context path="/tdm" docBase="tdm" debug="0" reloadable="true" />
    </Host>
    </Engine>
    </Service>
    </Server>
    I have set the context path to /tdm in the server.xml file. Should this be placed in context.xml?
    My first page in the project is called Homepage.html. To start my project I give http://localhost:5050/tdm/homepage.html
    in a browser. Here I accept a username and password from the user and then do the validation in
    a valid.jsp file, where I connect to the database and check and use jsp:forward to go to next pages
    accordingly. However when I enter the username and password and click Go in the homepage, nothing is
    displayed on the next page. The URL in the browser says valid.jsp but a blank screen appears.
    WHY DOES IT HAPPEN SO? DOES IT MEAN THAT TOMCAT IS NOT RECOGNIZING JAVA IN MY SYSTEM OR IS IT A PROBLEM
    WITH THE DATABASE CONNECTION OR SOMETHING ELSE? I FEEL THAT TOMCAT IS NOT EXECUTING JSP COMMANDS?
    IS IT POSSIBLE?WHY WILL THIS HAPPEN?
    I set the JAVA_HOME and CATALINA_HOME environment to the jdk and tomcat folders resp.
    Is there any other thing that I need to set in classpath? Should I have my project as a
    WAR file in the webapps of TOMCAT or just a folder i.e. directory structure will fine?

  • JSTL 1.1.2, TOMCAT 5.5, JDK 5, Eclipse and Problems

    I have been having trouble loading the JSTL library (standard.jar & jstl.jar)
    I'm using Eclipse 3.0.2 to do my development work on my JSP pages. So normally I will just create my Tomcat(5.5 on JDK5.0) project using Sysdeo(tm) plugin in its default directory (C:\eclipse\workspace\mytomcatproject).
    Then I would begin creating my JSPs and use JSTL(1.1.2) for my development. I'd put those standard.jar/jstl.jar into /WEB-INF/lib as recommended.
    The problem is I can't seem to get JSTL library working, even I tried out copy and pasting the example code into my pages.
    I have :
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
    ... //some code
    ${fn:escapeXml(param["myreq"])} will show out in the JSP exactly "${fn:escapeXml(param["myreq"])}" without processing. Although no runtime errors comes out (meaning the TOMCAT successfully loaded the library) but seems that the taglib is not working!!!
    I did some experiments:
    Experiment 1 :-
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    (notice the uri, its without /jsp)
    and it works for /core taglib, but not the /functions taglib. Meaning somewhere in the TOMCAT library it load the older 1.0 version of JSTL.
    When I try using the /functions taglib
    <%@ taglib prefix="fn" uri="http://java.sun.com/jstl/functions" %>
    TOMCAT will complaint about the non-existence of this JSTL.
    Experiment 2 :-
    I tried to copy all the JSTL tld into my /WEB-INF/tld and and change my web.xml to include the tld location by using <jsp-config><taglib>.
    Doesn't work as well!!! The taglib just didn't get process.
    Experiment 3 :-
    I tried to modify the <Context> in server.xml to include tldNameAware and tldValidation to TRUE.
    Not Working as well!!!
    Experiment 4 :-
    I comment out the <my_tomcat_home>/conf/server.xml <Context> (the one that Eclipse created for my Tomcat project) and directly paste my project directory into <my_tomcat_home>/webapps and restarted my TOMCAT.
    IT WORKS!!!
    So does JSTL 1.1.2 only works in TOMCAT webapps home? Seems that TOMCAT only load the /WEB-INF/lib when the project is in its webapps, but when the project is outside of the webapps dir, it seems doesn't process the JSTL lib.
    Any idea how to make it work outside the Tomcat webapps cause I try to encourage my team to use Eclipse and CVS.

    The probable cause of the issue is your web.xml file.
    If your web.xml file is declared as being servlet version 2.3, then it disables the JSTL expression language (EL) by default.
    ie if you have this:
    <?xml version="1.0"?>
    <!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>It should change to be this:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">Undo all of that hacking you did through the config files.
    JSTL needs no tld files, and no entries in web.xml to make it work.
    Hope this helps,
    evnafets

  • Chunking and Tomcat Servlets

    HI all, I've got a method which transmits data to a java servlet. I;ve added Java 1.5's chunking capability on the client and it works on 1 machine with no problems. Yet a whole lot of others break...
    Client side:
    URLConnection con = null;
    con = servletAddress.openConnection();
    con.setDoInput(true);
    con.setDoOutput(true);
    con.setUseCaches(false);
    if(chunked && supportsChunking()){
    ( (HttpURLConnection) con).setChunkedStreamingMode(0);
    after this, i open a DataInputStream from the connection and send an object...
    I get an exception on the reply...
    java.io.IOException: Server returned HTTP response code: 501 for URL: http://xxxxxx.xxxxxxxxx.xxxxxxxx
         at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1133)
    There is a bit of stuff on the forums about chunking but my problem seems to be on the server. Its generating a 501 not supported error, yet all versions of tomcat, and all JREs are identical. What could the reason be for 1 machien working and a whole bunch of others breaking?
    Dan

    HI all, its been a while since I touched this, but just found the cause - posted here in case anyone else has the same troubles.
    Most of our servers here are using the Squid proxy. This does not support HTTP1.1 and falls back to HTTP1.0. This means that Tomcat and my client are 100% fine, but going through squid causes java to throw an exception, as HTTP1.1 and especially chunked encoding are not supported
    Dan

  • Tomcat How Enable .XML like .HTM for dynamic RSS app: processing?

    I am using jakarta-tomcat-5.0.28 with MySQL and
    have created dynamic (Gets data from MySQL)
    RSS feeds for our Blog users.
    This works fine if I give the file the .htm ending
    but NOT with .xml or .rss
    ** Where do I change the configuration to have tomcat look
    in .xml files and actually run (rather then display) a line
    like this:
    <app:blogfeed/ >
    THANKS
    -Bob OConnor

    My understanding from http://wiki.eclipse.org/EclipseLink/Examples/JPA/Tomcat_Web_Tutorial was that Tomcat was not a Java EE 5 compatible server. This means that Tomcat isn't creating the EMF for the application, and so there is no way for the provider to register the ClassTransformer used for weaving with the application classloader before it has loaded the application entity classes. Placing the agent and persistence unit on the classpath of the server only registers the transformer with the server classloader, not the classloader that gets used to load the application.
    I don't know anyone to look to far into it or how far they got before deciding just to use static weaving. You might also be able to use Spring with in Tomcat as the JPA container and configure Tomcat to use its custom application classloader - which it can then be instrumented with a transformer for weaving as described here:
    http://static.springsource.org/spring/docs/3.0.0.M3/reference/html/ch14s06.html
    If you are interested, if it works with Spring using a custom classloader it should be possible, but I don't know Tomcat or Spring internals to be of much assistance. If you decide to look into it, see the EclipseLink PersistenceProvider class createContainerEntityManagerFactory method for what containers call to get the transformer to register with the classloader.
    Best Regards,
    Chris

  • How to Enable Eclipselink Dynamic Weaving in Tomcat?

    I'd like to enable dynamic weaving in Tomcat 7 but all efforts thus far have been unsuccessful. I have been able to do so from a J2SE command-line app.
    JAVA_OPTS="-Xbootclasspath/a:<path to>/javax.persistence_2.0.4.v201112161009.jar -javaagent:<path to>/eclipselink.jar"
    With the persistence jar appended to the boot classpath, I get no errors nor does weaving occur. Google revealed others elsewhere with similar issues.
    I can statically weave if I must but at least for development, dynamic would be much preferred.
    Any suggestions?
    Thanks.

    My understanding from http://wiki.eclipse.org/EclipseLink/Examples/JPA/Tomcat_Web_Tutorial was that Tomcat was not a Java EE 5 compatible server. This means that Tomcat isn't creating the EMF for the application, and so there is no way for the provider to register the ClassTransformer used for weaving with the application classloader before it has loaded the application entity classes. Placing the agent and persistence unit on the classpath of the server only registers the transformer with the server classloader, not the classloader that gets used to load the application.
    I don't know anyone to look to far into it or how far they got before deciding just to use static weaving. You might also be able to use Spring with in Tomcat as the JPA container and configure Tomcat to use its custom application classloader - which it can then be instrumented with a transformer for weaving as described here:
    http://static.springsource.org/spring/docs/3.0.0.M3/reference/html/ch14s06.html
    If you are interested, if it works with Spring using a custom classloader it should be possible, but I don't know Tomcat or Spring internals to be of much assistance. If you decide to look into it, see the EclipseLink PersistenceProvider class createContainerEntityManagerFactory method for what containers call to get the transformer to register with the classloader.
    Best Regards,
    Chris

  • Where is a Servlet instance stored in Tomcat?

    Hi,
    We know that servlet container generates ONLY ONE servlet instance which will handle all the client requests for the servlet. This makes big inconvenionce in debug phase using Tomcat server. Unless restarting the server, you will not be able to see the changes you made in the servlet class.
    My question is where the servlet instance is stored in Tomcat. I think it should be in [TOMCAT_HOME]/work/ directory but actually not. My approach is deleting the instance before sending request to the servlet. In this way, servlet container will generate an instance of new version of the servlet class.
    Is there any other way to work around that?
    Thanks,

    We know that servlet container generates ONLY ONE
    servlet instance which will handle all the client
    requests for the servlet. My Tomcat instance will pool servlet instances. It might look like only one instance to you, but that doesn't mean that Tomcat does it that way.
    This makes big inconvenionce in debug phase using Tomcat server. This makes no sense to me. Are you talking about load testing?
    Unless restarting the server, you will not be able to see the changes you made in the servlet class.This has nothing to do with debugging. And Tomcat has hot deployment now if you do it correctly with WAR files.
    My question is where the servlet instance is stored in Tomcat. I think it should be in
    [TOMCAT_HOME]/work/ directory but actually not. My approach is deleting the instance before sending
    request to the servlet. In this way, servlet container will generate an instance of new version of the
    servlet class.Sounds like you don't know how to deploy to Tomcat properly. Servlet .class files are stored where you put them: in the WEB-INF/classes directory for your Web app, in a JAR in the WEB-INF/lib directory for your Web app. These are either in the TOMCAT_HOME/webapps context directory that you create or, better yet, in the WAR file that you deploy to TOMCAT_HOME/webapps.
    The /work directory that you refer to is where Tomcat puts generated Java code for JSPs.
    Is there any other way to work around that?There's no way to change it, and there's no reason that I can think of to explain why you'd want to. What is the real problem here?

  • NetBeans and tomcat 5.0 work in a different manner

    If I compile the servlet Contatore.java by means of NetBeans, it's ok only if I execute it by means of Netbeans with the following url in my browser
    http://localhost:8084/servlet/Contatore
    on the contrary if I execute it by means of Tomcat 5.0 only changing the port from 8084 ti 8080,
    http://localhost:8080/servlet/Contatore
    then I have the following error
    HTTP Status 404 - /servlet/Contatore
    type Status report
    message /servlet/Contatore
    description The requested resource (/servlet/Contatore) is not
    available.
    Apache Tomcat/5.0.24
    Can someone explain me why these 2 differente behaviours
    Perhaps is it impossible to use a folder named "servlet" ?
    Thanks
    Eugenia Mariani

    I thought NetBeans used Tomcat as its servlet/JSP engine, no?
    The /servlet context is special in Tomcat. You invoke servlets that aren't mapped in the web.xml using URL http://host/ContextName/servlet/ServletName. When you give a URL like http://localhost:8080/servlet/Contatore, you're asking Tomcat to invoke a servlet named Contatore in the default ROOT context. Is there such a thing?
    Tomcat prefers that servlets and Java Beans be in packages these days. If it's not, there might be problems.
    I wouldn't name a context of mine "servlet". I don't deploy apps of mine in the default ROOT context, either. I create a context for each Web app.

  • Tomcat and ITS

    Hi all,
    is possible to install ITS 6.20 standalone on Tomcat and Windows XP platform ?
    Best regards.
    Miki

    Hello Miki,
    it is possible to install an ITS 6.20 on a Windows XP system having an Apache Web server.
    What do you mean with 'Tomcat'? AFAIK it is an extension for the Apache, right? Tomcat
    itself is not a Web server.
    But keep in mind that this configuration is not supported, you might do it for trial purposes
    only.
    The PAM (product availability matrix) says that even 32bit Windows servers are not fully
    supported anymore. For productive environments use the 64bit versions of the Windows 2003 server, RedHat Linux or Suse SLES10 please ( hope that I didn't forget one).
    best regards
    Tobias

  • Check Installed Version of Java / Apache / Tomcat

    Hi,
    I have recently installed Solaris 10 Update 4 on a T2000 and need to confirm exactly which version of Java / Apache / Tomcat Solaris 10 installs by default. This will ebetually become a Web Server for our developers but I need to check this before doing any further work.

    * java -version
    * there's a version number in the realease notes in the root directory of your tomcat server.
    What do mean Apache / Tomcat? Do you mean Apache Tomcat, or are you using both there servers, if you don't know what I mean the answer is "No, just tomcat".

  • Forms do not open correctly in Google Chrome and Firefox

    Does anybody know the reason for the bad performance of the Adobe form, which I have created from scratch using the available tools in Form Central?
    It only works in Explorer and Safari...
    Also, if saved as a pdf, users experience that the "send it" button is dysfunctional.

    Hi Josh
    If by webform you mean the version that is generated in Formcentral for embedding onto a website, your question is simple to answer.
    The problems I have described occurs when using this webform, which I have generated for embedding. I have found that it is easier to email the pdf version to the customer, because then they can open it in Adobe Reader.
    I have aslo found that the webform works in Safari and Explorer. In Firefox it opens without functioning fields, but firefox opens a line stating that the document is not shown correctly, and they give option to reopen in program of choice. If doing this in Adobe Reader, it works.
    In google chrome it just does not work...
    Maybe the webform should be rebuilt, or I should just forget about it and arrange a pdf download button instead?
    Morten

  • Basic authentication with sendRedirect doesn't work

    Hello from the school of hard knocks:
    Following is my web.xml file. It doesn't ask for a username/password but instead gives a "Page not found 404" error. Behind the scenes the unauthorized page is being accessed via sendRedirect(). If I take out the unauthorized page URL in the web.xml and use in-page authentication (see code below), then the browser prompts 3 times and gives the access anyway!!! This is absolutely ridiculous for Tomcat 4.1.29. Can anyone help me out?
    <code to force authentication in page gleaned from a thread in this form >
    response.setStatus(response.SC_UNAUTHORIZED);
    response.setHeader("WWW-Authenticate", "BASIC realm=\"tomcat\"");
    <web.xml as prescribed by Martin Bond and Debbie Law in Tomcat - KickStart -- should have been kick in the ass >
    <?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>CewolfServlet</servlet-name>
    <servlet-class>de.laures.cewolf.CewolfRenderer</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>CewolfServlet</servlet-name>
    <url-pattern>/cewolf/*</url-pattern>
    </servlet-mapping>
    <error-page>
    <error-code>401</error-code>
    <location>/trnkxref/*</location>
    </error-page>
    <security-constraint>
    <display-name> Web App Access Control - Administrators </display-name>
    <web-resource-collection>
    <web-resource-name> Administration </web-resource-name>
    <url-pattern>/trnkxref/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name> administrator </role-name>
    <role-name> patron </role-name>
    </auth-constraint>
    <user-data-constraint>
    <transport-guarantee> NONE </transport-guarantee>
    </user-data-constraint>
    </security-constraint>
    <login-config>
    <auth-method> BASIC </auth-method>
    <realm-name>tomcat </realm-name>
    </login-config>
    </web-app>

    Found this in the logs. What does it mean? tomcat-users.xml appended below. Has anyone been reading this lameass thread?
    WARNING: Security role name patron used in
    an <auth-constraint> without being defined in a <security-role>
    tomcat-users.xml:
    <?xml version='1.0' encoding='utf-8'?>
    <tomcat-users>
    <role rolename="patron"/>
    <role rolename="administrator"/>
    <role rolename="manager"/>
    <user username="ldp" password="hello" roles="administrator,patron"/>
    </tomcat-users>
    ~

  • Eclipse and Java EE 5

    Hi all,
    I'm going to develop an application based on Java EE 5.
    I'd like to use webservices, EJB 3.0, GlassFish, Portlets and everything should be than connected with JBI, bussiness logic will be modeled with BPEL.
    My question is which IDE would be better for me. I liked elipse for my JavaSE, Spring etc. development but I don't know the situation in JEE 5. Will be a problem to use these technologies with eclipse? Is eclipse (WTP?) ready for this project? With which plugins?
    Thanks
    P.S. I'm only deciding between eclipse and netbeans and I'm not interested in which IDE is little better but if eclipse is roughly on the same level with Java EE 5 and other technologies mentioned.

    On 6/7/2010 12:26 PM, Bill Herbert wrote:
    > Hi,
    >
    > I want to use Tomcat v6 with Eclipse. For installation, I'm following
    > the tutorial
    > " http://www.coreservelets.com/Apache-Tomcat-Tutorial/eclipse. html"
    > (Most other installation guides I've read seem to follow the same steps)
    >
    > I installed Java EE 5 SDK, Tomcat 6.0.16 and Eclipse IDE for Java EE
    > developers.
    >
    > In Eclipse I created a Tomcat server, but when I r click the server, I
    > get a message "Port 80 required by Tomcat v6.o server is already in use."
    > I rebooted and tried again before starting any other processes and got
    > the same message.
    > I disconnected my machine from the internet, used 'netstat' to see what
    > process might be using Port 80, and observed 0.0.0.0:80 "Listening" but
    > nothing "Established." Again tried to start the Tomcat server in
    > Eclipse, but got the same Port 80 message.
    >
    > Any suggestions, before I go nuts?
    >
    > Thanks for any help,
    > Bill
    What do you mean by "I r click the server"? Do you mean in the Servers
    view and choose Run or Debug?
    Normally, Tomcat comes ready to use on port 8080. You can change this by
    doing the following:
    1) Expand Server in the Project Explorer view.
    2) Exapnd Tomcat v6.0 Server at localhost-config
    3) Double-click server.xml
    4) Search for 8080
    5) Verify that you have:
    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1"
    redirectPort="8443" />
    This should mean that Tomcat is using 8080 not 80. If other, change to
    8080 and try again.
    (80 is usually what your browser is using.)

  • The requested resource (/axis/) is not available.

    I am running Tomcat server and trying to validate my axis installation.
    I get the above error when trying to acces the following link:
    http://127.0.0.1:8080/axis/.
    Does anyone know what the solution to this problem is?

    It means that tomcat couldn't start the 'axis' webapp. Check your tomcat logs for more info.
    -D

  • File Exists

    Hi experts, I have an issue "java.io.File".
    File f = new File( this.myFM.myGlobal.AgreementsDirectory + "/" + ClientDocBean.getSubdirectory() + "/" + ClientDocBean.getFilename());
    // Check that the file exists, if not then throw an error
    if(!f.exists()) {
         this.myFM.myErrorHandler.ERRORLIST.add("Unable to find file: " + f.getPath() );
         this.missingDocument();
         return;
    }The following is used to get documents from our main NAS system and works perfectly on the development system. However on the live system this fails to find the file.
    When I run the path (used in f.getPath()) in windows (run) it opens the file perfectly on the live server.
    The Setup
    On the development system the files are pulled from the NAS system inhouse (Mounted drive) however on the web server this is connected using a VPN mounted to the same path as the development server. I think this might be related to server lag as this live system has to talk over the Internet VPN to get the file.
    does anyone have any ideas how to solve this issue? does "java.io.File" have a tool to wait or should I be using some other method of getting the files content.
    Ta in advance..
    giz
    PS I can't copy the file to the public domain and link to it as there is a lot of security requirments. No file can exist on the public path, even for a second.

    To elaborate a little more.
    The main issue is that a mounted drive links to a network folder. This drive was not available to Tomcat. This means that when the Servlet tries to access the file it can not be found.
    Using the Network path I was able to locate the file however Tomcat did not have permission to read this file.
    The next step was to create a user under [Active Directory|http://www.visualwin.com/New-User-AD/] called tomcat. I assigned read permissions to the folder (That Tomcat tried to read).
    The next step was to get Tomcat to run as this user. This will allow all my Servlets to access the give folder. It also means that Tomcat cannot read other files on the network as they do not have permission as the OS level. This means that any security holes in the code can not be expoilted (Without flaging my IDS).
    I am running Tomcat in a windows envroment so changing the user it's running as is very easy.
    # open the Tomcat config app
    # Click "Logon" tab
    # Check "This Account"
    # Under the new user account and password setup using Active Directory
    # Click "Apply" then "Ok"
    # Restart tomcat
    After this Tomcat should be running as your new user and have access to the given folder and files

Maybe you are looking for

  • IMac issues

    Any ideas where I should go from this as it's been unanswered now for over a month? Sent via post, email and now forum. Any advice on what I should do would be appreciated. Won't go to indepth as the letter says it all. Noted also that my last post w

  • PDF Preview Handler is not working

    I am using Windows 7 32-bit with MS Office 2010 Professional. In 'My Documents' I have files associated with .pdf but it is not showing me any previews. I can go to another PC and I don't have that issue. For example if I am in explorer and have my p

  • Ess_japi.jar files for Essbase 11x version

    Hi All, We are working on upgrade Essbase upgrade from 7x version to 11x and found there is an ess_japi.jar file which is being used for Web based application. Do we need to get the new version of the JAR files for the 11X version? Thanks and regards

  • ACE upgrade from A3 2.0 to A4 2.7

    Hi, Is it possible to upgrade ACE 4710 from A3 to A4? What does this actualy means by A3, A4 & A5. I want to upgrade ACE from A3 to A4 becase I want to enable switch-mode on ACE.  Current S/W version is A3 2.0 which is not supporting this command.  W

  • VTC to CCM Configuration

    We have Radvision Gatekeeper, Polycomm VTC Endpoints. We can call from CCM IP Phone to VTC, no problem, but when calling IP Phone from VTC we have bad garbled conversation, which doesnt sound like QOS more like distortion. Any thoughts?