JNLP File Generated By A Servlet

Based on configuration issues with our system build, I have created a servlet that generates the JNLP file for an app we have created. Once the file is written and contains all the dynamically generated info, it is never written by the servlet again.
I noticed in creating the servlet, initially, that I actually HAD to write the JNLP file. Returning the JNLP file and setting the mime type in the HTTP response was not enough. When Web Start is invoked by the browser, it goes back to the stored JNLP file on the server.
Can anyone explain why this is necessary?? Its seems redundant. If I can create the JNLP dynamically and pass it back to the browser, why must Web Start retrieve the JNLP file AGAIN from the web server after it launches??
John Turner
Software Engineer
Context Media, Inc
[email protected]

There is a limit to what you can do with dynamically generated JNLP files. The combination of codebase and href must exactly specify the JNLP resource that you are retrieving. If you're using a servlet with parameters in a query string to generate the file, it should look like this:
<jnlp spec="1.0+" codebase="http://app.datadevelopment.com/app" href="MyServlet?param1=value1&param2=value2">
As long as the MIME type returned by the servlet is "application/x-java-jnlp-file", JWS will start just fine. Unfortunately, JWS will then bomb badly because it tries to use the href attribute as part of the file name for saving the file, and Windows at least doesn't like question marks in a file name.
A workaround is to replace the query string with path values:
<jnlp spec="1.0+" codebase="http://app.datadevelopment.com/app" href="MyServlet/param1=value1/param2=value2">
I'm not 100% sure that this will work with the '=' sign as my application needed only one parameter so I dispensed with the paramN=valueN and replaced the directory with valueN only. The point is, though, that each and every time the application is launched JWS will go to the web server to get the latest copy of the JNLP and the only way I have found to dynamically generate the content is to append the necessary parameters as path names after the script (JSP in my case, servlet in your case).
If you have multiple parameters and the '=' sign is a problem, strip out the parameter name and require that the parameters be specified in the same order each time. Use one directory delimiter per parameter.
You can use request.getPathInfo() to retrieve the path after your servlet.

