Jump to content
c3ejo0

problema com servlet

Recommended Posts

c3ejo0

Boas!

Antes de mais devo dizer que ando a dar os primeiros passos em java como poderão ver pela minha dúvida.

Então é assim:Tenho um formulário web e pretendo que os dados que o utilizador introduz sejam guardados num ficheiro xml se tal for pedido através de clique sobre o botão respectivo.

Comecei por ler umas coisas e estou a seguir este exemplo: http://www.vogella.de/articles/JavaXML/article.html#javastax

Uma vez que existe comunicação entre a página jsp e o Java, é necessário implementar uma servlet. Correcto?

Assim, tenho o seguinte no meu ficheiro web.xml que está na pasta WEB-INF

...
<servlet>
<servlet-name>CreateXMLfile</servlet-name>
<servlet-class>pasta.Localizacao.CreateXMLfile</servlet-class>
</servlet>
...
<servlet-mapping>
<servlet-name>CreateXMLfile</servlet-name>
<url-pattern>/CreateXMLfile</url-pattern>
</servlet-mapping>
...

no meu ficheiro jsp tenho o seguinte:

<%@ page import="pasta.Localizacao.CreateXMLfile" %>   

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
TextBox: 
<form name="teste" id="teste" mehod="get">
	<input type="text" name="texTBOx" id="texTBOx"></input>
	<input type="text" name="texTBOx1" id="texTBOx1"></input>
	<input type="button" value="Button" id="guardaDef" onclick="guardaXML()"></input>
</form>

<script language="javascript">

function guardaXML(){
var url= "CreateXMLfile";
}
</script>
...

Com isto não estou a conseguir entrar na class CreateXMLfile.  Não sei o que estou a fazer de errado ou o que me falta fazer (para alem de aprender, como é obvio).

Se me puderem ajudar agradecia imenso

Cumps

Share this post


Link to post
Share on other sites
magician

Estás a fazer uma confusão, Servlets é uma coisa JSP é outra! Uma Servlet é uma classe Java que extends a class HttpServlet, JSP é algo semelhante ao PHP, no fundo e a grosso modo é HTML com código Java injecto. Conselho a veres bem primeiros as Servlets e depois passar ás JSP, para não misturares as duas coisas.


I haven’t lost my mind; it’s backed up on DVD somewhere!

Share this post


Link to post
Share on other sites
c3ejo0
Uma Servlet é uma classe Java que extends a class HttpServlet

Sim, eu faço o extends da HttpServlet na class CriarXMLfile e meto lá o doGet, esqueci-me de o dizer antes, para torna-la numa Servlet.

Achas que não deveria ser através da servlet que deveria criar/escrever o ficheiro xml? Porque a minha ideia era que este ficheiro xml estivesse do lado do servidor, e entao haveria a dita servlet que fazia a comunicação com o lado cliente(pagina web com o formulario). Estarei a abordar de forma errada esta situacao?

Desde já agradeço

Share this post


Link to post
Share on other sites
aladino77

A  função javascript  guardaXML não está a enviar o formulário para a tua servlet.  Vamos deixar o envio via javascript por momentos.

      <form name="teste" id="teste" mehod="get" action="/CreateXMLfile">

                <input type="text" name="texTBOx" id="texTBOx"></input>

                <input type="text" name="texTBOx1" id="texTBOx1"></input>

                <input type="submit" value="Enviar" id="guardaDef" ></input>

        </form>

Share this post


Link to post
Share on other sites
c3ejo0

já consigo entrar na sevlet, muito provavelmente já antes deveria ter conseguido só que só na altura não tinha mandado imprimir na consola. O problema com que me debato é em como receber os valores inseridos nas textboxs.

tenho o seguinte código na servlet CreateXMLfile:

public class CreateXMLfile extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response)
		throws ServletException, IOException {

		System.out.println("entrou na servlet");

		try{
			String titulo = request.getParameter("texTBOx");

			System.out.println ("-->"+titulo\);

		}catch(Exception e){
			System.out.println(e);
		}			

	}//fim de doGet	

	public void doPost(HttpServletRequest request, HttpServletResponse response)
		throws ServletException, IOException {
		   
		doGet(request, response);
	}

é lido o println, mas depois o segundo println já devolve null.

Aceito sugestões / criticas / ajuda  ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.