Caculate the license for Small web application

Hi,
I am usimg MS product to develop appliction . And now i am interest in JSF. However, the license's caculation seems very complicate and there is no good development tools.
In MS product like C#, I just buy the development tools only. It included the license for MSDE. And the Web server is free. It is very simple. It is easy to migrage from MSDE to SQL Server when needed.
How about the JAVA environment ?
Sun Java Studio Creator + Tomcat + MySQL ??
How to caculate the license ? There seems some hidden license free for production environment. How can I develop an application in test environment only ?
I perfer the environment is :
Sun Java Studio Creator + Tomcat + MSDE
So I can upgrade to SQL if needed for long run.
Any idea ?
Thanks
Wilson

Sun Java Studio Creator comes bundled with Sun Appserver (for deployment) and pointbase (database) for development.
i.e Sun Java Studio Creator + Sun Appserver + Pointbase
Once the web application is developed you have the option to deploy to any J2EE compliant Application server such as
Tomcat
Websphere
Weblogic
JBoss
etc ..
Similarly you can use any database such as
Oracle
MS SQL server
Sybase
MySQL
etc ...
as long as you have the proper JDBC driver (which most vendors provide).
The web application devloped by JSC is J2EE standard based. So there is no hidden fee involved to deploy to any other J2EE compliant Appserver or to use any standard Database that has proper JDBC driver.
- Winston

