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.