I have a website, on my website i have made a form which allows the user to enter a question, this question is then saved on a file, i have the following code:
<html> <head> <title>JSP Form</title> <style> </style> </head> <body> <form action="TestFileHandling.jsp" method="post"> <fieldset> <legend>User Information</legend> <label for="question">Question</label> <input type="text" name="question" /> <br/> <input type="submit" value="submit"> </fieldset> </form> </body> </html>
The above is a simple form that lets the user enter a question before sending it.
<%@page import="myPackage.FileReaderWriter"%> <%@page import="java.util.Vector"%> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <% Vector<String[]> v = new Vector<String[]>(); String[] str1 = {request.getParameter("question")}; v.addElement(str1); FileReaderWriter.saveVectorToFile(v, "MyTestFile.txt"); %> <% Vector<String[]> vec = FileReaderWriter.readFileToVector ("MyTestFile.txt"); for (int i = 0; i < vec.size(); i++) { out.print("|"); for (int j = 0; j < vec.elementAt(i).length; j++) { out.print(vec.elementAt(i)[j] + "|"); } %> <br> <% } %> </body> </html>
This part takes the question entered and saves it to a text file and then opens the file to display whatever is inside.
All this is done through the following java code:
package myPackage; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Vector; public class FileReaderWriter { public static void saveVectorToFile(Vector<String[]> v, String sFileName) { try { // Create a new file writer FileWriter writer = new FileWriter(sFileName, true); // Loop through all the elements of the vector for (int i = 0; i < v.size(); i++) { // Capture the index of the last item of each array int lastIndex = v.elementAt(i).length - 1; // Loop through all the items of the array, except // the last one. for (int j = 0; j < lastIndex; j++) { // Append the item to the file. writer.append(v.elementAt(i)[j]); // Append a comma after each item. writer.append(','); } // Append the last item. writer.append(v.elementAt(i)[lastIndex]); // Append a new line character to the end of the line // (i.e. Start new line) writer.append('\n'); } // Save and close the file writer.flush(); writer.close(); } // Catch the exception if an Input/Output error occurs catch (IOException e) { e
.printStackTrace(); } }
public static Vector<String[]> readFileToVector(String sFileName) { // Initialise the BufferedReader BufferedReader br = null;
// Create a new Vector. The elements of this Vector are String arrays. Vector<String[]> v = new Vector<String[]>(); try { // Try to read the file into the buffer br = new BufferedReader(new FileReader(sFileName)); // Initialise a String to save the read line. String line = null; // Loop to read all the lines while ((line = br.readLine()) != null) { // Convert the each line into an array of Strings using // comma as a separator String[] values = line.split(","); // Add the String array into the Vector v.addElement(values); } } // Catch the exception if the file does not exist catch (FileNotFoundException ex) { ex.printStackTrace(); } // Catch the exception if an Input/Output error occurs catch (IOException ex) { ex.printStackTrace(); } // Close the buffer handler finally { try { if (br != null) br.close(); } catch (IOException ex) { ex.printStackTrace(); } } // return the Vector return v;
}
}
currently the code lets the user enter a question and it will save it to a file, and then open the file.
I need to accomplish the following 1. The date and time of each request. You may decide on the display format of the date and time yourself. 2. The text of each request (i.e. the actual question asked by the user). 3. The status of the request (either â??pendingâ?? or â??answeredâ??). Note that a request changes from â??pendingâ?? to become â??answeredâ?? only when you have added the text of your response. The initial status of a request is always therefore â??pendingâ??. 4. The text of the reply that you provided in answer and the date and time when the reply was made by you. 5. A facility on the website which allows a user to obtain at any time they choose a statistical summary report providing, at that very point in time, from all current and previous requests: a. The maximum number of hours that is has taken to reply to a request. b. The mean number of hours taken to reply to answered requests. c. The median number of hours taken to reply to answered requests. d. The number of requests that have been answered in total be they current or archived. e. The number of currently archived messages. 6. A facility available for deleting an entry from the list of current requests. 7. A facility available for adding to the text of an existing reply in the list of current requests.
Any help is appreciated!