Como salvar os arquivos de texto no jsp [resolvido passo a passo]

Olá fiz um projeto da faculdade em java e agora estou tendo que fazer em JSP
e não estou conseguindo salvar os dados em um arquivo de texto igual fiz no java
fiz desta forma se alguém poder me ajudar, como faço e JSP
public class gTexto {

public File CriaArquivo(String dados) { //(caminho do caminho do arquivo) dados - nomearquivo
    File fdados = new File(dados);

    if (!fdados.exists()) {
        try {
            fdados.createNewFile();
        } catch (IOException ex) {
            JOptionPane.showMessageDialog(null,
                    "Erro ao Criar Arquivo\n codigo do erro\n" + ex.getMessage());
        }
    }
    return fdados;
}

public void GravarArquivo(File f, String texto) {

    try {
        FileWriter fwtexto = new FileWriter(f, true);
        BufferedWriter bwtexto = new BufferedWriter(fwtexto);
        PrintWriter pwtexto = new PrintWriter(bwtexto, true);

        pwtexto.println(texto);

    } catch (IOException ex) {
        JOptionPane.showMessageDialog(null,
                "Erro ao Gravar Texto\n Codigo do Erro:\n" + ex.getMessage());
    }
}

public String LerArquivo(File f) {

    String textoCompleto = "";
    try {
        FileReader frtexto = new FileReader(f);
        BufferedReader brtexto = new BufferedReader(frtexto);

        String LinhaLida = "";

        do {
            LinhaLida = brtexto.readLine();
            if (LinhaLida != null) {
                textoCompleto += LinhaLida + "\n";
            }

        } while (LinhaLida != null);

    } catch (IOException ex) {
        JOptionPane.showMessageDialog(null,
                "Erro ao ler o arquivo\nCodigo do Erro:" + ex.getMessage());

    }
    return textoCompleto;
}

}

Boa noite leco_prosurf,

Você poderia explicar melhor qual a sua dúvida?

Para você criar um arquivo texto via jsp, acredito que será necessário um jsp contendo um form, passando por um servlet que pegará as informações do jsp e mandará para a classe responsável pela criação do arquivo…

Nessas etapas, qual seria a sua dúvida?

Att,

Guilherme Bernert

Olá bernet

Ja criei um form que recebe as informações e essa informações
ficaram armazenadas em um string e cada vez que adicionar uma
nova informação essa string vai ser gravada em um arquivo de texto
simulando um ‘banco de dados’ .
Então não consigui criar esse servlet que vai enviar as informações
para um arquivo de texto.
Eu posso usar a mesma classe do java que mostrei acima e
instanciar pelo servlet .?

Se a resposta for sim como faço.?

Obrigado pela atenção.

Boa tarde leco_prosurf,

Então, vamos lá, bem simples:

o JSP:

<html>
	<head>
		<title>Form JSP</title>
	</head>
	<body>
		<form action="servlet" method="post">
			Nome:
			<input type="text" name="txtNome"/>
			<input type="submit" value="Enviar"/>
		</form>
	</body>
</html>

o Servlet:

public class MyServlet extends HttpServlet
{
	private static final long serialVersionUID = 1L;

	public void service(HttpServletRequest req, HttpServletResponse resp){
		try {
			//Através do req.getParameter você pega os valores dos campos de seu form
			String text = req.getParameter("txtNome");
			
			//Chama a função pra criar o arquivo
			FormWriter.writeOnFile(text);
			
			//Redireciona para página que quiser
			req.getRequestDispatcher("newPage.jsp").forward(req, resp);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

o Mapeamento do Servlet no seu web.xml:

<servlet>
  	<servlet-name>MyServlet</servlet-name>
  	<servlet-class>guj.servlets.MyServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>MyServlet</servlet-name>
  	<url-pattern>/servlet</url-pattern>
  </servlet-mapping>
</servlet>

a classe utilizada p/ escrever o arquivo:

public class FormWriter 
{
	//Caminho do arquivo
	private static final String path = "C:\form.txt";

	//Método que escreve no arquivo
	public static void writeOnFile(String value) {
		try {
			FileWriter writer = new FileWriter(path);
			PrintWriter pw = new PrintWriter(writer);
			
			//Função para escrever texto no arquivo
			pw.println(value);
			
			pw.close();
			writer.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

Tendo esse material é só adaptar para seu código…

Espero ter ajudado,

Guilherme Bernert

Obrigado bernet.
Tirou todas as duvida que tinha sobre esse assunto.