• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

How multiple user will access a file which is being updated continuously

 
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Experts ,

I have a question, i am writing a file depending upon the user's selection.

that is : If i select "abc" then i can download a file that contains relevant data with "abc" and there are various selection options.

something like this :



And then am providing an <a>tag link to download it from the specific location.

Here essentially am overwriting one file "Test.doc" over and over again .

Its working fine on the site and all but i have a question for you Experts

1] If multiple user log in and select different options what will happen will they both download the file containing the same data irrespective of what the other user have selected?
2] Shall I create a new file for every user, or will that be handled automatically by the servlet ?
3] If i keep on creating new files how should i get rid of them once they are not required ?


I am not considering to create a temp file .

Give me directions i do not want to end up writing a very very bad web application .

I am using struts1.3.

Thank you and Regards.



 
Greenhorn
Posts: 29
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I think you are trying to solve the wrong problem. It seems you are trying to create a file on the server everytime the user requests some information. but if more than one person requests information at the same time, the routine fails because you can only have one file with that name.

Rather than trying to figure out a way to allow multiple users to create and download this file, I think you should look at doing this without creating a file at all.

When the user clicks on the link as you indicate, that should run a servlet. The servlet processes the information, sets the content-type to the type of data it will be sending, and then sends the data. In most cases, the content-type is set to 'text/html' and you return HTML code. But you can return any data as long as the content-type is set properly and the data matches that type.

There are any number of packages available that let you create word , PDF, and excel objects from within Java. Inside your servlet you set the content-type and the header to match what you are sending. You then write that object to the response output stream. Instead of writing the data to a file on the server, you send it directly to the user.

To the user it looks like they are downloading a file, when the file never actually existed. You generated it on the fly.

For reference, these are the parts of the servlet that you will need to set.



Set the content type to the correct value for what you are sending. In the header you can provide the filename that the user sees when the browser gets the data. The getOutputStream returns the stream that is going to the requestor. Just send your object there.

There is a lot more to this, but you should be able to find a lot of information on the web and piece it together to meet your needs.

Hope that helps.



 
Anjali Pal
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank You John ,

I might be doing it wrong but some how it did not worked the first time , But sure am going to give it another try .

Rregards,

Anjali
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic