Problemas ao rodar SERVLET

quando eu fui rodar uma servler no tomcat 5.0 deu o seguinte erro: java.lang.NullPointerException

o arquivo WEB-INF/web.xml está assim:

[code]<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

&lt;servlet&gt;
    &lt;servlet-name&gt;Teste&lt;/servlet-name&gt;
    &lt;servlet-class&gt;TestServlet&lt;/servlet-class&gt;
&lt;/servlet&gt;
&lt;servlet-mapping&gt;
    &lt;servlet-name&gt;Teste&lt;/servlet-name&gt; 
    &lt;url-pattern&gt;/oi&lt;/url-pattern&gt; 
&lt;/servlet-mapping&gt;

&lt;servlet&gt;
    &lt;servlet-name&gt;Cadastro&lt;/servlet-name&gt;
    &lt;servlet-class&gt;GravaServlet&lt;/servlet-class&gt;
&lt;/servlet&gt;
&lt;servlet-mapping&gt;
    &lt;servlet-name&gt;Cadastro&lt;/servlet-name&gt; 
    &lt;url-pattern&gt;/Cadastro&lt;/url-pattern&gt; 
&lt;/servlet-mapping&gt;

<servlet>
<servlet-name>Consulta</servlet-name>
<servlet-class>LerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Consulta</servlet-name>
<url-pattern>/Consulta</url-pattern>
</servlet-mapping>

&lt;servlet&gt;
    &lt;servlet-name&gt;Apaga&lt;/servlet-name&gt;
    &lt;servlet-class&gt;ApagaServlet&lt;/servlet-class&gt;
&lt;/servlet&gt;
&lt;servlet-mapping&gt;
    &lt;servlet-name&gt;Apaga&lt;/servlet-name&gt; 
    &lt;url-pattern&gt;/Apaga&lt;/url-pattern&gt; 
&lt;/servlet-mapping&gt;

</web-app>[/code]

o arquivo WEB_INF/classes/LerServlet.class está assim

[code]import java.io.;
import javax.servlet.
;
import javax.servlet.http.;
import java.sql.
;

public class LerServlet extends HttpServlet {
Connection con;
PreparedStatement pst;
ResultSet rs;

public void init &#40; &#41; throws ServletException &#123;
	try &#123;
			Class.forName&#40;&quot;com.mysql.jdbc.Driver&quot;&#41;;
			String url=&quot;jdbc&#58;mysql&#58;//127.0.0.1&#58;3306/noite&quot;;
			con = DriverManager.getConnection&#40;url,&quot;root&quot;,&quot;&quot;&#41;;
			String sql = &quot;Select * from funcionario&quot;;
			pst = con.prepareStatement&#40; sql &#41;;
	&#125; catch&#40;Exception e&#41; &#123;&#125;
&#125;
public void doPost &#40;HttpServletRequest req, HttpServletResponse resp&#41;
			throws ServletException, IOException &#123;
	resp.setContentType &#40;&quot;text/html&quot;&#41;;
	PrintWriter out = resp.getWriter&#40;&#41;;
	out.println&#40;&quot;&lt;html&gt;&lt;head&gt;&lt;title&gt; Cadastro de funcionários&quot;&#41;;
	out.println&#40;&quot;&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;h1&gt; &lt;table&gt;&quot;&#41;;
	out.println&#40;&quot;&lt;tr bgcolor = yellow&gt; &lt;th&gt; Nome&lt;/th&gt; &lt;th&gt; Cargo&lt;/th&gt;&lt;th&gt; Salário&lt;/th&gt;&quot;&#41;;
	try &#123;	
		rs = pst.executeQuery&#40; &#41;;
		while &#40; rs.next&#40; &#41; &#41; &#123;
			out.println&#40;&quot;&lt;tr&gt;&lt;td&gt; &lt;a href='Apaga?id=&quot;+rs.getString&#40;&quot;id&quot;&#41;+&quot;'&gt;&quot; + rs.getString&#40;&quot;nome&quot;&#41;+ &quot;&lt;/a&gt;&quot;&#41;;
			out.println &#40;&quot;&lt;td&gt;&quot; + rs.getString&#40;&quot;cargo&quot;&#41; &#41;;
			out.println &#40;&quot;&lt;td&gt;&quot; + rs.getString&#40;&quot;salario&quot;&#41; &#41;;
		&#125;
	&#125; catch &#40;Exception e&#41; &#123;
		out.println&#40;e&#41;; 
	&#125;
	out.println&#40;&quot;&lt;/table&gt;&lt;/body&gt; &lt;/html&gt;&quot;&#41;;
	out.close&#40;&#41;;
&#125;
public void doGet &#40;HttpServletRequest req, HttpServletResponse resp&#41;
			throws ServletException, IOException &#123;
	doPost &#40; req, resp &#41;;
&#125;

public void destroy &#40; &#41; &#123;
	try &#123;
		rs.close &#40; &#41;;
		con.close&#40; &#41;;
	&#125; catch &#40;Exception e&#41; &#123; &#125;
&#125;

}[/code]

public void init &#40; &#41; throws ServletException &#123; try &#123; Class.forName&#40;&quot;com.mysql.jdbc.Driver&quot;&#41;; String url=&quot;jdbc&#58;mysql&#58;//127.0.0.1&#58;3306/noite&quot;; con = DriverManager.getConnection&#40;url,&quot;root&quot;,&quot;&quot;&#41;; String sql = &quot;Select * from funcionario&quot;; pst = con.prepareStatement&#40; sql &#41;; &#125; catch&#40;Exception e&#41; &#123;&#125; &#125;
No trecho acima, se houver algum erro, vc não vai ficar sabendo visto que não está fazendo um tratamento adequado da exception. Tente alterar para que fique assim:

public void init &#40; &#41; throws ServletException &#123; try &#123; Class.forName&#40;&quot;com.mysql.jdbc.Driver&quot;&#41;; String url=&quot;jdbc&#58;mysql&#58;//127.0.0.1&#58;3306/noite&quot;; con = DriverManager.getConnection&#40;url,&quot;root&quot;,&quot;&quot;&#41;; String sql = &quot;Select * from funcionario&quot;; pst = con.prepareStatement&#40; sql &#41;; &#125; catch&#40;Exception e&#41; &#123; e.printStackTrace&#40;&#41;; &#125; &#125;
Dessa maneira vc vai ficar sabendo se a connection e o preparedstatement foram corretamente criados e podem ser usados em ourtras partes do servlet.

Até.

eu fiz isso mas não apareceu erro nenhum…

eu já tentei de tudo… este trecho do código tá certo(eu to utilizando em outra aplicação e tá funcionando).

Código&#58; 
public void init &#40; &#41; throws ServletException &#123; 
      try &#123; 
            Class.forName&#40;&quot;com.mysql.jdbc.Driver&quot;&#41;; 
            String url=&quot;jdbc&#58;mysql&#58;//127.0.0.1&#58;3306/noite&quot;; 
            con = DriverManager.getConnection&#40;url,&quot;root&quot;,&quot;&quot;&#41;; 
            String sql = &quot;Select * from funcionario&quot;; 
            pst = con.prepareStatement&#40; sql &#41;; 
      &#125; catch&#40;Exception e&#41; &#123; 
            e.printStackTrace&#40;&#41;; 
      &#125; 
   &#125; 

eu acho que é erro na linha

rs = pst.executeQuery&#40; &#41;;