Servlet Reloading
Client: Internet Explorer version 4.0.
Server: Weblogic 4.5 on Windows NT 4.0 using JDK1.1.X.
I have included the following in my weblogic.properties file.
weblogic.httpd.servlet.classpath=/xyz;/xyz/test
weblogic.httpd.servlet.reloadCheckSecs=10
These directories ( /xyz;/xyz/test ) are completely separate from the
WebLogic install directories.
I have replaced the servlet class files in /xyz and /xyz/test with newer
class files but I don’t see the updated output even after I close Internet
explorer and try it again.
NOTE:
(1) I am invoking unregistered servlets
(2) I understand that the custom classloader from Weblogic needs to be
invoked. I have made sure that the NT system CLASSPATH variable makes no
reference to /xyz OR /xyz/test directories.
(3) I have altered the weblogic.class.path to include \ (Root dir) so that I
can invoke the custom servlets with a URL such as
http://myDomain/servlet/xyz.First OR
http://myDomain/servlet/xyz.test.Second.
Am I missing something?
you'll probably get a faster answer by posting this on the oas forum.
or the ias 9i forum
Similar Messages
-
How to make servlets reloadable in iplanet web server in solaris??
hi all,
does anyone know how to make servlets reloadable in iplanet ??? Thanks for helpHi there,
I think your question is about "Dynamic Class Reloading", also named as Hot deployment. and the following lines may be helpful.
iAS 6.0 SP3 and later version supports new hot deployment features through dynamic class
reloading of EJBs.By default, dynamic servlet, EJB and registered JSP reloading is disabled in iPlanet Application Server.
To enable dynamic reloading of servlets, EJBs and registered JSPs, perform the following steps:
1.Start iPlanet Registry Editor, kregedit, and modify the Disable value under the Versioning key:
SOFTWARE/iPlanet/Application Server/6.0/CCS0/SYSTEM_JAVA/Versioning
2.Set the Disable value to 0 (By default, the Disable value is set to 1)
3.Restart iPlanet Application Server to enable the change
To hot deploy your application, simply compile and replace the file in the appropriate directory or, use iasdeploy to redeploy
applications.
I recommand you to check out the iAS's release notes (http://docs.iplanet.com/docs/manuals/ias/60/sp3/rn_sp3.html#20766) for more infomation.
Good luck
Shen Jie
Developer Technical Support
Sun Microsystems
http://sun.com/developers/support -
Dynamic Servlet reload activation in Weblogic 6.0 using web applications
Dynamic Servlet reload activation in Weblogic 6.0 using web applications
Add the next lines to your web.xml file
<context-param>
<param-name>weblogic.httpd.servlet.reloadCheckSecs</param-name>
<param-value>0</param-value>
</context-param>
<context-param>
<param-name>weblogic.httpd.servlet.classpath</param-name>
<param-value>C:/bea/wlserver6.0/config/myServer/applications/MyApp/WEB-INF/serverclasses</param-value>
</context-param>
Register your servlet on web.xml file.
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/Test/*</url-pattern>
</servlet-mapping>
<servlet>
Create a directory under WEB-INF called "serverclasses"
copy your servlet(also directories under serverclasses if your class has a package).
Don't forget to remove from \classes the same servlet class file.
I hope it could be helpfull for the community.
Regards
Dynamic Servlet reload activation in Weblogic 6.0 using web applications
Add the next lines to your web.xml file
<context-param>
<param-name>weblogic.httpd.servlet.reloadCheckSecs</param-name>
<param-value>0</param-value>
</context-param>
<context-param>
<param-name>weblogic.httpd.servlet.classpath</param-name>
<param-value>C:/bea/wlserver6.0/config/myServer/applications/MyApp/WEB-INF/serverclasses</param-value>
</context-param>
Register your servlet on web.xml file.
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/Test/*</url-pattern>
</servlet-mapping>
<servlet>
Create a directory under WEB-INF called "serverclasses"
copy your servlet(also directories under serverclasses if your class has a package).
Don't forget to remove from \classes the same servlet class file.
I hope it could be helpfull for the community.
Regards
-
Servlet reloading doesn't work
Running WL 5.1 SP6 and can't get servlet reloading to work. Have the
necessary lines in weblogic.properties:
weblogic.httpd.servlet.classpath=<my classpath>
weblogic.httpd.servlet.reloadCheckSecs=1
The servlets are in a web app so I have the web app's WEB-INF/classes, where
the servlets reside, in weblogic.httpd.servlet.classpath.
Possibly this is a problem only with web apps? Anyone else run into this?
Thanks.
From my understanding, putting the servlet classes in the WEB-INF/classes
directory eliminates the need to put them into any classpath (servlet, weblogic,
or otherwise). Put them back into the WEB-INF /classes directory and make sure
that this directory is not in the weblogic or servlet classpath.
Hope this helps,
Robert
Paul Folbrecht wrote:
> Ok, that makes sense. But, I tried what you suggested in your mail- moving
> them to /servletclasses instead of /classes, and putting that directory on
> the servlet classpath with this line:
>
> weblogic.httpd.servlet.classpath=e:/development/Projects/ExampleWebApp/deplo
> yment/Web-inf/servletclasses
>
> I then get a ClassNotFoundException when trying to hit any servlet. Don't
> know what could be wrong.
>
> Mike Reiche <[email protected]> wrote in message
> news:[email protected]...
> >
> > Well, you have to figure something else out or put up with that
> > behavior.
> >
> > As long as the servlet classes are in your WEBLOGICCLASSPATH, they
> > will not get reloaded. The servlet class loader first tries to
> > get the servlet class from the 'parent' class loader - and if it
> > can find it there, it will not load a new one. That is why your
> > modified servlets do not get reloaded.
> >
> > Mike
> >
> > "Paul Folbrecht" <[email protected]> wrote:
> > >I'm afraid I can't agree. Also, I tried it, and it doesn't
> > >work. Putting
> > >servlets in WEB-INF/servletclasses results in ClassNotFoundExceptions
> > >on
> > >the servlet. The server doesn't know about this directory-
> > >why should it?
> > >There is no such directory mentioned anywhere in the J2EE
> > >webapp spec. I
> > >see only WEB-INF/classes mentioned.
> > >
> > >Also, the servlet classpath is explicity set in weblogic.properties
> > >as I
> > >noted below.
> > >
> > >In addition,
> > >Mike Reiche <[email protected]> wrote in message
> > >news:[email protected]...
> > >>
> > >> The servlets should be in something like WEB-INF/servletclasses
> > >> which is ONLY in weblogic.httpd.servlet.classpath.
> > >>
> > >> You say you have them in WEB-INF/classes, which is also
> > >in
> > >WEBLOGICCLASSPATH
> > >> (?) so they won't be reloaded.
> > >>
> > >> Mike
> > >>
> > >>
> > >>
> > >> "Paul Folbrecht" <[email protected]> wrote:
> > >> >Running WL 5.1 SP6 and can't get servlet reloading
> > >to
> > >> >work. Have the
> > >> >necessary lines in weblogic.properties:
> > >> >
> > >> >weblogic.httpd.servlet.classpath=<my classpath>
> > >> >weblogic.httpd.servlet.reloadCheckSecs=1
> > >> >
> > >> >The servlets are in a web app so I have the web app's
> > >> >WEB-INF/classes, where
> > >> >the servlets reside, in weblogic.httpd.servlet.classpath.
> > >> >
> > >> >Possibly this is a problem only with web apps? Anyone
> > >> >else run into this?
> > >> >
> > >> >Thanks.
> > >> >
> > >> >
> > >> >
> > >>
> > >
> > >
> >
-
I need to disable servlet reload(WLS 7 SP4) for performance reason. I set the
servlet-reload-check-secs to -1 in the container-descriptor of the web.xml of
my war file. However when I deploy my war file, from the admin console the "Reload
Period" is set to 1. Is there a way to make the deployment set the default "Reload
Period" to -1 during deployment? I hate to deploy, change "Reload Period" from
console, shutdown server, them restart server. Thanks.
Daniel Lo wrote:
> I need to disable servlet reload(WLS 7 SP4) for performance reason. I set the
> servlet-reload-check-secs to -1 in the container-descriptor of the web.xml of
> my war file. However when I deploy my war file, from the admin console the "Reload
> Period" is set to 1. Is there a way to make the deployment set the default "Reload
> Period" to -1 during deployment? I hate to deploy, change "Reload Period" from
> console, shutdown server, them restart server. Thanks.
You can use the following in your web.xml
<context-param>
<param-name>weblogic.servlet.reloadCheckSecs</param-name>
<param-value>-1</param-value>
</context-param>
Nagesh
-
Servlet reloading not working with WLS 5.1 sp8
I downloaded and installed WLS 5.1's sp8 to fix the "java.net.SocketException: Connection aborted by peer: socket write error"
problem. Although that problem is fixed, I have found that, however, the servlet (automatic) reloading does not
work anymore. If I remove the sp8 from my Java system classpath and WL classpath (i.e. not using sp8), then
the servler reloading works fine.
Does anybody experience similar problem or have I forgot to do something?
WLS properties/env vars setting:
- weblogic.httpd.servlet.reloadCheckSecs=0
- WEBLOGIC_CLASSPATH=%WEBLOGIC_HOME%\lib\weblogic510sp8.jar;...
- JAVA_CLASSPATH=%WEBLOGIC_HOME%\lib\weblogic510sp8boot.jar;...
Thanks in advance for any help.
I've experienced the same problem with both sp6 and sp8. In both cases I performed several test, including
- varied the value of weblogic.httpd.servlet.reloadCheckSecs
- changes to the package depth the servlet belonged to
- changes to the string length of the package names the servlet belonged to
At best, the servlet would reload sometimes. I've moved back to sp5 and the problem has subsided.
Note: I did not try registering the servlet to see how that would effect the dynamic reloading.
Hope this helps
- Dave
"Michel Dinh" <[email protected]> wrote:
>
>I downloaded and installed WLS 5.1's sp8 to fix the "java.net.SocketException: Connection aborted by peer: socket write error"
>problem. Although that problem is fixed, I have found that, however, the servlet (automatic) reloading does not
>work anymore. If I remove the sp8 from my Java system classpath and WL classpath (i.e. not using sp8), then
>the servler reloading works fine.
>
>
>Does anybody experience similar problem or have I forgot to do something?
>
>WLS properties/env vars setting:
>
>- weblogic.httpd.servlet.reloadCheckSecs=0
>- WEBLOGIC_CLASSPATH=%WEBLOGIC_HOME%\lib\weblogic510sp8.jar;...
>- JAVA_CLASSPATH=%WEBLOGIC_HOME%\lib\weblogic510sp8boot.jar;...
>
>Thanks in advance for any help.
-
Weblogic servlet reload won't work
Please help! I am using WLS 5.1 sp6 (NT) and trying to use the auto reload setting for the servlets but weblogic won't refresh the change dynamically. I have set the following entries in the weblogic.properties file:
weblogic.httpd.servlet.classpath=D:/weblogic/myserver/servletclasses
weblogic.httpd.servlet.reloadCheckSecs=1
Thanks in advance.
Peter
It would be really nice if WL would report that with an error/warning message.
Mike
Robert Patrick <[email protected]> wrote:
>Make sure that this directory is NOT in either the Java CLASSPATH or
>the weblogic.class.path...
>
>"Peter C. Penny" wrote:
>
>> Please help! I am using WLS 5.1 sp6 (NT) and trying to use the auto
>reload setting for the servlets but weblogic won't refresh the change
>dynamically. I have set the following entries in the weblogic.properties
>file:
>>
>> weblogic.httpd.servlet.classpath=D:/weblogic/myserver/servletclasses
>> weblogic.httpd.servlet.reloadCheckSecs=1
>>
>> Thanks in advance.
>>
>> Peter
>
-
Servlet Reloading Problem!
JSP + Bean is OK!
But, Servlet + Bean occur a reloading problem.(Reloading does not happen)
For example,
1) TestClass.java (Bean)
public class TestClass {
private String txt;
public TestClass() {
txt = "Test!!"; ---(1)
public String getTxt() {
return txt;
2) Test.java (Servlet)
public class Test extends HttpServlet {
public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
TestClass testClass = new TestClass();
PrintWriter out = res.getWriter();
out.println(testClass.getTxt());
In above examples, though I change txt String(number (1)) Bean reloading does not occur. So old txt String shows.
In Tomcat, such problem does not happen.
Is this a problem of OC4J?
Thanks.
nullWell, only servlets are supposed to be reloaded, not their dependent classes.
If you are using Tomcat 4.x, then there might be an explanation. It seems that Tomcat 4.x will simply reload the entire web app context if it detects that a servlet (not a JSP!) has changed. Just define a servlet context listener to see that.
Regards,
Vadym -
hi there,
how can i reload servlet? i use destroy(), but if i start webpage with servlet again, init() didn`t run. i have to restart tomcat to run init() :(
thx a lot
have nice daywith tomcat:
http://yourserver:yourport/manager/reload?path=/yourapppath
Look at Mnager app HOWTO in tomcat doc -
Need to enable feature of servlet reloading in Tomcat
Hello
I wants to enable autoreload feature in tomcat so that i need not to stop tomcat web server again and again
ThanksHi,
As the above information i tried to add line <DefaultContext reloadable="true" />. But it is not working for me.
Here is my server.xml file.
<?xml version='1.0' encoding='utf-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You 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.
-->
<!-- Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" at this level.
Documentation at /docs/config/server.html
-->
<Server port="8005" shutdown="SHUTDOWN">
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener" />
<!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<!-- Global JNDI resources
Documentation at /docs/jndi-resources-howto.html
-->
<GlobalNamingResources>
<!-- 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" />
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" Note: A "Service" is not itself a "Container",
so you may not define subcomponents such as "Valves" at this level.
Documentation at /docs/config/service.html
-->
<Service name="Catalina">
<!-- Define properties for each web application -->
<DefaultContext reloadable="true" />
<!--The connectors can use a shared executor, you can define one or more named thread pools-->
<!--
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="150" minSpareThreads="4"/>
-->
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL HTTP/1.1 Connector on port 8080
-->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
<!--
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
<!-- Define a SSL HTTP/1.1 Connector on port 8443
This connector uses the JSSE configuration, when using APR, the
connector should be using the OpenSSL style configuration
described in the APR documentation -->
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<!-- 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).
Documentation at /docs/config/engine.html -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
-->
<Engine name="Catalina" defaultHost="localhost">
<!--For clustering, please take a look at documentation at:
/docs/cluster-howto.html (simple how to)
/docs/config/cluster.html (reference documentation) -->
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
<!-- The request dumper valve dumps useful debugging information about
the request and response data received and sent by Tomcat.
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
-->
<!-- 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"/>
<!-- 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">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
-->
</Host>
</Engine>
</Service>
</Server>
Can anyone tell me what i need to do to enable reloading?
Thanks,
Ram. -
Clarification needed on servlet class reloading
I have a question about servlet reloading in WLS6.0
Let's assume i have version 1.0 of a SomeServlet.class loaded in WLS.
Client are accessing it currently.
Now let's say i create version 1.1 of SomeServlet.class and i want to deploy it in WLS.
I have the "servlet reloading" turned ON.
So that means that version 1.1 will be immediately loaded by WLS right?
Question: Will WLS first unload version1.0? If so, what happens to the clients who are using version 1.0?
Will they get a ClassCastException? Or will they be abruptly switched from 1.0 to 1.1? Will they see any any error at all?
Thanks.
PS: If i had deployed the servlet in a WAR file, will the same rules apply? In other words, if i replace the WAR file will a newer version, what will happen to the classes from the previous WAR file that are being used by clients.
Is there a document explaining "how WLS reloads/hot-deploys servlets/ejb"? I understand that WLS6.0 uses a new "classloader architecture" that is different from WLS5.1.0. Some document to explain the differences would be helpful. Thanks.
The new version will be loaded immediately into a new classloader.
The old version will remain (in its old classloader) until there are no
longer any references to it (which will happen when clients that were
using the old version have completed their operations).
mark
Jeff Mathers wrote:
> Did you ever get clarification on this point?
>
> I am trying to figure out how to force WLS 6 to reload servlets following a
> re-compile. Your message hinted at a way to do this. Can you fill me in?
>
> Jeff Mathers
> IT R&D
> RWJPRI - Johnson & Johnson
>
> "R" <[email protected]> wrote in message
> news:[email protected]...
> >
> > I have a question about servlet reloading in WLS6.0
> >
> > Let's assume i have version 1.0 of a SomeServlet.class loaded in WLS.
> > Client are accessing it currently.
> > Now let's say i create version 1.1 of SomeServlet.class and i want to
> deploy it in WLS.
> > I have the "servlet reloading" turned ON.
> > So that means that version 1.1 will be immediately loaded by WLS right?
> >
> > Question: Will WLS first unload version1.0? If so, what happens to the
> clients who are using version 1.0?
> > Will they get a ClassCastException? Or will they be abruptly switched from
> 1.0 to 1.1? Will they see any any error at all?
> >
> > Thanks.
> >
> > PS: If i had deployed the servlet in a WAR file, will the same rules
> apply? In other words, if i replace the WAR file will a newer version, what
> will happen to the classes from the previous WAR file that are being used by
> clients.
> >
> > Is there a document explaining "how WLS reloads/hot-deploys servlets/ejb"?
> I understand that WLS6.0 uses a new "classloader architecture" that is
> different from WLS5.1.0. Some document to explain the differences would be
> helpful. Thanks.
-
Session expires when servlets are reloaded
Hi
I'm using Sun Java System Web server 7.0 on Windows 2003 server. When I update my servlets the session expires. I update the .reload filen and the servlets reloads perfect, but my users session expires.
Is it posible to reload servlets without session expires ? And how do I do that ?
Regards,
Stian Martinsen
Norway
Edited by: StianNorway on Sep 14, 2007 3:59 AMI don't know about Sun's server but with Tomcat, if you are careful to make sure that every object bound to session (directly or indirectly) implements java.io.Serializable, Tomcat will save all your session information to disk when the application restarts so they are all live when it comes back up.
Read the documentation for your server and see if it has a similar feature. -
Error 404 -- Not Found, when a Servlet is invoked from browser
Obviously, I have not been able to configure my WebLogic Server 5.1.0 to run
even the simplest servlet.
I painstakenly went through all the steps that are listed in the WebLogic
Server 5.1.0 documentation on the Web to enable servlets, but obviously, I
have missed a step somewhere.
I have modified the weblogic.properties file as per all the instrustions,
but the server simply won't recognize any servlets, not even the SqlServlet
that came with the server as an example.
It would require more than 1 exchange of posts to resolve it for me, and I
am wondering if one of you is willing to work with me on this until I have
managed to configure the server to make a servlet work on it.
The server does function as a Web server as I can run the index.html
document by entering the URL: http://localhost:7001/index.html
I am pasting the contents of weblogic.properties file below to get the
person who is willing to help me started.
The machine I have is a Pentium III with Windows 2000 Professional on it.
It's a home machine and the WebLogic server is the freely downloadable
version. I am using it to prepare for a potential contract work.
I have managed to modify setEnv.cmd file and have managed to compile the
SqlServlet.java, which is an example servlet. Neither this particular
servlet nor a HelloWorld type of very basic servlet I have written are
recognized by the server.
As you can see from my weblogic.properties file (pasted at the end of this
post), the SqlServlet has been registered. I have also uncommented the lines
to allow for the following type of URL:
http://localhost:7001/servlet/myServlet
Thanks!
Anjum Jaleel
CONTENTS OF MY weblogic.properties file
# THE WEBLOGIC PROPERTIES FILE
# This file, which conforms to the java.util.Properties file
# definition, configures your WebLogic products. You cannot run
# WebLogic Server without setting required configuration properties in this
# file. Required properties are marked and appear first in the file.
# Details on each entry and important information about configuration
# and security are documented on our website. Please go to:
# http://www.weblogic.com/docs51/admindocs/properties.html
# for full instructions on how to edit this file.
# You do not need to include properties in this file unless you want to
# change the default, embedded property. Some properties on the
# AdminProps page are not listed here because the default property
# is being used. You can change the default by adding the property and
# its value to this file.
# You cannot set weblogic.system.home in this file, since the WebLogic
Server
# must know where home is in order to retrieve this file. You can
# change WebLogic home on the command line when you start the
# WebLogic Server.
# CLUSTER USERS: Note that the (shared) per-cluster properties file should
# contain most all of the properties in this file. The only properties
# that potentially belong in a per-server properties file for a server
# running in a cluster are the registration (startup class) of pinned
# RMI objects, and a few tuning properties that may be different for
# servers in the cluster, depending upon hardware and memory. If you use
# a per-server properties file, please REMOVE all properties except those
# that are specifically required in the per-server properties file. You
# can find specific notes on clusters by searching through this file for
# "CLUSTER USERS".
# The way this file is organized:
# Core properties (includes REQUIRED and RECOMMENDED)
# Core system properties
# Core security-related properties
# Core security-related properties for SSL
# Core HTTPD administrative properties
# Optional properties
# Administrator properties
# System properties
# System startup files
# System shutdown files
# Security-related properties for Workspaces
# Jolt for WebLogic properties
# WebLogic Enterprise Connectivity properties
# WebLogic File properties
# WebLogic JMS demo properties
# WebLogic RMI demo properties
# WebLogic EJB demo properties
# WebLogic XML demo properties
# WebLogic ZAC demo properties
# HTTPD administrative properties
# WebLogic JDBC driver properties
# WebLogic JDBC connection pool management
# WebLogic demo connection pool
# WebLogic HTTP Servlet properties
# Proxy servlet registration
# Classpath servlet registration
# File servlet registration
# ServerSideInclude servlet registration
# PageCompileServlet (used by JHTML)
# JSPServlet (used by JSP)
# ServletServlet registration
# Servlet reload properties
# Servlet ACLs
# WebLogic JSP properties
# WebLogic JHTML properties
# WebLogic RMI over IIOP properties
# User-written and demo servlet registrations
# CORE PROPERTIES
# You should set these before you start the WebLogic Server the first time.
# If you need more instructions on individual properties in this
# section, check the same section in the Optional Properties, where
# we've left the long explanations. Or, better yet, go to our
# website and read all about properties, at:
# http://www.weblogic.com/docs51/admindocs/properties.html
# CORE SYSTEM PROPERTIES
# TCP/IP port number at which the WebLogic Server listens for connections
weblogic.system.listenPort=7001
# CORE SECURITY-RELATED PROPERTIES
# Read important information about security at:
# http://www.weblogic.com/docs51/admindocs/properties.html
# REQUIRED: The system password MUST be set in order to start the
# WebLogic Server. This password is case-sensitive, at least 8 characters.
# The username for the privileged user is ALWAYS "system".
# This username and password also includes httpd access (see
# HTTPD properties below).
weblogic.password.system=lovkako1
# RECOMMEND Set to 'everyone' if HTTPD is enabled
weblogic.allow.execute.weblogic.servlet=everyone
# Set individual ACLs to restrict access to HTTP-related resources,
# such as the Administration servlets.
# To make your own servlets generally available, follow this
# pattern (provide a weblogic.allow.execute) for your packages and
# set ACLs as appropriate.
# CORE SECURITY-RELATED PROPERTIES FOR SSL
# Read important information about SSL at:
# http://www.weblogic.com/docs51/classdocs/API_secure.html
# Enable SSL
# (default if property not defined is false)
weblogic.security.ssl.enable=true
# SSL listen port
weblogic.system.SSLListenPort=7002
# Servlets for SSL
# Authentication servlet for creating tokens for applets
weblogic.httpd.register.authenticated=weblogic.t3.srvr.ClientAuthenticationS
ervlet
# Limits number of unclaimed stored tokens
weblogic.security.certificateCacheSize=3
# Capture CA root of client servlet
weblogic.httpd.register.AdminCaptureRootCA=admin.AdminCaptureRootCA
# Certificates for SSL
# Name of acceptable CA roots
# For client authentication change value to a valid .pem file
#weblogic.security.clientRootCA=SecureServerCA.pem
# Server certificates for SSL
weblogic.security.certificate.server=democert.pem
weblogic.security.key.server=demokey.pem
weblogic.security.certificate.authority=ca.pem
# registration for certificate generator servlet
weblogic.httpd.register.Certificate=utils.certificate
weblogic.allow.execute.weblogic.servlet.Certificate=system
# CORE HTTPD ADMINISTRATIVE PROPERTIES
# True permits the HTTPD to run (default)
# Uncomment this property to disable HTTPD
weblogic.httpd.enable=true
# If authentication is required, add username/password for each user
# who will be included in an ACL, as in this commented-out example:
#weblogic.password.peter=#8gjsL4*
# OPTIONAL PROPERTIES
# These properties affect the behavior of the WebLogic Server.
# You only need to set these properties if you want
# to change the default setting, which is the property shown.
# ADMINISTRATOR PROPERTIES
# Administrator properties are optional information properties,
# particularly useful for clusters.
#weblogic.administrator.location=3355 California Drive, West Hampshire, CA
94104
#weblogic.administrator.name=Joe Administrator
#weblogic.administrator.phone=1 415 555 1234
# SYSTEM PROPERTIES
# System properties in this section are set to system defaults
# Performance pack. The shared library must be accessible from your
# PATH (NT) or from your shared library path (UNIX; the name of the
# variable varies: LD_LIBRARY_PATH, SHLIB_PATH, etc.)
weblogic.system.nativeIO.enable=true
# Outputs logging information to the console as well as to the log file
weblogic.system.enableConsole=true
# Sets the directory or URL for the WebLogic Admin help pages
# The help pages are shipped in the "docs/adminhelp" directory, in the
# default document root in public_html
weblogic.system.helpPageURL=g:/weblogic/myserver/public_html/docs51/adminhel
p/
# If you prefer to access the most recent help pages, you can do so online
# by commenting out the previous property and uncommenting this one:
#weblogic.system.helpPageURL=http://www.weblogic.com/docs51/adminhelp/
# Properties for tuning the server's performance
# Number of WebLogic Server execute threads.
weblogic.system.executeThreadCount=15
# Other optional system properties
# Limits size of weblogic.log (in K) and versions old log
weblogic.system.maxLogFileSize=1024
# Adjust minimum length of password
weblogic.system.minPasswordLen=8
# UNIX only: If running on port 80 on UNIX, enable the setUID program
#weblogic.system.enableSetUID=false
# UNIX only: Unprivileged user to setUID to after starting up
# WebLogic Server on port 80
#weblogic.system.nonPrivUser=nobody
# CLUSTER-SPECIFIC PROPERTIES
# Cluster-specific properties in this section are set to system defaults.
# CLUSTER USERS: Note that ALL Cluster-specific properties should be set
# in the per-cluster properties file ONLY.
# Time-to-live (number of hops) for the cluster's multicast messages
# (default 1, range 1-255).
#weblogic.cluster.multicastTTL=1
# Sets the load-balancing algorithm to be used between
# replicated services if none is specified. If not specified,
# round-robin is used.
#weblogic.cluster.defaultLoadAlgorithm=round-robin
# SERVER-SPECIFIC CLUSTER PROPERTIES
# Cluster-related properties in this section are set to system defaults.
# CLUSTER USERS: Note that these server-specific cluster-related properties
# should be set in the per-server properties file ONLY.
# Sets the weight of the individual server for the weight-based
load-balancing.
# Range is 0 - 100.
# Larger numbers increase the amount of traffic routed to this server.
#weblogic.system.weight=100
# SYSTEM STARTUP FILES - Examples
# CLUSTER USERS: Note that ONLY startup registrations for pinned RMI
# objects should be registered in the per-server properties file.
# All other startup classes should be registered in the per-cluster
# properties file.
# For more info on writing and using startup file, see the
# Developers Guide "Writing a WebLogic Client application," at
# http://www.weblogic.com/docs51/classdocs/API_t3.html
# Register a startup class by giving it a virtual name and
# supplying its full pathname.
#weblogic.system.startupClass.[virtual_name]=[full_pathname]
# Add arguments for the startup class
#weblogic.system.startupArgs.[virtual_name]={argname]=[argvalue]
# This example shows the entry for examples/t3client/StartupQuery.java
#weblogic.system.startupClass.doquery=examples.t3client.StartupQuery
#weblogic.system.startupArgs.doquery=\
# query=select * from emp,\
# db=jdbc:weblogic:pool:demoPool
# SYSTEM SHUTDOWN FILES - Examples
# For more info on writing and using shutdown file, see the
# Developers Guide "Writing a WebLogic Client application," at
# http://www.weblogic.com/docs51/classdocs/API_t3.html
# Register a shutdown class by giving it a virtual name and
# supplying its full pathname.
#weblogic.system.shutdownClass.[virtual_name]=[full_pathname]
# Add arguments for the shutdown class
#weblogic.system.shutdownArgs.[virtualName]={argname]=[argvalue]
# This example shows the entry for examples/t3client/ShutdownTest.java
#weblogic.system.shutdownClass.ShutdownTest=examples.t3client.ShutdownTest
#weblogic.system.shutdownArgs.ShutdownTest=\
# outfile=c:/temp/shutdown.log
# SECURITY-RELATED PROPERTIES FOR WORKSPACES
# For backward compatibility, the following entries disable Access
# Control on Workspaces
weblogic.allow.read.weblogic.workspace=everyone
weblogic.allow.write.weblogic.workspace=everyone
# JOLT FOR WEBLOGIC PROPERTIES
# These properties configure a BEA Jolt connection pool for use with
# the simpapp and bankapp examples, and register a servlet for use with
# with the simpapp example. The default server address provided here
# points to a public TUXEDO server that is hosted by BEA for use with
# this example.
# Servlet registration for simpapp example:
#weblogic.httpd.register.simpapp=examples.jolt.servlet.simpapp.SimpAppServle
t
# Pool creation and cleanup
# note this example is set up to work with the public
# demo TUXEDO server available from BEA's website:
#weblogic.system.startupClass.demojoltpoolStart=\
# bea.jolt.pool.servlet.weblogic.PoolManagerStartUp
#weblogic.system.startupArgs.demojoltpoolStart=\
# poolname=demojoltpool,\
# appaddrlist=//beademo1.beasys.com:8000,\
# failoverlist=//beademo1.beasys.com:8000,\
# minpoolsize=1,\
# maxpoolsize=3
#weblogic.system.shutdownClass.demojoltpoolStop=\
# bea.jolt.pool.servlet.weblogic.PoolManagerShutDown
#weblogic.system.shutdownArgs.demojoltpoolStop=\
# poolname=demojoltpool
# WEBLOGIC ENTERPRISE CONNECTIVITY PROPERTIES
# The registrations enable a BEA IIOP connection pool and
# register servlets for use with the simpapp and university examples.
# Configure for your environment and uncomment to use.
# Uncommenting these properties requires WebLogic Enterprise Connectivity
# and an operating WebLogic Enterprise Server.
# Servlet registration for simpapp servlet example
#weblogic.httpd.register.SimpappServlet=\
# examples.wlec.servlets.simpapp.SimpappServlet
#weblogic.allow.execute.weblogic.servlet.SimpappServlet=everyone
# Servlet registration for simpapp EJB example
# (You'll need to add the wlec_ejb_simpapp.jar to the
# weblogic.ejb.deploy property in this file.)
#weblogic.httpd.register.ejbSimpappServlet=\
# examples.wlec.ejb.simpapp.ejbSimpappServlet
#weblogic.allow.execute.weblogic.servlet.ejbSimpappServlet=everyone
# Pool creation and cleanup for the simpapp example
#weblogic.CORBA.connectionPool.simplepool=\
# appaddrlist=//wlehost:2468,\
# failoverlist=//wlehost:2468,\
# minpoolsize=2,\
# maxpoolsize=3,\
# username=wleuser,\
# userrole=developer,\
# domainname=simpapp
# Servlet registration for university Servlet example:
#weblogic.httpd.register.UniversityServlet=\
# examples.wlec.servlets.university.UniversityServlet
#weblogic.allow.execute.weblogic.servlet.UniversityServlet=everyone
# Pool creation and cleanup for the University example:
#weblogic.CORBA.connectionPool.Univpool=\
# appaddrlist=//wlehost:2498,\
# failoverlist=//wlehost:2498,\
# minpoolsize=2,\
# maxpoolsize=3,\
# username=wleuser,\
# userrole=developer,\
# apppassword=wlepassword,\
# domainname=university
# WEBLOGIC FILE PROPERTIES
# Maps a volume name to a path, for client file read/write
#weblogic.io.fileSystem.[volumeName]=[fullPathName]
# WEBLOGIC JMS DEMO PROPERTIES
# CLUSTER USERS: Note that ALL JMS deployment should be done in the
# per-cluster properties file ONLY.
# You set up a JDBC connection pool if you want persistent messages
# (including durable subscriptions). To use JMS and EJBs in the same
# transaction, both must use the same JDBC connection pool. Uncomment
# the following property to use the default JDBC connection pool
# 'demo', which is defined in the Demo connection pool section of this file.
#weblogic.jms.connectionPool=demoPool
# The JMS Webshare example demonstrates how the ClientID for a
# durable subscriber is configured in the connection factory:
#weblogic.jms.topic.webshareTopic=jms.topic.webshareTopic
#weblogic.jms.connectionFactoryName.webshare=jms.connection.webshareFactory
#weblogic.jms.connectionFactoryArgs.webshare=ClientID=webshareUser
#weblogic.httpd.register.webshare=examples.jms.webshare.WebshareServlet
# The JMS trader example shows how to use JMS with an EJB. In addition
# to uncommenting the following properties, you must also set up and
# deploy the EJB example examples.ejb.basic.statelessSession.Trader in
# ejb_basic_statelessSession.jar to try out this JMS example:
#weblogic.jms.topic.exampleTopic=javax.jms.exampleTopic
#weblogic.jms.connectionFactoryName.trader=jms.connection.traderFactory
#weblogic.jms.connectionFactoryArgs.trader=ClientID=traderReceive
#weblogic.httpd.register.jmstrader=examples.jms.trader.TraderServlet
# Registers the underlying servlet
#weblogic.httpd.register.jmssender=examples.jms.sender.SenderServlet
# These properties are used with the ServerReceive JMS example,
# which demonstrates how to establish a JMS message consumer
# in a startup class:
#weblogic.system.startupClass.serverReceive=\
# examples.jms.startup.ServerReceive
#weblogic.system.startupArgs.serverReceive=\
# connectionFactory=javax.jms.TopicConnectionFactory,\
# topic=javax.jms.exampleTopic
# These properties are used with the PoolReceive JMS example,
# which demonstrates how to establish a pool of JMS message consumers
# in a startup class:
#weblogic.system.startupClass.poolReceive=\
# examples.jms.startup.PoolReceive
#weblogic.system.startupArgs.poolReceive=\
# connectionFactory=javax.jms.TopicConnectionFactory,\
# topic=javax.jms.exampleTopic
#weblogic.allow.create.weblogic.jms.ServerSessionPool=everyone
# WEBLOGIC RMI DEMO PROPERTIES
# CLUSTER USERS: Note that pinned RMI objects should be registered
# in the per-server properties file ONLY. All other RMI startup
# classes should be registered in the per-cluster properties file.
# Remote classes registered at startup after the pattern:
#weblogic.system.startupClass.[virtualName]=[fullPackageName]
# These examples can be compiled to see RMI in action. Uncomment to use:
#weblogic.system.startupClass.hello=examples.rmi.hello.HelloImpl
#weblogic.system.startupClass.multihello=examples.rmi.multihello.HelloImpl
#weblogic.system.startupClass.stock=examples.rmi.stock.StockServer
# WEBLOGIC EJB DEMO PROPERTIES
# CLUSTER USERS: Note that ALL EJB deployment should be done in the
# per-cluster properties file ONLY.
# See WebLogic Demo Connection Pool below for a connection pool
# to use with these examples.
# Deploys EJBeans. Uncomment the appropriate lines below and
# modify DBMS-related info and paths to match your particular installation:
#weblogic.ejb.deploy=\
# g:/weblogic/myserver/ejb_basic_beanManaged.jar, \
# g:/weblogic/myserver/ejb_basic_containerManaged.jar, \
# g:/weblogic/myserver/ejb_basic_statefulSession.jar, \
# g:/weblogic/myserver/ejb_basic_statelessSession.jar, \
# g:/weblogic/myserver/ejb_extensions_finderEnumeration.jar, \
# g:/weblogic/myserver/ejb_extensions_readMostly.jar, \
# g:/weblogic/myserver/ejb_subclass.jar, \
# g:/weblogic/myserver/jolt_ejb_bankapp.jar
# Servlet used by the EJB basic beanManaged example
# Uncomment to use:
#weblogic.httpd.register.beanManaged=\
# examples.ejb.basic.beanManaged.Servlet
# Add a list of users (set the password with
weblogic.password.[username]=XXX)
# to set an ACL for this servlet:
#weblogic.allow.execute.weblogic.servlet.beanManaged=user1,user2,etc
#weblogic.password.user1=user1Password
#weblogic.password.user2=user2Password
# WEBLOGIC XML DEMO PROPERTIES
# These properties are required to run the XML examples.
# Uncomment to use.
# CLUSTER USERS: Note that ALL servlets should be set up
# in the per-cluster properties file ONLY.
#weblogic.httpd.register.StockServlet=examples.xml.http.StockServlet
# BizTalk example properties
#weblogic.jms.queue.tradeIncoming=biztalk.jms.tradeIncoming
#weblogic.jms.queue.tradeError=biztalk.jms.tradeError
#weblogic.httpd.register.BizTalkServer=examples.xml.biztalk.BizHttpProtocolA
dapter
#weblogic.httpd.initArgs.BizTalkServer=bizQueue=biztalk.jms.tradeIncoming
# WEBLOGIC ZAC DEMO PROPERTIES
# These registrations enable the ZAC Publish Wizard.
weblogic.zac.enable=true
# Set the publish root for a WebLogic Server. Edit and
# uncomment to use.
#weblogic.zac.publishRoot=g:/weblogic/zac
# Set an ACL for each package you publish. The [name] is
# the "Package name" you assign in the ZAC Publish Wizard.
# Publish a package, edit this property, and uncomment to use.
#weblogic.allow.read.weblogic.zac.[name]=[user list]
#weblogic.allow.write.weblogic.zac.[name]=system
# HTTPD ADMINISTRATIVE PROPERTIES
# Enables logging of HTTPD info in common log format and
# sets the log file name (default is "access.log" in "myserver")
weblogic.httpd.enableLogFile=true
weblogic.httpd.logFileName=access.log
# Tracks HTTPD requests with events delivered to WEBLOGIC.LOG.HTTPD
weblogic.httpd.enableEvents=false
# Enables HTTP sessions
weblogic.httpd.session.enable=true
# Sets an optional cookie name. The default name is "WebLogicSession".
# Prior to version 4.0, the default was "TengahSession". To make
# this backward compatible with cookies generated from previous
# installations, you should set this property to "TengahSession".
# Uncomment this line and set this to any string of your choice,
# or comment out this property to use the default.
#weblogic.httpd.session.cookie.name=WebLogicSession
# MIME types
weblogic.httpd.mimeType.text/html=html,htm
weblogic.httpd.mimeType.image/gif=gif
weblogic.httpd.mimeType.image/jpeg=jpeg,jpg
weblogic.httpd.mimeType.application/pdf=pdf
weblogic.httpd.mimeType.application/zip=zip
weblogic.httpd.mimeType.application/x-java-vm=class
weblogic.httpd.mimeType.application/x-java-archive=jar
weblogic.httpd.mimeType.application/x-java-serialized-object=ser
weblogic.httpd.mimeType.application/octet-stream=exe
weblogic.httpd.mimeType.text/vnd.wap.wml=wml
weblogic.httpd.mimeType.text/vnd.wap.wmlscript=wmls
weblogic.httpd.mimeType.application/vnd.wap.wmlc=wmlc
weblogic.httpd.mimeType.application/vnd.wap.wmlscriptc=wmlsc
weblogic.httpd.mimeType.image/vnd.wap.wbmp=wbmp
# In seconds, the keep-alive for HTTP and HTTPS requests
weblogic.httpd.http.keepAliveSecs=60
weblogic.httpd.https.keepAliveSecs=120
# WEBLOGIC JDBC DRIVER PROPERTIES
# Enables JDBC driver logging and sets the file name for the log
# The weblogic.jdbc.logFile is placed in the per-server
# directory (default is "myserver")
weblogic.jdbc.enableLogFile=false
weblogic.jdbc.logFileName=jdbc.log
# WEBLOGIC JDBC CONNECTION POOL MANAGEMENT
# CLUSTER USERS: Note that ALL JDBC connection pools should be set up
# in the per-cluster properties file ONLY.
# For creating JDBC connection pools. This example shows a connection
# pool called "oraclePool" that allows 3 T3Users "guest," "joe," and "jill"
# to use 4 JDBC connections (with a potential for up to 10 connections,
# incremented by two at a time, with a delay of 1 second between each
# attempt to connect to the database), to an Oracle database server called
# "DEMO." If more than 4 connections are opened, after 15 minutes, unused
# connections are dropped from the pool until only 4 connections remain
open.
# Every 10 minutes, any unused connections in the pool are tested and
# refreshed if they are not viable.
#weblogic.jdbc.connectionPool.oraclePool=\
# url=jdbc:weblogic:oracle,\
# driver=weblogic.jdbc.oci.Driver,\
# loginDelaySecs=1,\
# initialCapacity=4,\
# maxCapacity=10,\
# capacityIncrement=2,\
# allowShrinking=true,\
# shrinkPeriodMins=15,\
# refreshMinutes=10,\
# testTable=dual,\
# props=user=SCOTT;password=tiger;server=DEMO
# Get more details on each argument for this property in the
# Administrators Guide on setting properties at:
# http://www.weblogic.com/docs51/admindocs/properties.html
# Set up ACLs for this connection pool with the following:
#weblogic.allow.reserve.weblogic.jdbc.connectionPool.oraclePool=\
# guest,joe,jill
#weblogic.allow.reset.weblogic.jdbc.connectionPool.oraclePool=\
# joe,jill
#weblogic.allow.shrink.weblogic.jdbc.connectionPool.oraclePool=\Problem Resolved!
I found out that I had 'http' instead of 'httpd' in the statement where I
registered my servlet, SqlServlet.
Now, I am having difficulty with hot deployment. The server is returning
error 404.
-
DoGet() method is being called every 3inutes repetitively in servlet
HI,
There are 2 managed servers in one unix box.
i have one war application deployed in cluster level. This war application will search the logs and will give particular content as a result.
The Jsp page will send the request and it is able to get the correct results if the operation completes within 3 minutes. if there are so many logs, it is giving unreliable results as war application is sending the request again and again in the interval of 3 mins.
Request parameters are getting by servlet, and this servlet will create the unix shellscript in background and it will execute in a box.
0-3 mins 1st .sh creating and executing..
3-6 mins 2nd .sh creats and starts the execution, once the 1 one is completed...
its becomes infinite loop...
after some time Browser is going to diagnostic error state..
i did debugging there i can see doGet method of servlet is being called for every 3 minutes..
to avoid this i tried to give some parameters in weblogic.xml file...but its not working..
please fine below weblogic.xml file
====================================
<?xml version='1.0' encoding='UTF-8'?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd">
<session-descriptor>
</session-descriptor>
<jsp-descriptor>
<page-check-seconds>-1</page-check-seconds>
<debug>true</debug>
</jsp-descriptor>
<container-descriptor>
<resource-reload-check-secs>-1</resource-reload-check-secs>
<servlet-reload-check-secs>-1</servlet-reload-check-secs>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
<logging>
<log-filename>/wls_domains/b2borap2/application_MT/logs/messagetracker.log</log-filename>
</logging>
</weblogic-web-app>
=======================================================
and web.xml file is
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<listener>
<listener-class>
com.tm.messagetracker.listeners.MTrackerSession
</listener-class>
</listener>
<servlet>
<servlet-name>Controller</servlet-name>
<servlet-class>com.tm.messagetracker.Controller</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Controller</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>htm</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
=========================================
please find the servlet code..
public class Controller extends HttpServlet
public void init()
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
System.out.println("Iam at doGet");
res.setContentType("text/html");
HttpSession session = req.getSession (false);
if (session==null) {
// We Send a Redirect
res.sendRedirect("./../pages/login.jsp");
//HttpSession session = req.getSession(true);
boolean loginTravelled = new Boolean((String)session.getAttribute("loginTravelled")).booleanValue();
UserVerification uv = new UserVerification();
MTUtils mTUtils = new MTUtils();
Properties systemProps = SerializeProperties.doLoad();
int noOFrecordsPerPage = 10;
if (loginTravelled)
System.out.println("loginTravelled value :"+loginTravelled);
String pageId = req.getParameter("pageId");
String actionId = req.getParameter("actionId");
if (actionId.equals("logout"))
session.removeAttribute("CompleteSearchRecords");
session.removeAttribute("DisplaySearchRecords");
session.invalidate();
System.gc();
res.sendRedirect("./../pages/login.jsp");
else if (pageId.equals("faq"))
if (actionId.equals("homepage"))
System.gc();
res.sendRedirect("./../pages/login.jsp");
else if (actionId.equals("download"))
String fileName = req.getParameter("fileName");
String originalFileName = req.getParameter("originalFileName");
doDownload(req, res, fileName, originalFileName);
else if (pageId.equals("login"))
if (actionId.equals("downloads"))
List downloadListRecords = null;
try
downloadListRecords = DownloadableRecords.getDownloadableRecords(new File(systemProps.getProperty("faq")));
catch (Exception e)
e.printStackTrace();
session.setAttribute("DownloadListRecords", downloadListRecords);
res.sendRedirect("./../pages/downloads.jsp");
else if (actionId.equals("userlogin"))
String userId = req.getParameter("uname").trim();
String password = req.getParameter("passwd").trim();
if ((userId != null) && (userId.length() > 0) && (password != null) && (password.length() > 0))
if ((userId.equals("superadmin")) && (password.equals("superadmin")))
res.sendRedirect("./../pages/admin.jsp");
String userAuthMsg = UserVerification.verifyUser(userId, password);
if (userAuthMsg.equals("adminuser"))
res.sendRedirect("./../pages/admin.jsp");
else if (userAuthMsg.equals("guestuser"))
res.sendRedirect("./../pages/search.jsp");
else if (userAuthMsg.equals("wrongpassword"))
res.sendRedirect("./../pages/login.jsp?userAuthDispMsg=Sorry wrong password");
else if (userAuthMsg.equals("unauthorizeduser"))
res.sendRedirect("./../pages/login.jsp?userAuthDispMsg=User is not Authorized ");
else if ((userAuthMsg.equals("adminpropsNotFound")) || (userAuthMsg.equals("guestpropsNotFound")))
res.sendRedirect("./../pages/error.jsp?userAuthDispMsg=user configurations not found , Please contact admin");
else
res.sendRedirect("./../pages/login.jsp?userAuthDispMsg=UserName or password cannot be null");
else if (pageId.equals("adminPage"))
if (actionId.equals("adduser"))
CommonProperties adminProps = MTrackerProperties.getAdminProps();
CommonProperties guestProps = MTrackerProperties.getGuestProps();
String userId = req.getParameter("adduname").trim();
String password = req.getParameter("passwd").trim();
String userAuthMsg = uv.verifyUser(userId);
if (userAuthMsg.equals("adminuser"))
res.sendRedirect("./../pages/admin.jsp?userAuthDispMsg=Admin user with name exists");
else if (userAuthMsg.equals("guestuser"))
res.sendRedirect("./../pages/admin.jsp?userAuthDispMsg=Guest user with name exists");
else
String userType = req.getParameter("usertype").trim();
if (userType.equals("admin"))
adminProps.addProperty(userId, password);
res.sendRedirect("./../pages/admin.jsp?userAuthDispMsg=User " + userId + " added successfully");
else
guestProps.addProperty(userId, password);
res.sendRedirect("./../pages/admin.jsp?userAuthDispMsg=User " + userId + " added successfully");
else if (actionId.equals("deleteuser"))
CommonProperties adminProps = MTrackerProperties.getAdminProps();
CommonProperties guestProps = MTrackerProperties.getGuestProps();
String userId = req.getParameter("deluname").trim();
String userAuthMsg = uv.verifyUser(userId);
if (userAuthMsg.equals("adminuser"))
adminProps.deleteProperty(userId);
res.sendRedirect("./../pages/admin.jsp?userAuthDispMsg=Admin user " + userId + " deleted");
else if (userAuthMsg.equals("guestuser"))
guestProps.deleteProperty(userId);
res.sendRedirect("./../pages/admin.jsp?userAuthDispMsg=Guest user " + userId + " deleted");
else
res.sendRedirect("./../pages/admin.jsp?userAuthDispMsg=User " + userId + " does not exists ");
else if (actionId.equals("updatescript"))
String perlScriptLoc = req.getParameter("perlloc").trim();
SerializeProperties.doSave(perlScriptLoc);
try
Thread.sleep(2500L);
catch (InterruptedException e) {
e.printStackTrace();
res.sendRedirect("./../pages/admin.jsp?userAuthDispMsg=Perl script location updated with -> " + perlScriptLoc);
else if (actionId.equals("updatepropertyfile"))
String propfileLoc = req.getParameter("proploc").trim();
SerializeProperties.doSave(propfileLoc);
try
Thread.sleep(2500L);
catch (InterruptedException e) {
e.printStackTrace();
res.sendRedirect("./../pages/admin.jsp?userAuthDispMsg=Property file location updated with -> " + propfileLoc);
else if (actionId.equals("searchLink"))
res.sendRedirect("./../pages/search.jsp");
if (actionId.equals("cleanup"))
String resultsDir = systemProps.getProperty("results");
mTUtils.deleteFiles(new File(resultsDir), 24);
res.sendRedirect("./../pages/admin.jsp?userAuthDispMsg=Cleanup Done !!!");
else if (pageId.equals("searchPage"))
System.out.println("Start searching process Here");
if (actionId.equals("search"))
System.out.println("Started searching process");
String tboxValue = req.getParameter("tbox");
String tareaValue = req.getParameter("tarea");
String SearchString = "";
String auditEnable = req.getParameter("audit");
String errorEnable = req.getParameter("error");
String debugEnable = req.getParameter("debug");
String srchStartDate = req.getParameter("srchstartDate");
String srchEndDate = req.getParameter("srchendDate");
String srchInZipFile = "";
if (req.getParameter("srchInZipFile") != null) {
srchInZipFile = req.getParameter("srchInZipFile");
String mode = req.getParameter("inputmode");
try
if (req.getParameter("recordsPerPage") != null)
noOFrecordsPerPage = new Integer(req.getParameter("recordsPerPage")).intValue();
catch (Exception e)
res.sendRedirect("./../pages/error.jsp?userAuthDispMsg=recordsPerPage should be a number");
if (mode.equals("single"))
SearchString = tboxValue;
else
SearchString = tareaValue;
String inputDir = systemProps.getProperty("inputs");
String resultsDir = systemProps.getProperty("results");
String inputFileName = new Integer(mTUtils.getRandom()).toString();
File inputParams = new File(inputDir + "/" + inputFileName + ".properties");
File inputTxt = new File(inputDir + "/" + inputFileName + ".txt");
synchronized (inputParams) {
System.out.println("inputParams"+inputParams);
synchronized (inputTxt)
System.out.println("inputtxt"+inputTxt);
boolean saved = false;
CommonProperties singleSerProps = new CommonProperties(inputParams);
Properties searchProps = new Properties();
searchProps.setProperty("search_from_date", srchStartDate);
searchProps.setProperty("search_to_date", srchEndDate);
searchProps.setProperty("force_zip_search", srchInZipFile);
if ((SearchProperties.saveSingeSearchProps(singleSerProps, searchProps)) && (SearchProperties.saveSearchFile(inputTxt, SearchString)))
if (mTUtils.genarateScript(auditEnable, debugEnable, errorEnable, srchInZipFile, inputFileName))
if (mTUtils.runScript("sh", inputFileName))
List tRecords = null;
TrackingLogReader treader = new TrackingLogReader();
try
tRecords = treader.getRecords(new File(resultsDir), inputFileName);
catch (Exception e)
e.printStackTrace();
if (tRecords == null)
tRecords = new ArrayList();
tRecords.add("No Records Found");
String backEnb = "";
String nextEnb = "";
int fromRec = 0;
int toRec = 0;
if (tRecords.size() > noOFrecordsPerPage)
toRec = noOFrecordsPerPage;
backEnb = "false";
nextEnb = "true";
else
toRec = tRecords.size();
backEnb = "false";
nextEnb = "false";
List subList = tRecords.subList(fromRec, toRec);
session.setAttribute("CompleteSearchRecords", tRecords);
session.setAttribute("DisplaySearchRecords", subList);
session.setAttribute("fromRec", new Integer(fromRec));
session.setAttribute("toRec", new Integer(toRec));
session.setAttribute("nextEnb", nextEnb);
session.setAttribute("backEnb", backEnb);
session.setAttribute("recsPerPage", new Integer(noOFrecordsPerPage));
res.sendRedirect("./../pages/SearchResults.jsp");
else {
res.sendRedirect("./../pages/error.jsp?userAuthDispMsg=Problem in calling PERL system , Please contact admin");
else
res.sendRedirect("./../pages/error.jsp?userAuthDispMsg=Script not generated , Please contact admin");
else
res.sendRedirect("./../pages/error.jsp?userAuthDispMsg=Search input directory not found, Please contact admin ");
//inputParams.delete();
//inputTxt.delete();
else if (pageId.equals("searchresults"))
noOFrecordsPerPage = ((Integer)session.getAttribute("recsPerPage")).intValue();
if (actionId.equals("newSearch"))
session.removeAttribute("CompleteSearchRecords");
session.removeAttribute("DisplaySearchRecords");
session.removeAttribute("fromRec");
session.removeAttribute("toRec");
session.removeAttribute("recsPerPage");
System.gc();
res.sendRedirect("./../pages/search.jsp");
else if (actionId.equals("first"))
List completeRecords = (List)session.getAttribute("CompleteSearchRecords");
int fromRec = 0;
int toRec = 0;
String backEnb = "";
String nextEnb = "";
if (completeRecords.size() > noOFrecordsPerPage)
toRec = noOFrecordsPerPage;
backEnb = "false";
nextEnb = "true";
else
toRec = completeRecords.size();
backEnb = "false";
nextEnb = "false";
List subList = completeRecords.subList(fromRec, toRec);
session.setAttribute("CompleteSearchRecords", completeRecords);
session.setAttribute("DisplaySearchRecords", subList);
session.setAttribute("fromRec", new Integer(fromRec));
session.setAttribute("toRec", new Integer(toRec));
session.setAttribute("nextEnb", nextEnb);
session.setAttribute("backEnb", backEnb);
session.setAttribute("recsPerPage", new Integer(noOFrecordsPerPage));
res.sendRedirect("./../pages/SearchResults.jsp");
else if (actionId.equals("last"))
List completeRecords = (List)session.getAttribute("CompleteSearchRecords");
int fromRec = 0;
int toRec = completeRecords.size();
String backEnb = "";
String nextEnb = "";
if (noOFrecordsPerPage > completeRecords.size())
fromRec = 0;
backEnb = "false";
nextEnb = "false";
else
fromRec = completeRecords.size() - noOFrecordsPerPage;
backEnb = "true";
nextEnb = "false";
List subList = completeRecords.subList(fromRec, toRec);
session.setAttribute("CompleteSearchRecords", completeRecords);
session.setAttribute("DisplaySearchRecords", subList);
session.setAttribute("fromRec", new Integer(fromRec));
session.setAttribute("toRec", new Integer(toRec));
session.setAttribute("nextEnb", nextEnb);
session.setAttribute("backEnb", backEnb);
session.setAttribute("recsPerPage", new Integer(noOFrecordsPerPage));
res.sendRedirect("./../pages/SearchResults.jsp");
else if (actionId.equals("back"))
List completeRecords = (List)session.getAttribute("CompleteSearchRecords");
int fromRec = ((Integer)session.getAttribute("fromRec")).intValue();
int toRec = ((Integer)session.getAttribute("toRec")).intValue();
toRec = fromRec;
if (fromRec - noOFrecordsPerPage > 0)
session.setAttribute("backEnb", "true");
fromRec -= noOFrecordsPerPage;
else
fromRec = 0;
session.setAttribute("backEnb", "false");
session.setAttribute("nextEnb", "true");
session.setAttribute("fromRec", new Integer(fromRec));
session.setAttribute("toRec", new Integer(toRec));
List subList = completeRecords.subList(fromRec, toRec);
session.setAttribute("DisplaySearchRecords", subList);
res.sendRedirect("./../pages/SearchResults.jsp");
else if (actionId.equals("next"))
List completeRecords = (List)session.getAttribute("CompleteSearchRecords");
int fromRec = ((Integer)session.getAttribute("fromRec")).intValue();
int toRec = ((Integer)session.getAttribute("toRec")).intValue();
fromRec = toRec;
if (toRec + noOFrecordsPerPage <= completeRecords.size())
session.setAttribute("nextEnb", "true");
toRec += noOFrecordsPerPage;
else
toRec = completeRecords.size();
session.setAttribute("nextEnb", "false");
session.setAttribute("backEnb", "true");
session.setAttribute("fromRec", new Integer(fromRec));
session.setAttribute("toRec", new Integer(toRec));
List subList = completeRecords.subList(fromRec, toRec);
session.setAttribute("DisplaySearchRecords", subList);
res.sendRedirect("./../pages/SearchResults.jsp");
else if (actionId.equals("download"))
String fileName = req.getParameter("fileName");
String originalFileName = req.getParameter("originalFileName");
doDownload(req, res, fileName, originalFileName);
else
res.sendRedirect("./../pages/login.jsp?userAuthDispMsg=Invalid USER");
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
doGet(req, res);
private void doDownload(HttpServletRequest req, HttpServletResponse resp, String filename, String original_filename)
throws IOException
File f = new File(filename);
int length = 0;
ServletOutputStream op = resp.getOutputStream();
ServletContext context = getServletConfig().getServletContext();
String mimetype = context.getMimeType(filename);
resp.setContentType(mimetype != null ? mimetype : "application/octet-stream");
resp.setContentLength((int)f.length());
resp.setHeader("Content-Disposition", "attachment; filename=\"" + original_filename + "\"");
byte[] bbuf = new byte[10240];
DataInputStream in = new DataInputStream(new FileInputStream(f));
while ((in != null) && ((length = in.read(bbuf)) != -1))
op.write(bbuf, 0, length);
in.close();
op.flush();
op.close();
=========================
anyone please help me on above......Thanks in advance..Hi jleech,
Thanks for the reply. But deleting all the temporary internet files as also the history files does not seem to have an effect. the doFilter is being called only at the second request. or did i miss anything??
Please help. unable to complete the assignment because of this.
Thank You,
Phani Kanuri -
Struts action classes not reloaded in WLS 8.1 SP5
Hi,
We are in the process of upgrading from WLS6.1 to WLS8.1(SP5). I installed WLS8.1 in development mode with no change to any of the default settings and got our app up and running. However, one issue that I noticed was that WLS8.1 is not reloading new classes copied int WEB-INF/classes directory within the webapp.
I read the document at http://edocs.bea.com/wls/docs81/webapp/deployment.html#157139 and it clearly says that any changes to classes are automatically picked up.
I have verified that "servlet-reload-check-secs" is set to 1. Is there any configuration item that I am missing here ?
Thanks in advance,
PrasadHi,
I am deploying my application on bea weblogic 8.1SP5........and it showing errors below::::while iit's working fine on sp4........
JVMDG217: Dump Handler is Processing OutOfMemory - Please Wait.
JVMDG315: JVM Requesting Heap dump file
.........JVMDG318: Heap dump file written to /soft_dump/BEA815/user_projects/dom
ains/mydomain/heapdump274442.1150373114.phd
JVMDG303: JVM Requesting Java core file
JVMDG304: Java core file written to /soft_dump/BEA815/user_projects/domains/mydo
main/javacore274442.1150373147.txt
JVMDG274: Dump Handler has Processed OutOfMemory.
Is dere any solution for it?
Thanks
Samit Katiyar
[email protected]
Maybe you are looking for
-
I am trying to discover if I am eligible to TRY Adobe Illustrator. I have the monthly subscription for Photoshop. There are no problems with it just that I have been learning from sources that the images from Photoshop are raster not vector and I n
-
File resources in clustered environment
I understand that resource on file system cannot be clustered. We have an application packaged as an ear file but unfortunately we get the properties files from the file system. We usually copy these resources while inst
-
Updates not work through app store
SINCE UPDATING TO MOUNTAIN LION , WHEN I UPADTE SOFTWARE THROUGH THE APP STORE IT ALWAYS COMES UP NO UPDATES AVAILABLE......BUT I KNOW THEY ARE AVAILABLE....please help
-
I Need Electronic Banking Doc Urgent
Hi SAP GURUS, I need urgent requirement to implement Electonic Banking Can any Send me Documentation As soon as possible its urgent ds is my mail id:[email protected] Thanks & Regards, Prakash
-
Create Transaction for web-dynpro ABAP
hi Can you help me in creating a transaction for web-dynpro ABAP. thank you.