Similar Messages

  • Is OOP convenient for small web application?

    Hi,
    Just curious about the convenience of OOP in JSP to create small web application.
    According to OOP, we create separate classes (beans) for the business logics. So there will be two files, one for the .jsp file and the other is .class file.
    If I dont use OOP, I can just embed java code right into the .jsp files that "create connection to database, query, and display the results". So everything is in one file.
    So in my opinion, it is not worth the time and effort to create separate beans for a small web application that only displays, add, and edit data from database (such as showing the list of customers, list of hot news, updating it, etc).
    WHat do u think?

    Well,it is always a design consideration... but using business logic inside a bean makes them reusable and also improves maintenability of the JSP page. Separating the Business Logic from presentation logic also enables HTML programmers (who have no knowledge of JAVA) maintain the look and feel of the page....
    However you can always go for inline code in JSP if the requirement is small
    Shubhrajit ;-)

  • Getting some errors in console of the tomcat for struts web application

    hi
    am getting following error while deploying my struts app
    my struts-config file is as followsl
    <struts-config>
    <form-beans>
    <form-bean name="myForm" type="MyForm" />
    </form-beans>
    <action-mappings>
    <action path="/hello"
                   input="/login.jsp"
                   name="myForm"
                   type="MyAction"
                   scope="request"
                   validate="true" >
                   <forward name="success" path="/success.jsp" />
                   <forward name="failure" path="/failure.jsp" />
         </action>
    </action-mappings>
    <message-resources parameter="ApplicationResources" />
    </struts-config>
    SEVERE: Parse Error at line 1 column 15: Document is invalid: no grammar found.
    org.xml.sax.SAXParseException: Document is invalid: no grammar found.
         at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
         at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
         at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
         at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
         at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
         at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
         at org.apache.commons.digester.Digester.parse(Digester.java:1548)
         at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:708)
         at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:670)
         at org.apache.struts.action.ActionServlet.init(ActionServlet.java:329)
         at javax.servlet.GenericServlet.init(GenericServlet.java:211)
         at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
         at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
         at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3917)
         at org.apache.catalina.core.StandardContext.start(StandardContext.java:4201)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
         at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
         at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
         at org.apache.catalina.core.StandardService.start(StandardService.java:450)
         at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
         at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
    Sep 24, 2007 12:56:33 PM org.apache.commons.digester.Digester error
    SEVERE: Parse Error at line 1 column 15: Document root element "struts-config", must match DOCTYPE root "null".
    org.xml.sax.SAXParseException: Document root element "struts-config", must match DOCTYPE root "null".
         at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
         at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
         at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
         at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
         at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
         at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
         at org.apache.commons.digester.Digester.parse(Digester.java:1548)
         at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:708)
         at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:670)
         at org.apache.struts.action.ActionServlet.init(ActionServlet.java:329)
         at javax.servlet.GenericServlet.init(GenericServlet.java:211)
         at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
         at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
         at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3917)
         at org.apache.catalina.core.StandardContext.start(StandardContext.java:4201)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
         at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
         at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
         at org.apache.catalina.core.StandardService.start(StandardService.java:450)
         at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
         at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)

    sikandar wrote:
    SEVERE: Parse Error at line 1 column 15: Document is invalid: no grammar found.
    org.xml.sax.SAXParseException: Document is invalid: no grammar found.
    Sep 24, 2007 12:56:33 PM org.apache.commons.digester.Digester error
    SEVERE: Parse Error at line 1 column 15: Document root element "struts-config", must match DOCTYPE root "null".
    org.xml.sax.SAXParseException: Document root element "struts-config", must match DOCTYPE root "null".
         at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)Have you declared the DTD? You should have lines like this:
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts-config PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
    "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">at the start of you struts-config.xml.

  • Office Web Apps - how to disable office web apps features for one web application

    ENV: Sharepoint 2010 farm with office web apps + fast search
    I have the requirement for one web application to open all its documents in client applications - I can enable feature "OpenInClient". This web application uses team site template and other web application also uses team site template. ( feature
    stapling ruled out)  Now I can run powershell cmdlet to enable this feature on all the currently existing site collections. But the requirement is to enable this feature for all the future site collections. This web applications has 60 k site collections
    and atleast more than 10 site collections get created each day and they dont like the option to run a powershell script each day to activate this solution.
    Is there any other way to by default activate new site collections on this WA to open in client applications by default (can we disable this office webapps features only on one web app)?
    VM

    I have learnt from this forum that it is not possible to turn off Office web apps on single web application. The line of control lies at farm level and then at site collection.
    Disable
    Office Web Apps on web application
    VM

  • Configuring the authentication scheme for a web application

    Hi all,
    We have a requirement to configure the authentication scheme for a web application where some set of users should access the application using basic LDAP (userid/password) authentication and some using digital certificate authentication.
    Since the deployment descriptor (web.xml) allows only one directive for auth-method in logic-config, we want to know if there is any other way to achieve this requirement. We are thinking of a custom login module approach. But we are not able to figure out how to configure the auth-method at runtime from the login servlet.
    Please let us know if there is any other approach to achieve this.
    I will be thankful if any body shares any specific solution to this issue.

    This forum is probably not the correct one to ask in. It's more related to the web container than Java Programming.
    Kaj

  • App-V 5.0 Sequencing Office 2010 - Cannot verify the License for this Application KMS

    Hey Guys,
    i already found some Topics about my Problem, but None of the Solutions i have found, help in my case. I hope someone can help...
    I Sequenced Office 2010 Professional Plus x86 on an App-V 5.0 Sequencer Client (x64) and streamed it to Windows 7 x64 and Windows Server 2012. While i was sequencing, i followed the Articles at
    http://blogs.technet.com/b/office_resource_kit/archive/2011/06/15/sequencing-office-2010-for-app-v-part-1-considerations.aspx and also used the Parameter:
    msiexec/i OffVirt.msi ADDLOCAL=Click2runMapi,Click2runOWSSupp,Click2runWDS,OSpp,OSpp_Core PROPLUS=1
    In the sequencing Process anything ist working fine, i can start Word, Excel... and Office is activated. When i publish the Application and stream to the Client or RDS, i get the Error message in the Screenshot.
    I also tried to create a new Package and type in the KMS Client Key directly to Office, didnt work. In a third Sequencing Process (also new Sequence) i tried with an another Script what i have found: msiexec /i OffVirt.msi PROPLUS=1 KMSSERVICENAME=”SERVERNAME”
    KMSSERVICEPORT=1688
    Please help!!
    Best regards

    I am having this same exact issue; however, I have done everything in the App-V 5.0 Sequencing document, and I have enabled Set-AppVClientConfiguration -EnablePackageScripts 1.
    The sequencer is on a Win 7 32-bit machine, so I used the following:
    msiexec
    /i OffVirt.msi ADDLOCAL=OSpp,OSpp_Core PROPLUS=1
    KMS is registered in DNS, so I shouldn't have to specify KMS.
    As soon as I start Office on a machine, setup screen comes up briefly, and then I see the: 
    "Microsoft Office cannot verify the license for this application. A repair attempt failed or was canceled by the user. The application will now shut down."
    I would use the package accelerator; however, it's a new Pro Plus 2010 build, and it says 12 files are missing from the install (files like the actual OffVirt.msi and manifest files).
    This is getting a little frustrating, as I've already tried the package 4 different times. I also tried this version:
    msiexec/i OffVirt.msi ADDLOCAL=Click2runMapi,Click2runOWSSupp,Click2runWDS,OSpp,OSpp_Core PROPLUS=1
    I am also using the latest SP2 client, Sequencer, and then the AppV 5.0 SP1 server is using the latest hotfix 4 which was released in April 2014.

  • Error: Accessing the Reader Extensions Server web application for the first time

    Hi,
    I've followed the the installation guide line by line. Everything OK.
    But when i access the Reader Extensions Server web application i see the following error:
    An error has occured
    Error 473: The credential permission settings could not be determined: 'com.adobe.document.pdf.CredentialLoginFailure: IDL:com/adobe/document/pdf/CredentialLoginFailure:1.0'.
    Have you ever faced this kind of message before?
    To tell you the truth i'm not very sure if my Rights Credential file is valid. But is this the cause of this message?
    I use Form Server 6 and Reader Extensions 6 with a Websphere Application Server 6.0
    Thanks in advance

    Hi Stelios,
    Yes, it seems to me also, as a bad certificate issue.
    If memory serves, I run into this message once, where the certificate was valid. Anyway, Websphere v6 is not a supported app server. Have you tried installing on v5.1?
    You might want to read this post, too:
    matt cockburn, "Fix for LiveCycle Reader Extensions 7.0 install error" #, 6 May 2005 8:22 am
    If you are located in Greece, we may be able to help you. You may contact me "ekokkoris at anodos.gr", should you wish.
    Regards,
    Evangelos

  • Good exception handling policy for Java web application

    I'm looking for a good exception handling policy for Java web application. First I found this Java exception handling best practices - How To Do In Java which says that you should never catch the Trowable class nor use e.printStackTrace();
    Then I found this Oracle page The Message-Driven Bean Class - The Java EE 6 Tutorial, which does just that. So now I'm confused. Is there a good page online for an exception handling policy for Java EE Web applications? I have a hard time finding one. I've read that you should not catch the Exception class. I've been catching it previously to make sure that some unknown exception doesn't slip through early in the loop and stops all other customers from executing later on in the loop. We have a loop which runs once a minute implemented using the Quartz framework. Is it OK if you just change the implementation to catch the RuntimeException class instead of the Exception class? We're using Java 7 and the Jetty Servlet Container.

    I'm looking for a good exception handling policy for Java web application.
    If you have not done so I suggest you start by reviewing the several trails in The Java Tutorials.
    Those trails cover both HOW to use exceptions and WHEN to use them.
    This trail discusses  the 'controversy' you mention regarding 'Unchecked Exceptions'
    http://docs.oracle.com/javase/tutorial/essential/exceptions/runtime.html
    Unchecked Exceptions — The Controversy
    Because the Java programming language does not require methods to catch or to specify unchecked exceptions (RuntimeException, Error, and their subclasses), programmers may be tempted to write code that throws only unchecked exceptions or to make all their exception subclasses inherit from RuntimeException. Both of these shortcuts allow programmers to write code without bothering with compiler errors and without bothering to specify or to catch any exceptions. Although this may seem convenient to the programmer, it sidesteps the intent of the catch or specify requirement and can cause problems for others using your classes.
    Why did the designers decide to force a method to specify all uncaught checked exceptions that can be thrown within its scope? Any Exception that can be thrown by a method is part of the method's public programming interface. Those who call a method must know about the exceptions that a method can throw so that they can decide what to do about them. These exceptions are as much a part of that method's programming interface as its parameters and return value.
    The next question might be: "If it's so good to document a method's API, including the exceptions it can throw, why not specify runtime exceptions too?" Runtime exceptions represent problems that are the result of a programming problem, and as such, the API client code cannot reasonably be expected to recover from them or to handle them in any way. Such problems include arithmetic exceptions, such as dividing by zero; pointer exceptions, such as trying to access an object through a null reference; and indexing exceptions, such as attempting to access an array element through an index that is too large or too small.
    Generally don't catch an exception unless you plan to HANDLE the exception. Logging, by itself is NOT handliing.
    First I found this Java exception handling best practices - How To Do In Java which says that you should never catch the Trowable class nor use e.printStackTrace(); 
    That article, like many, has some good advice and some poor or even bad advice. You get what you pay for!
    I've read that you should not catch the Exception class.
    Ok - but all that does is indicate that a problem of some sort happened somewhere. Not very useful info. Java goes to a lot of trouble to provide specific exceptions for specific problems.
    I've been catching it previously to make sure that some unknown exception doesn't slip through early in the loop and stops all other customers from executing later on in the loop.
    If the exception is 'unknown' then maybe it NEEDS to 'stop all other customers from executing later on in the loop'.
    That is EXACTLY why you don't want to do that. You need to identify which exceptions should NOT stop processing and which ones should.
    Some 'unknown' exceptions can NOT be recovered and indicate a serious problem, perhaps with the JVM itself. You can NOT just blindly keep executing and ignore them without risking data corruption and/or the integrity of the entire system Java is running on.
    Is it OK if you just change the implementation to catch the RuntimeException class instead of the Exception class? We're using Java 7 and the Jetty Servlet Container.
    No - not if you want a well-behaved system.
    Don't catch exceptions unless you HANDLE/resolve them. There are times when it makes sense to log the exception (which does NOT handle it) and then raise it again so that it gets handled properly later. Yes - I know that is contrary to the advice given in that article but, IMHO, that article is wrong about that point.
    If you have ever had to maintain/fix/support someone else's Java code you should already understand how difficult it can be to find WHERE a problem occurs and WHAT the exact problem is when exceptions are not handled properly.

  • One Search service application for multiple web applications in a single server

      We are planning to host 17 Web applications in a single Server. Do I need to create search service application for each web application or I need to create one  Search service application , create a Content source for each web
    application and create a Result source for filtering. Which is the best approach. And which approach takes more RAM memory.
       In my application I am using Search web part, "Recently Changed Items", "Popular Items" web parts. when I created only one one  Search Service application for all web applications and using Result sources ,
    I am not getting the results. What could be the problem.

    Hi,
    One SSA is ok, but you should think about access rights. If the access is clear cut between all the web apps you should be ok with one SSA. Multiple result sources limiting on content source also works, but could easily be bypassed.
    Multiple SSA's will eat up RAM/CPU like a mother :)
    As for popular etc.. it could be due to how those sources are set up, but haven't investigated or tested this much.
    Thanks,
    Mikael
    Search Enthusiast - SharePoint MVP/MCT/MCPD - If you find an answer useful, please up-vote it.
    http://techmikael.blogspot.com/
    Author of Working with FAST Search Server 2010 for SharePoint

  • Graduation project: ideas for a web application

    Hello,
    I apologize for posting this topic in here but I just need ideas from more experienced developers, we are a group of 5 students in computer science department and we are required to make a graduation project for a 1 year perioed, we have an average experience in J2EE, JSP, struts and JSF and J2SE and we are required to make the project as a web application but we just couldn't find any new or interesting ideas all the web application are either blogs, emai/webmai, Content Management systems, Customer relationship management, ... but we are looking for a new ideas, we've been googling for more than a month now and we've already checked alot of posts in this forum for ideas. we just want to know what services people need from the internet that could be made as a web application. Thank you very much

    Rather than looking for a cool "theme" can you give some ideas of what you need to showcase in this application?
    Is it just a basic web application - ie slap a few data entry screens together into a screenflow, and do some calculations at the end
    Do you need to demonstrate knowledge of the technologies you mentioned (J2EE, JSP, struts, JSF...)
    Do you need to push the limits of the web interface?
    Do you need to "break new ground"
    Ajax is a useful thing to investigate and push the boundaries with.
    Or take a web application and make it multi platform - ie access it with a browser, via a mobile phone - see what you need to do to accomplish that.
    The only other idea would be to do some sort of game/simulation.
    Multi user obviously.
    eg a stockmarket sim, where you can log on to buy/sell shares. You also hook up your app to some XML feeds where it picks up the daily changes so you don't have to enter them manually.
    Will demonstrate both user interface, and back end functionality.
    Good luck,
    evnafets

  • How to enhance the context menu in Web Applications - BW 7.0

    We have to enhance the context menu of several Web Applications and,
    initially, we based our solution on the paper "How to enhance the
    context menu of Web Applications", from June, 2002, but the solution
    described on the paper refers to the BW version 3.0 and we need the
    solution for the BW version 7.0. The technical content described on the
    paper, version 3.0, is very different from the content of the version
    7.0, used by us. Is this feature available for the version 7.0?

    Hi,
    did you find a solution already?
    Thanks,
    Frank

  • I just purchased Photoshop cc when I open it - it states it is the trial version - It didn't give me the license for the software - how do I get it?

    I just purchased Photoshop cc when I open it - it states it is the trial version - It didn't give me the license for the software - how do I get it?

    Please refer:
    Creative Cloud applications unexpectedly revert to trial mode | CS6, CCM
    Regards,
    Ashutosh

  • Workflow Manager & User Profile Service Application for Extranet Web application

    Hi,
    Recently i have setup HA WF Manager farm and associated it with Intranet web application (on-prem). Now i want to use the same farm for our extranet environment (on-prem) but extranet environment is not associated with UPA. Since user profile application
    is not available for extranet environment so workflow does not work.
    Now if I try to use existing UPA or create a new UPA for extranet environment, then i am exposing users data to all partner and collaborators. But for workflows to work it is necessary that users profile should be there in profile database.
    Is there any way that I can run workflows in extranet environment without exposing user profile data to partners/collaborators? Thanks.
    -Prashant

    Thanks for the reply Paul, but this does not solve the problem.
    Actually in MySite web application external users group is not at all added with any permissions but just to check your suggestion i have given permission to externals group with Deny Read permission. Now UPA is associated to the extranet web application
    and when i access user profile data using RESP API using a partner account I can still see the data. For e.g. I am using this URL
    https://extranet.abc.com/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)?@v='abc\uname'
    When I hit this URL in browser using partner account, it shows the profile data of the account passed in the URL.
    MySite web application is https://mysite.abc.com and on this web application external users group is added under policy with Deny Read permissions. Thanks.
    -Prashant

  • Query for log Parser to get number of hits in a day or week for particular web applications or site collection

    Hi All,
    Want to get the number of hits in a day for a web application with IIS logs. so need to know Query for log Parser to get number hits in a day or week for particular web applications or site collection. Kindly help
    Regards,
    Naveen

    I'm trying to get this from WSS 3.0, Hence using the Log Parser

  • Time the response of our web application (filter does not do the work!)

    Hi All,
    Hope I can find some help.
    Currently I am facing an issue for which I find hard to find a solution.
    We are trying to log the time it takes for our web application (in Tomcat) to deliver a page back to the browser.
    I decided to use a Filter after having a look on the net, however I believe this approach to be wrong.
    I debugged and the doFilter() method is called twice, because the request and the response go through it.
    So how can I possibly set the startTime the first time and the stopTime the second time to measure the whole duration?
    It is worth mentioning that setting an attribute at the end of the method does not to work.
    It seems that when doFilter is called the second time, the req is the object passed in doFilter first time, that is to say, before we set the attribute.
    Any idea how to log the real time for the response. Many thanks in advance
    public final class TimerFilter implements Filter {
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException
         HttpServletRequest httpReq = (HttpServletRequest) req;
         if(httpReq.getAttribute("ALREADY_FILTERED_ONCE") == null){
                 this.startTime = System.currentTimeMillis();
         chain.doFilter(request, response);
         if(httpReq.getAttribute("ALREADY_FILTERED_ONCE") != null){
                 this.stopTime = System.currentTimeMillis();
              System.out.println("Time to execute request: "  +(stopTime - startTime)+ 
                " milliseconds");
         httReq.setAttribute("ALREADY_FILTERED_ONCE", "");
        }

    I don't know, but your description seems to be based on some assumptions in stead of facts.
    I debugged and the doFilter() method is called twice, because the request and the response go through it.That seems highly unlikely to me. I can believe that the filter is executed twice, but not because it is for a separate request and response. I would say the filter is executed twice for other reasons.
    It seems that when doFilter is called the second time, the req is the object passed in doFilter first time, that is to say, before we set the attribute.And that proves my previous statement, as this would indicate that a whole new request object is created for when the response would be passed through the filter, which is nonsense. I would be more inclined to think that two different requests are happening here, for whatever reason. Are you sure nowhere a redirect is happening?

Maybe you are looking for