Similar Messages

  • File generating question in servlet

    Dear all,
    I've generated online reports using servlet. Now I need to export these reports to excel at clients' local machine. How to generate the excel file at client's side? or Is that a way to invoke a dialog box to let the user choose the directory to download the file generated at the server side? Somebody says there's an existing funciton in asp to do that. I don't know whether servlet has same function. If anyone knows the answer or could give me a hint, I greatly appreciate that.
    Regards,
    Grace

    Simply change the format of the response content type to be Excel application/vnd.ms-excel... Even if you throw HTML, Excel will parse it and display it as an Excel sheet.
    The only disadvantage I have seen is that, you will not be able see Hyperlinks, Images, etc...
    Let us say u have a HTML Table like:
    <TABLE>
    <TR>
    <TD>Pazhanikanthan</TD>
    <TD>URL</TD>
    <TD><IMG SRC='http://www.pazhanikanthan.com/images/test.gif'></IMG></TD>
    <TR>
    </TABLE>
    In the HTML you would have seen a static text, Hyperlink and the Image. But when you try to open the same table in Excel, what happens is Excel does not recognise the HTML Tags and then parses them and only takes up the content which it can display so u will be seeing only a single cell containing the content
    Pazhanikanthan
    I believe that is a feature which we cannot change... if in case u need to do such things, then you might have to go for special APIs like JExcel, JIntegra, etc.
    These wont be suitable for your case as you do not want anything to be done in the server side.
    Thanks and regards,
    Pazhanikanthan. P

  • Modifying the name of a file generated by a servlet

    Hi!
    I have a servlet called co.com.SomeStaff who reads a binary file from the server an responses it to the client, but the name that appears when the browser tries to save it is "co.com.SomeStaff" and I need the "SomeBinariFile.exe" instead. How can iI do this?
    I've tried to modify the Headers but....
    I need it as soon as posible.
    Thanks All.

    I assume you are creating the file as a java.io.File object. Under those circumstances you should be able to specify the name and target directory when you save it:File f = new File(directory+System.getProperty("file.separator")+filename);Or, if you have already named it:
    f.renameTo("file.txt");Actually, now I look at it, I may have totally misunderstood what you are trying to do there- are you naming it right in the hyperlink?

  • How to customize automatically generated jnlp file

    hi !
    i am using sun application server 9.0.
    i have written an application client, and deployed it to the server.
    when i start the client via web-start, the application cannot load all classes, because there are some jars missing.
    my question: is there a way to customize the jnlp file generated by the server.
    especially to add some additional jars / extension packages ?
    thanks
    wolfgang

    JNLP will not allow Java Web Start to set arbitrary properties w/o knowing them to be secure.
    The built in list of known secure properties dosn't include this one.
    On a given client machine you can set a property in the deployment.properties file to allow this property in ther jnlp file:
    (in 1.5, or 1.4.2): deployment.javaws.secure.properties=java.net.preferIPv4Stack
    This will only help you out for the given client machine
    One way you might work around this is to create a small Extension Installer that adds this line to the clients deployment.properties file., but you'll have to sign the extension installer.
    /Dietz

  • Does the Browser cach the jnlp-file?

    I have a problem, I think with the browser's caching. As I modify the *.jnlp-File, the old version is loaded, not the new one!
    Or is the old version cached by the webStart-Caching-Mechanism?
    To update the jnlp-file, sometimes it is helpful to clear the Clients webStart cache.
    Is that correct?
    regards,
    ulli

    The browser does in fact cache the jnlp and it can be a real problem. If there is no expiration on the JNLP then the browser may load it from cache instead of going to your web server on the next access. This means you may have modified your JNLP on the server for a new release, but users can start your application WITHOUT GETTING THE LATEST JNLP!
    You can solve this problem by serving the JNLP file from your own servlet (or other HTTP serving technique) and setting the expire header. Setting it to 0 does the right thing.
    Do NOT however, set "Pragma", "no-cache". no-cache stops the browser from writing the JNLP to the file system...this in turn causes a problem when Web Start tries to find the jnlp file after the browser starts Web Start....the jnlp file is not there.
    Note that the JnlpDowloadServlet provided by Sun in the Web Start developers kit does NOT expire the JNLP file...you must fix this code yourself if you want it to work correcly. Sun was supposed to make this source code available but I can't find it anywhere. We used a de-compiler to de-compile the code, fix it and re-jar it.

  • .jnlp files and regeneration

    Hello all,
    I currently run a .jnlp from 2 different places:
    1 - from within my internal network
    2 - from the outside
    When I run from within the network, I use http://scar:70000/
    When I run outside the network, I use http://scar.pridelands.com:70000/
    So, I do the following:
    1. Run http://scar.pridelands.com:70000/generate_me
    2. Results: The .jnlp file generated has http://scar:70000/ throughout the entire file and not http://scar.pridelands.com:70000/.
    It is though the thing is cached, somewhere, somehow ...
    Can someone please provide some kind of insight as to how files can be generated?
    TIA

    You can go and delete the cached files in C:\Documents and Settings\<user>\Application Data\Sun\Java\Deployment\cache\javaws\http\ from this folder
    Thanks,
    Suresh
    [http://sureshdevi.co.in|http://sureshdevi.co.in]

  • Generating JNLP file with servlet?

    Hi all,
    I want to pass in paramters from a hyperlink into a webstart application. Now I know this can be done with webstart 1.5, but using this is not an option for us. What I would like to do is to create a servlet that generates a JNLP file from any parameters passed into it on the hyperlink.
    Has anybody done this? Is this possible? would there be any problems with this?
    thanks,
    J

    That's running fine with us. That has been the way for us to transmit authentication information to pass inside the JNLP world.
    Be very careful with your output, there's no validation at the client and errors created by wrong JNLPs can be really unpredictable. Do use the DTD to at build time to check the output!
    The JNLP file will be downloaded every-time if you output correct headers...
    paul

  • Dynamically generating the jnlp file

    Hi Experts,
    Im working on a project in which we launch the Eclipse RCP from the web UI (thin client).
    I want to dynamically generate the jnlp file cause I want to pass the session of the user from the web client to RCP.
    So for this i have thought of having a variable let say sessionID ,which will take value of the session
    sum thing like this...
    <application-desc main-class="com.rcp.core.HelloWorld">
    <property name="sessionID" value="$$userSessionId"/>
    </application-desc>
    But im not able to figure out how i will populate the sessionID variable.
    which class should be responsible for doing this?
    whether that class will be in the RCP code or in the Web code...i guess it is in the web code?
    Please if u can clarify these doubts then it will be great.
    Thanks
    ved

    usually you would use jsp or a servlet to generate the jnlp file.
    If you extend the JnlpDownloadServlet (found in the sample directory in the JDK) you can generate the session id.
    /Andy

  • Calling JNLP file via Servlet

    Hi Folks,
    I need to pass runtime parameters to my jnlp file from URL param, like ?requestNum=12345&mergeId=1.
    So I created a Servlet to process the request and add the requestParams at runtime in the JNLP file,
    In the doGet Method I have teh following piece of code,
    String[] args = new String[]{"requsetNum",request.getParameter("requestNum"),"mergeId",request.getParameter("mergeId")};
    response.setContentType("application/x-java-jnlp-file");
    PrintWriter out = response.getWriter();
    //It writes the jnlp content prperly in console,          System.out.println(JnlpFileContentBase.readBeforeArgElementsContent()+JnlpFileContentBase.populateArguments(args)+JnlpFileContentBase.readAfterArgElementsContent());
    //I split the jnlp file content before and after the argument area out.println(JnlpFileContentBase.readBeforeArgElementsContent()+JnlpFileContentBase.populateArguments(args)+JnlpFileContentBase.readAfterArgElementsContent());
    out.close();
    But when i run on server the above the jnlp is not starting up,
    Am i missing something in the doGet method? is the PrintWriter out object is enough to write back the content?
    Please help me to find out what am missing out here.
    Thanks
    Subash

    Hi Andrew,
    Thanks for notifying that, but that due to my testings with several combinations, I copied the file and kept direcly under WEB-INF and under the webapps/ElemFinder and several places to see it could be retried or not. And hence copied one of the errors. Nothing worked btw.
    I suspected initially it could be because of calling another jnlp file, but now i have my consolidated single jnlp file, but still have the FileNotFoundException for the jar file I have,
    sb.append("<jar href=\"WEB-INF/org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar\"/>\n"); // code from Servlet
    This is the firs jar resource under the resource elements
    Where I get the Exception,
    java.io.FileNotFoundException: http://localhost:8080/ElemFinder/ElemFinderEngineInvoker/WEB-INF/org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar
    I think its basically issues with reading the resource files,
    I tried with several options for this file either, placing under WEB-INF, under webapps/ElemFinder ... etc. Nothing seems to be working,
    Any entries to be put in web.xml for this?
    Pls help me to get rid of this....
    Thanks
    Subash
    PS: BTW i dint try in teh util u gave sice the jnlp already is downloading from my App, do you think still needed to check in the util?

  • Always prompted to save JNLP file

    Hello! We have a simple servlet that basically just queries a few things off of the HttpServletRequest and spits back a dynamically generated JNLP file. For some reason, when we were running with Tomcat 4.0.6 this worked fine, but with the upgrade to Tomcat 4.1.29 it does not. IE always prompts to open or save the file - it never just launches JWS automatically anymore.
    Any suggestions on what we can fix? I'll put the interesting parts of the servlet below.
    Thanks in advance!
    -Angelina
    Servlet:
    public class JNLPServlet extends HttpServlet{
        public void doGet(HttpServletRequest request, HttpServletResponse response)
           throws IOException, ServletException {
            try {          
                response.setHeader("Cache-Control", "public");
                response.setContentType("application/x-java-jnlp-file");
                String sessionId = getSessionId(request);
                ServletOutputStream out = response.getOutputStream();
                java.net.InetAddress[] hostNetAddrs =
                              java.net.InetAddress.getAllByName(request.getServerName());
                String hostIpAddr = hostNetAddrs[0].getHostAddress();
                out.println(generateJNLP(sessionId, request.getServerName(),
                                         hostIpAddr, request.getRemoteUser()));
                out.flush();          
            catch (IOException ex) {
                response.sendError(javax.servlet.http.HttpServletResponse.
                                   SC_SERVICE_UNAVAILABLE, ex.getMessage());
            catch (Exception ex) {
                response.sendError(javax.servlet.http.HttpServletResponse.
                                   SC_INTERNAL_SERVER_ERROR, ex.getMessage());
        protected String generateJNLP(String sessionId, String host, String ip, String userName){
            StringBuffer buf = new StringBuffer();
            buf.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
            buf.append("<jnlp spec=\"1.0+\" codebase=\"http://" + ip + ":80/cmv2/\">\n");
            buf.append("<information>\n");
            buf.append("<title>App V2.3 on " + host + "</title>\n");
            buf.append("<vendor>EMC Corporation</vendor>\n");
            buf.append("<homepage href=\"http://www.emc.com\" />\n");
            buf.append("<description>Program for monitoring performance.");
            buf.append("</description>\n");
            buf.append("<icon href=\"cm.gif\" width=\"32\" height=\"32\" depth=\"3\" size=\"1k\" />\n");
            buf.append("<offline-allowed />\n");
            buf.append("</information>\n");
            buf.append("<security>\n");
            buf.append("<all-permissions />\n");
            buf.append("</security>\n");
            buf.append("<resources>\n");
            buf.append("<j2se version=\"1.4+\" href=\"http://java.sun.com/products/autodl/j2se\"");
            buf.append("initial-heap-size=\"64m\" max-heap-size=\"194m\" />\n");
            buf.append("<property name=\"host_name\" value=\"" + host + "\"/>\n");
            buf.append("<property name=\"host_port\" value=\"80\"/>\n");
            buf.append("<property name=\"host_IP\" value=\"" + ip + "\"/>\n");
            buf.append("<property name=\"secure_host_port\" value=\"443\"/>\n");
            buf.append("<property name=\"session_id\" value=\"" + sessionId + "\"/>\n");
            buf.append("<property name=\"user_name\" value=\"" + userName + "\"/>\n");
            buf.append("<jar href=\"cmv2.jar\" />\n");
            buf.append("<jar href=\"ohj-jewt-4_1_9.jar\" />\n");
            buf.append("<jar href=\"help-4_1_9.jar\" />\n");
            buf.append("<jar href=\"oracle_ice-5_06_3.jar\" />\n");
            buf.append("<jar href=\"emcshared.jar\" />\n");
            buf.append("<jar href=\"xerces.jar\" />\n");
            buf.append("</resources>\n");
            buf.append("<application-desc main-class=\"com.emc.wclient.Login\">\n");
            buf.append("</application-desc>\n");
            buf.append("</jnlp>\n");
            return buf.toString();
    }

    The underlying problem is a combination of tomcat 4/5 being more standard and IE being less standard. Tomcat changed to automatically add ";charset=ISO-8859-1" to the end of the Content-Type header while IE appears to not correctly process the Content-Type header.
    IE maintains a list of known MIME types in the registry under [HKCR]\MIME\Database\Content Type. There you will find an entry for 'application/x-java-jnlp-file' which indicates that this MIME type is treated as a file with the suffix '.jnlp'.
    Unfortunately, IE treats EVERYTHING after the Content-Type: as the MIME type NOT just the stuff between the ':' and the ';'. Thus instead of looking for a registry entry for 'application/x-java-jnlp-file' it winds up looking for 'application/x-java-jnlp-file;charset=ISO-8859-1" and doesn't find it.
    If you duplicate the 'application/x-java-jnlp-file' entry with the name 'application/x-java-jnlp-file;charset=ISO-8859-1' everything works. Alternatively, if you make sure the 'file name' portion of the URL which requests the jnlp spec has the suffix '.jnlp' IE will work correctly. If you are generating the jnlp spec via your own servlet you can control the behavior of Tomcat by calling 'setCharacterEncoding(null)' on the response object (note this is not a method of the HttpServletResponse interface, you have to cast to the underlying concrete type).
    So, I think IE's use of the 'suffix' is non-standard and IE's handling of the Content-Type header field is just broken. If you can make the requesting URL have the .jnlp suffix you are ok; otherwise, there does not appear to be a good solution.

  • Signing\Digital signature on JNLP file

    Hello,
    I have signed my JWS app jar files with a valid certificate (COMODO) and this works fine but the user still receives a warning message that states:
    'Part of the application is missing a digital certificate'.
    Inspecting the warning indicates that the JNLP file isn't signed.
    http://www.broughty.com/images/JNLPSigning.PNG
    My JNLP files are built and streamed on the fly via a servlet.
    It would appear this may be due to the property tags we use and that somehow magically prefixing the property name value with .jnlp or .javaws will help.
    http://docs.oracle.com/javase/tutorial/deployment/doingMoreWithRIA/settingArgsProperties.html
    However this 'prefixing' doesn't seem to work - at least it made no odds to the warning I got when I altered the JNLP creating servlet to generate the reource property tag values with a .jnlp or .javaws prefix.
    There is another old thread on this issue but, as with a lot of threads on here, OTT admin's have locked it with a snarky final comment for posterity.
    I would imagine that a lot of web start apps are signed so how have other people got around this? It isn't a showstopper but I would be happier if at least the JNLP warning could be removed.
    Cheers
    Mat
    p.s has anyone managed to get the 'insert a link' button to work on this forum?

    Assuming that you have actually signed it properly using the private key associated with the COMODO signed certificate then it looks to me as if the COMODO certificate is not trusted so the signature on the jar files cannot be verified. Is the COMODO certificate in the Java trust store?
    P.S. I suspect your "property tags" comments are just a red herring.

  • Dynamic JNLP files?

    I have a number of small, embedded devices running a Cherokee web server, each with their own IP address and hostname. Each of these devices has a standard image that includes a few applets. Is there a way to make a standard JNLP file that could go in the image but would still work? My concern is that the codebase is going to be different for device...

    A way to generate dynamic JNLP's is by using a servlet.
    The servlet path is the JNLP target for the client, and the servlet itself outputs the JNLP contents with the JNLP content-type.
    Jacco

  • Could not load file/URL (file not found) error for JNLP file

    I am completely baffled in trying to figure out why I am getting the following error for some JNLP files but not others:
    Error: could not load file/URL specified: C:\Users\tom\AppData\Local\Temp\javaws2
    java.io.FileNotFoundException: C:\Users\tom\AppData\Local\Temp\javaws2 (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
    at com.sun.javaws.Main.launchApp(Unknown Source)
    at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
    at com.sun.javaws.Main$1.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)I have Googled around this forum and elsewhere, and have seen reports that this error is IE-specific, and seems to have something to do with no-cache headers being sent, or with the client browser's cache being full or turned off (which is not my case). I saw the information in the JavaWS FAQ, which recommended turning off security constraints for the JNLP's URI. I tried that, and it didn't help. One of the very baffling things is that I have created several variations of the JNLP file, with varying combinations of jars and property resources, and some combinations always work while other combinations never work. Here's an example:
    <jnlp spec="1.0+" codebase="$$codebase">
       <information>
          <title>demo app</title>
          <description>illustrates weird bug</description>
       </information>
       <resources>
          <j2se version="1.5+"/>
          <jar href="randomFile.jar"/>
          <property name="xxx" value="xxxx"/>
          <property name="swing.metalTheme" value="steel"/>
       </resources>
    </jnlp>The above file always fails with the error shown at the top of this message. However, if I remove either of the two properties, it works fine. And I have created other variations with lots of properties, some of which work. All of these variations are in the same directory in the war file, served by the exact same servlet (a slightly modified version of the jnlp.sample.servlet.JnlpDownloadServlet provided with JDK 1.6.0_3). Assuming that a no-cache header is the problem, what on earth could be causing some JNLP files to always be served with a no-cache header, while others are never served with a no-cache header?
    On a related note, any recommended debugging techniques for seeing what headers are being transmitted? I tried adding a simple check for a "debug=true" parameter in the servlet that causes it to set the content type to "text/plain" instead of JNLP, and that allows me to see (rather than execute) the JNLP XML that's being returned, but it doesn't show me the HTTP headers that are being sent back. If any caching headers are being set, I think it must be being set by the servlet container itself, as it's nothing being set in the servlet code that I can see. So I don't see any way on the server side Java code to output or log the actual HTTP response (or is there?). Any tips in that regard much appreciated.
    Edited by: TomC125468 on Aug 19, 2009 1:35 PM

    Hi Luca-Sanna,
    Thanks for the response. Re browsers, yes, it fails in IE but it succeeds in Firefox. The info on the JavaWS FAQ and other places all seem to indicate that it's an IE issue concerning handling of the cache-control headers.
    I should check in my webserver forum (Sun WebServer 7) to see about logging options. Sniffing on the client side is not possible, as my app is required to use HTTPS exclusively, and unfortunately that also precludes a telnet GET request.

  • Deploying FX as a Desktop App - jnlp file codebase should be...what?

    Howdy,
    If I try and run my deployed JavaFX app on another PC I get an error pointing back to the codebase that NB created in the <appname>.jnlp file:
    codebase="[http://localhost:8082/servlet/org.netbeans.modules.javafx.project.JnlpDownloadServlet/E%3A/JavaFX/Projects/Concentration/Concentration11/dist/]"My main question is, for a standalone desktop FX app you want to distribute, what should the codebase be?
    I assume you don't point to your developer machine's URL because of course that won't exist on someone else's machine. And unlike most web examples, this won't be running from a server.
    Many other examples refer to running the jar file from the command prompt - not acceptable if you are selling an applet, or even just distributing to the general public.
    So how does this work - how do you set up the jnlp file for desktop deployment? And, do you have to manually do this, or is there something I am missing in NB (6.8) ?
    Many thanks in advance.

    Hi Phil and thank you. I admit have been avoiding learning to compile from the command prompt or with other tools due to the ease that NB affords - but it seems that NB is introducing some issues lately.
    I haven't tried the other tools yet, but I thought maybe I could just edit the NB created jnlp file:
    [http://forums.sun.com/about:blank]<jnlp spec="1.0+" codebase="file:/" href="Concentration11.jnlp"> [http://forums.sun.com/about:blank]<information>  <title>*Concentration11*</title>  <vendor>*Gary*</vendor>  <homepage href="http://localhost:8082/servlet/org.netbeans.modules.javafx.project.JnlpDownloadServlet/E%3A/JavaFX/Projects/Concentration/Concentration11/dist/"/>  <description>*Concentration11*</description>  <offline-allowed/>  </information> [http://forums.sun.com/about:blank]<resources>  <j2se version="1.5+"/>  <extension name="JavaFX Runtime" href="http://dl.javafx.com/1.2/javafx-rt.jnlp"/>  <jar href="Concentration11.jar" main="true"/>  <jar href="lib/derby.jar"/>  <jar href="lib/derbyclient.jar"/>  <jar href="lib/derbytools.jar"/>  <jar href="lib/.netbeans-derby_JapaneseWords.jar"/>  </resources> [http://forums.sun.com/about:blank]<application-desc main-class="com.sun.javafx.runtime.main.Main">  <argument>*MainJavaFXScript=dbPackage.Main*</argument>  </application-desc>  <update check="background"/>  </jnlp>Replacing the code base with your file idea, if I try to run from the jnlp file it complains it can't find the resource:
    com.sun.deploy.net.FailedDownloadException: Unable to load resource: file:/Concentration11.jnlp
    at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
    <...more...>Sorry to be so dense. Any ideas what I am flubbing up this time?
    Thank you Phil.

  • Getting error while running jnlp file

    Hello, I have generated jnlp file succesffully, but when I run the jnlp file I got this error:
    WARNING: com.sun.javafx.css.StyleHelper lookup caught:
    java.lang.IllegalArgumentException: No enum constant javafx.geometry.Pos.center_right
                    at java.lang.Enum.valueOf(Unknown Source)
                    at com.sun.javafx.css.converters.EnumConverter.convert(Unknown Source)
                    at com.sun.javafx.css.converters.EnumConverter.convert(Unknown Source)
                    at com.sun.javafx.css.StyleHelper.lookup(Unknown Source)
                    at com.sun.javafx.css.StyleHelper.transitionToState(Unknown Source)
                    at javafx.scene.Node.impl_processCSS(Unknown Source)
                    at javafx.scene.Parent.impl_processCSS(Unknown Source)
                    at javafx.scene.Parent.impl_processCSS(Unknown Source)
                    at javafx.scene.Parent.impl_processCSS(Unknown Source)
                    at javafx.scene.Node.processCSS(Unknown Source)
                    at javafx.scene.Scene.doCSSPass(Unknown Source)
                    at javafx.scene.Scene.preferredSize(Unknown Source)
                    at javafx.scene.Scene.impl_initPeer(Unknown Source)
                    at javafx.stage.Window$13.invalidated(Unknown Source)
                    at javafx.beans.property.BooleanPropertyBase.markInvalid(Unknown Source)
                    at javafx.beans.property.BooleanPropertyBase.set(Unknown Source)
                    at javafx.stage.Window.setShowing(Unknown Source)
                    at javafx.stage.Window.show(Unknown Source)
                    at javafx.stage.Stage.show(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXConsole.setVisibleImpl(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXConsole.access$2700(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXConsole$5.run(Unknown Source)
                    at com.sun.javafx.application.PlatformImpl$3.run(Unknown Source)
                    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
                    at com.sun.glass.ui.win.WinApplication.access$100(Unknown Source)
                    at com.sun.glass.ui.win.WinApplication$2$1.run(Unknown Source)
                    at java.lang.Thread.run(Unknown Source)
    WARNING: com.sun.javafx.css.StyleHelper lookup caught:
    java.lang.IllegalArgumentException: No enum constant javafx.geometry.Pos.center_right
                    at java.lang.Enum.valueOf(Unknown Source)
                    at com.sun.javafx.css.converters.EnumConverter.convert(Unknown Source)
                    at com.sun.javafx.css.converters.EnumConverter.convert(Unknown Source)
                    at com.sun.javafx.css.StyleHelper.lookup(Unknown Source)
                    at com.sun.javafx.css.StyleHelper.transitionToState(Unknown Source)
                    at javafx.scene.Node.impl_processCSS(Unknown Source)
                    at javafx.scene.Parent.impl_processCSS(Unknown Source)
                    at javafx.scene.Parent.impl_processCSS(Unknown Source)
                    at javafx.scene.Parent.impl_processCSS(Unknown Source)
                    at javafx.scene.Parent.impl_processCSS(Unknown Source)
                    at javafx.scene.Parent.impl_processCSS(Unknown Source)
                    at javafx.scene.Node.processCSS(Unknown Source)
                    at javafx.scene.Scene.doCSSPass(Unknown Source)
                    at javafx.scene.Scene.preferredSize(Unknown Source)
                    at javafx.scene.Scene.impl_initPeer(Unknown Source)
                    at javafx.stage.Window$13.invalidated(Unknown Source)
                    at javafx.beans.property.BooleanPropertyBase.markInvalid(Unknown Source)
                    at javafx.beans.property.BooleanPropertyBase.set(Unknown Source)
                    at javafx.stage.Window.setShowing(Unknown Source)
                    at javafx.stage.Window.show(Unknown Source)
                    at javafx.stage.Stage.show(Unknown Source)
                    at javafx.stage.Stage.impl_showAndWait(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.DialogTemplate$8.run(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.DialogTemplate.setVisible(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory$3.call(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory$3.call(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.FXPluginToolkit$Caller.run(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.FXPluginToolkit.callAndWait(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory.showErrorDialog(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory.showMessageDialog(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.ErrorPane$1.handle(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.ErrorPane$1.handle(Unknown Source)
                    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
                    at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
                    at javafx.event.Event.fireEvent(Unknown Source)
                    at javafx.scene.Scene$ClickGenerator.postProcess(Unknown Source)
                    at javafx.scene.Scene$ClickGenerator.access$6100(Unknown Source)
                    at javafx.scene.Scene$MouseHandler.process(Unknown Source)
                    at javafx.scene.Scene$MouseHandler.process(Unknown Source)
                    at javafx.scene.Scene$MouseHandler.access$1300(Unknown Source)
                    at javafx.scene.Scene.impl_processMouseEvent(Unknown Source)
                    at javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
                    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
                    at com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
                    at com.sun.glass.ui.View.notifyMouse(Unknown Source)
                    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
                    at com.sun.glass.ui.win.WinApplication.access$100(Unknown Source)
                    at com.sun.glass.ui.win.WinApplication$2$1.run(Unknown Source)
                    at java.lang.Thread.run(Unknown Source)
    WARNING: com.sun.javafx.css.StyleHelper lookup caught:
    java.lang.IllegalArgumentException: Invalid cursor specification
                    at javafx.scene.Cursor.cursor(Unknown Source)
                    at com.sun.javafx.css.converters.CursorConverter.convert(Unknown Source)
                    at com.sun.javafx.css.converters.CursorConverter.convert(Unknown Source)
                    at com.sun.javafx.css.StyleHelper.lookup(Unknown Source)
                    at com.sun.javafx.css.StyleHelper.transitionToState(Unknown Source)
                    at javafx.scene.Node.impl_processCSS(Unknown Source)
                    at javafx.scene.Parent.impl_processCSS(Unknown Source)
                    at javafx.scene.Node.processCSS(Unknown Source)
                    at javafx.scene.Scene.doCSSPass(Unknown Source)
                    at javafx.scene.Scene.preferredSize(Unknown Source)
                    at javafx.scene.Scene.impl_initPeer(Unknown Source)
                    at javafx.stage.Window$13.invalidated(Unknown Source)
                    at javafx.beans.property.BooleanPropertyBase.markInvalid(Unknown Source)
                    at javafx.beans.property.BooleanPropertyBase.set(Unknown Source)
                    at javafx.stage.Window.setShowing(Unknown Source)
                    at javafx.stage.Window.show(Unknown Source)
                    at javafx.stage.Stage.show(Unknown Source)
                    at javafx.stage.Stage.impl_showAndWait(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.DialogTemplate$8.run(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.DialogTemplate.setVisible(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory$3.call(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory$3.call(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.FXPluginToolkit$Caller.run(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.FXPluginToolkit.callAndWait(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory.showErrorDialog(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory.showMessageDialog(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.ErrorPane$1.handle(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.ErrorPane$1.handle(Unknown Source)
                    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
                    at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
                    at javafx.event.Event.fireEvent(Unknown Source)
                    at javafx.scene.Scene$ClickGenerator.postProcess(Unknown Source)
                    at javafx.scene.Scene$ClickGenerator.access$6100(Unknown Source)
                    at javafx.scene.Scene$MouseHandler.process(Unknown Source)
                    at javafx.scene.Scene$MouseHandler.process(Unknown Source)
                    at javafx.scene.Scene$MouseHandler.access$1300(Unknown Source)
                    at javafx.scene.Scene.impl_processMouseEvent(Unknown Source)
                    at javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
                    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
                    at com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
                    at com.sun.glass.ui.View.notifyMouse(Unknown Source)
                    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
                    at com.sun.glass.ui.win.WinApplication.access$100(Unknown Source)
                    at com.sun.glass.ui.win.WinApplication$2$1.run(Unknown Source)
                    at java.lang.Thread.run(Unknown Source)
    WARNING: com.sun.javafx.css.StyleHelper lookup caught:
    java.lang.IllegalArgumentException: No enum constant javafx.geometry.Pos.center_right
                    at java.lang.Enum.valueOf(Unknown Source)
                    at com.sun.javafx.css.converters.EnumConverter.convert(Unknown Source)
                    at com.sun.javafx.css.converters.EnumConverter.convert(Unknown Source)
                    at com.sun.javafx.css.StyleHelper.lookup(Unknown Source)
                    at com.sun.javafx.css.StyleHelper.transitionToState(Unknown Source)
                    at javafx.scene.Node.impl_processCSS(Unknown Source)
                    at javafx.scene.Parent.impl_processCSS(Unknown Source)
                    at javafx.scene.Parent.impl_processCSS(Unknown Source)
                    at javafx.scene.Parent.impl_processCSS(Unknown Source)
                    at javafx.scene.Parent.impl_processCSS(Unknown Source)
                    at javafx.scene.Parent.impl_processCSS(Unknown Source)
                    at javafx.scene.Node.processCSS(Unknown Source)
                    at javafx.scene.Scene.doCSSPass(Unknown Source)
                    at javafx.scene.Scene.access$2900(Unknown Source)
                    at javafx.scene.Scene$ScenePulseListener.pulse(Unknown Source)
                    at com.sun.javafx.tk.Toolkit.firePulse(Unknown Source)
                    at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source)
                    at com.sun.javafx.tk.quantum.QuantumToolkit$8.run(Unknown Source)
                    at com.sun.glass.ui.win.WinApplication._enterNestedEventLoop(Native Method)
                    at com.sun.glass.ui.Application.enterNestedEventLoop(Unknown Source)
                    at com.sun.javafx.tk.quantum.QuantumToolkit.enterNestedEventLoop(Unknown Source)
                    at javafx.stage.Stage.impl_showAndWait(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.DialogTemplate$8.run(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.DialogTemplate.setVisible(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory$3.call(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory$3.call(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.FXPluginToolkit$Caller.run(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.FXPluginToolkit.callAndWait(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory.showErrorDialog(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory.showMessageDialog(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.ErrorPane$1.handle(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.ErrorPane$1.handle(Unknown Source)
                    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
                    at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
                    at javafx.event.Event.fireEvent(Unknown Source)
                    at javafx.scene.Scene$ClickGenerator.postProcess(Unknown Source)
                    at javafx.scene.Scene$ClickGenerator.access$6100(Unknown Source)
                    at javafx.scene.Scene$MouseHandler.process(Unknown Source)
                    at javafx.scene.Scene$MouseHandler.process(Unknown Source)
                    at javafx.scene.Scene$MouseHandler.access$1300(Unknown Source)
                    at javafx.scene.Scene.impl_processMouseEvent(Unknown Source)
                    at javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
                    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
                    at com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
                    at com.sun.glass.ui.View.notifyMouse(Unknown Source)
                    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
                    at com.sun.glass.ui.win.WinApplication.access$100(Unknown Source)
                    at com.sun.glass.ui.win.WinApplication$2$1.run(Unknown Source)
                    at java.lang.Thread.run(Unknown Source)
    WARNING: com.sun.javafx.css.StyleHelper lookup caught:
    java.lang.IllegalArgumentException: Invalid cursor specification
                    at javafx.scene.Cursor.cursor(Unknown Source)
                    at com.sun.javafx.css.converters.CursorConverter.convert(Unknown Source)
                    at com.sun.javafx.css.converters.CursorConverter.convert(Unknown Source)
                    at com.sun.javafx.css.StyleHelper.lookup(Unknown Source)
                    at com.sun.javafx.css.StyleHelper.transitionToState(Unknown Source)
                    at javafx.scene.Node.impl_processCSS(Unknown Source)
                    at javafx.scene.Parent.impl_processCSS(Unknown Source)
                    at javafx.scene.Node.processCSS(Unknown Source)
                    at javafx.scene.Scene.doCSSPass(Unknown Source)
                    at javafx.scene.Scene.access$2900(Unknown Source)
                    at javafx.scene.Scene$ScenePulseListener.pulse(Unknown Source)
                    at com.sun.javafx.tk.Toolkit.firePulse(Unknown Source)
                    at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source)
                    at com.sun.javafx.tk.quantum.QuantumToolkit$8.run(Unknown Source)
                    at com.sun.glass.ui.win.WinApplication._enterNestedEventLoop(Native Method)
                    at com.sun.glass.ui.Application.enterNestedEventLoop(Unknown Source)
                    at com.sun.javafx.tk.quantum.QuantumToolkit.enterNestedEventLoop(Unknown Source)
                    at javafx.stage.Stage.impl_showAndWait(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.DialogTemplate$8.run(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.DialogTemplate.setVisible(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory$3.call(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory$3.call(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.FXPluginToolkit$Caller.run(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.FXPluginToolkit.callAndWait(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory.showErrorDialog(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.FXUIFactory.showMessageDialog(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.ErrorPane$1.handle(Unknown Source)
                    at com.sun.deploy.uitoolkit.impl.fx.ui.ErrorPane$1.handle(Unknown Source)
                    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
                    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
                    at com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
                    at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
                    at javafx.event.Event.fireEvent(Unknown Source)
                    at javafx.scene.Scene$ClickGenerator.postProcess(Unknown Source)
                    at javafx.scene.Scene$ClickGenerator.access$6100(Unknown Source)
                    at javafx.scene.Scene$MouseHandler.process(Unknown Source)
                    at javafx.scene.Scene$MouseHandler.process(Unknown Source)
                    at javafx.scene.Scene$MouseHandler.access$1300(Unknown Source)
                    at javafx.scene.Scene.impl_processMouseEvent(Unknown Source)
                    at javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
                    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
                    at com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
                    at com.sun.glass.ui.View.notifyMouse(Unknown Source)
                    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
                    at com.sun.glass.ui.win.WinApplication.access$100(Unknown Source)
                    at com.sun.glass.ui.win.WinApplication$2$1.run(Unknown Source)
                    at java.lang.Thread.run(Unknown Source)thanks in advance.

    First of all thank you for helping me to find out the problem. I did not expect you to solve my problem. I just would like to post a thread to finding out the solution or defining whether it is a bug. Anyway when I create jnlp file with Netbeans using the wizard that problem was solved. Then it gave me another problem:
    Problem
    java.lang.RuntimeException: Application launch error
                    at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:104)
                    at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.ExceptionInInitializerError
                    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:140)
                    at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:27)
                    at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:97)
                    ... 1 more
    Caused by: java.security.AccessControlException: access denied ("java.util.PropertyPermission" "javafx.debug" "read")
                    at java.security.AccessControlContext.checkPermission(Unknown Source)
                    at java.security.AccessController.checkPermission(Unknown Source)
                    at java.lang.SecurityManager.checkPermission(Unknown Source)
                    at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
                    at java.lang.System.getProperty(Unknown Source)
                    at com.sun.javafx.runtime.SystemProperties.getProperty(SystemProperties.java:178)
                    at com.sun.javafx.runtime.SystemProperties$1.run(SystemProperties.java:67)
                    at java.security.AccessController.doPrivileged(Native Method)
                    at com.sun.javafx.runtime.SystemProperties.<clinit>(SystemProperties.java:62)
                    ... 4 moreAnd unfortunately it was a bug : FXML form can't be loaded in applet mode (JavaFX 2.1 b13)

Maybe you are looking for