Класс сервлета обрабатывает объект входящего запроса, извлекает данные и сохраняет их в StringBuilder / StringBuffer и передает данные другому классу для записи в файл.
ActionClass
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException {
String fileName = request.getparameter("fileName");
String body = request.getParameter("innerHTML");
String head = request.getParameter("headContents");
StringBuilder sbr = new StringBuilder();
sbr.append(body); sbr.append(head);
OR
StringBuffer sbf = new StringBuffer();
sbf.append(body); sbf.append(head);
FileWrite fw = new FileWrite(fileName, sbf/sbr); /* write the data into file*/
}
FileWrite
class FileWrite{
public FileWrite(String fileName, StringBuilder sbf){
boolean isExist = checkFileName(fileName); /* return true or false */
if(isExist){
String name = reName(fileName); /* rename & return new name */
/* write the file in new file */
}else{ /* write in same file name */ }
}
public String reName(String oldName){
/* rename oldName as newName & checks via isExist(newName) */
}
public boolean isExist(String filename) {
// checks the file in directory, if found already
return true;
else return false;
}
}
Как вы можете видеть в примере выше, класс действия передает данные в FileWrite class
, который записывает данные в новый файл. сотни клиентов могут одновременно отправить запрос на сохранение данных в новом файле.
поэтому мой вопрос, в классе сервлетов, что я должен использовать для хранения данных. это String or stringBuffer or StringBuilder
?? это вопрос безопасности потока?