Skip to main content

How to: Write a file inside webapp directory of Tomcat with Struts2 or JSP & Servlet





Hi! This time its for struts break for database, ever felt you wanna store files temporarly inside your server directory? then this post is to help you out if you are new to java and you have interest in learning, this is good to know! trust me even big folks won’t know this I’m going to tell for Struts2 framework.

============================================

Using ServletContext & ServletActionContext in Struts2

import javax.servlet.ServletContext;

import org.apache.struts2.ServletActionContext;

============================================

public String execute() {

try {

String path = “/folder1/file1.txt” ;

System.out.println(“where it might write ”

+ System.getProperty(“user.dir”));

ServletContext context = ServletActionContext.getServletContext(); //Line No.6

path = context.getRealPath(path);

File file = new File(path);

// if file doesnt exists, then create it

if (!file.exists()) {

System.out.println(“trying to creat new file at ” + path);

// Getting parent directory then creating it

File parent = file.getParentFile();

parent.mkdirs();

// Creating file

file.createNewFile();

}


FileWriter fw = new FileWriter(file);

BufferedWriter bw = new BufferedWriter(fw);

bw.write(“This is Written to file”);

System.out.println(“Where it wrote ” + file.getAbsolutePath());

bw.close();

System.out.println(“Done”);

return “success”;

} catch (IOException e) {

e.printStackTrace();

return “input”;

}

}

“String pathname = context.getRealPath(filename);” is the trick here. getRealPath(fielpath) return the exact path corresponding to the server. I said right even experienced folks dont know, cause this is not goot practice :oh!no: if the server is unpacket getRealPath() will return null!! so the best was is to return as String and handle it in JSP or whatever way to can. Anyway Server will be unpacked by default but if something screw up!  Ok TC keep thinking.


For Jsp & Servlet replace line no. 6 with *ServletContext context = this.getServletContext();* Class must extend HttpServlet and init(config) must have the call super.init(config) else context will be null.


Comments

Popular this month

Puththu kovilum Putho tilesum, as they are built

Its the grand Aadi season here in Tamil Nadu wherever you go you'd be followed by awful noise from no mercy speakers masqueraded as a devotional song. Yes, this is the first post dedicated to it. Hindu is not a religion but it's idealism, a way to unite people, that's perfectly constructed by assuming separate task to every God, no single God worship. Hindus moved from nature worship to idol worship, but that doesn't mean that we don't have nature worship we have created an idol for them and continued to worship them in a different form. Snake is a beautiful reptile, I have made friend with few too... Our ancestor found the natural law, 'every living creature on earth is important for the ecosystem to be balanced'. Maybe to make sure snakes are not killed fearing their venom they made them as God too! Not just idol snakes, they are worshipped as they are at their  conquered (from rats and termite)   nest or  puthu . Puthu...

Up and Close with Sudalai Madan: The Encounter

Night of 13th April all the preparations for the rituals were done in the temple, Sudalaimadan swamy was decorated with flowers, fruits and coconuts; the dedications reached above his chest. My cousin Sudalai Muthu, senior priest of the shrine reached home by late-night got blessings of his father Late Shanmugam Sundaram also previous head priest and blessed the family members in room dedicated for God, then started towards the temple. People have already gathered in huge numbers and were waiting for the Sudalaimada Swamy's arrival at Temple. Different rituals were offered by people to the Lord in order to get the blessings. As it is believed Sudaimada Swamy, the son of Lord Siva used to consume meat in Kailash for this reason he is sent to earth, where he can satisfy his earthy hunger thereby not polluting Kailash. Sree Aaladi Padmanabha Sudalaimada Swamy Temple, Kumarapuram Offering meat to Sudalaimadan is the most important and watchful event of the festival. Many devotees off...

It doesn't have to be crazy at work

It doesn't have to be crazy at work, is the book with that title. The title is almost clickbait, but the gist is printed straight up on the cover of the book; they didn't even wait for the blurb. Jason Fried, the CEO and David Heinemeier Hansson, the CTO of 37Signals (formerly Basecamp) co-authored this book. This book was gifted to me by whom I'd consider to be a mentor because he caught me working "crazy at work", it is rare to see such people who are more inclined to see you as a person instead of a number, he seemed to have taken guidelines from this book to heart, and I'd say it is a good change in this cut-throat corporate. This is yet another book discussion, it is almost as if I am picking books to only learn and not review them; I'm not a reviewer, and I do not have any affiliate account setup that will earn me commission; I'm just going to discuss the ideas that I grasp from the books I read, on to the book The book is about how crazy the wor...

Wings of Fire

Though tagged under review I’m going to try and bring the essence of the book, in no means I have the guts to write a review on a book that’s written on/by Dr APJ Adbul Kalam. Unlike regular biographies the book is filled with information and facts on Indian Space research straight from Dr Kalam’s diary, has very limited information on his personal life. From Preface of the book, we can understand Mr Arun Tiwari co-author of this book had brought up this idea to write a book and put it work. The book is organized in seven sections but the core content is put inside 4 sections – Orientation, Creation, Propitiation, and Contemplation. While the rest cover how and why this book formed and what it intends to convey. Dr Kalam being a spiritual person has quoted poems and lines from the Quran throughout the book. Orientation starts with the birth of the legend Avul Pakir Jainulabdeen Abdul Kalam in Rameswaram to Ashiaamma and Jainulabdeen, Dr.Kalam’s father is a humble boat owner a...

Setting up LAN with BSNL router AN 1020-21

An abstract overview for building a LAN is presented here, you can use the essence of article to build LAN with any other router you can lay your hands on. That said don't confuse modem with router, most routers are modem but a modem simply can't be router* Post is written in the hope that reader is equipped with basic knowledge about connecting line to splitter to router to device you want to use. It is assumed the your modem is configured for both wireless and ethernet access. My work requires that I interact daily with servers using putty or such terminal emulator, gradually I loved doing work the *nix way. This made me install Cygwin in almost every machine I use, thanks to MobaXTerm I need not do that anymore :) Off story on to TODO. 1. Connect the machines you want to use to Router That's all! Your router takes care of establishing (W)LAN Surprisingly simple to establish LAN, but the hard part is knowing how to use the systems connected in the network. Here...