Código Básico de Servlet - código sem erros mas não compila corretamente

Ok gente o meu problema é o seguinte, estou começando a aprender Servlet e o meu professor passou a seguinte questão:

[color=blue]Fazer um Servlet que apresente para o usuário a mensagem: ―Já sei fazer
um servlet‖ :
a) Crie uma página HTML com um link: ―Chamar Servlet‖
b) O link deve chamar uma Servlet.
c) A Servlet deve devolver para o usuário a mensagem: Já sei fazer
um servlet.[/color]

Simples não é? Pois então, eu fiz o código todo certinho. Na hora de compilar ele aparece a página jsp com o link mas quando clico para ir para a página que deveria conter a frase “Já sei fazer um servlet”, ele apresenta o seguinte erro:

type Status report
message /Atividade1/servlets/Atividade1
description The requested resource (/Atividade1/servlets/Atividade1) is not available
.

Segue o meu código abaixo:

[code]<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”
pageEncoding=“ISO-8859-1”%>

Iniciando Chamar Servlet [/code]

Minha servlet:

[code]package controler;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MinhaServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public MinhaServlet() {
}
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
res.setContentType(“text/html”);
PrintWriter out = res.getWriter();
out.println(“Já sei fazer uma servlet”);
out.close();
}
}[/code]

Bom, espero que vocês possam me ajudar e que eu tenha explicado direitinho. Realmente não sei o que pode estar acontecendo, deve ser algum erro bobo. Tenho um trabalho para fazer pra essa unidade e se não souber fazer no mínimo isso…
Agradeço desde já.

O único erro está na lina 10 na pagina do link

Chamar Servlet

correto

<a href=“MinhaServlet”> Chamar Servlet

O caminho para uma servlet está sendo enviado via get sendo
assim o mapeamento se encarrega do resto.ok
Não sou muito bom para explicações mais é por esse
caminho.

Mas quando faço isso aparece diretamente a mensagem, não aparece o link antes :T

Você registro a servlet no web.xml??
se não, tenta fazer isso:

[code]view plaincopy to clipboardprint?
package controler;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(name=“UmNomeParaAServlet”, urlPatterns="/MinhaServlet") //Add essa linha aki!
public class MinhaServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public MinhaServlet() {
}
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
res.setContentType(“text/html”);
PrintWriter out = res.getWriter();
out.println(“Já sei fazer uma servlet”);
out.close();
}
} [/code]

E arruma o link como o Colbison disse também.

Ok pessoal, irei fazer isso, muito obrigada :slight_smile:

[quote=felipejm]Você registro a servlet no web.xml??
se não, tenta fazer isso:

[code]view plaincopy to clipboardprint?
package controler;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(name=“UmNomeParaAServlet”, urlPatterns="/MinhaServlet") //Add essa linha aki!
public class MinhaServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public MinhaServlet() {
}
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
res.setContentType(“text/html”);
PrintWriter out = res.getWriter();
out.println(“Já sei fazer uma servlet”);
out.close();
}
} [/code]

E arruma o link como o Colbison disse também.
[/quote]
Camarada, precisa perguntar qual a versão do web module que ela está utilizando. Se for < 3.0 isto não funciona.
A questão é que, primeiro, se o link acusa que o recurso não está disponível, realmente pode ser um problema causado pelo mapeamento da Servlet no web.xml.
Para o caso específico, você pode adicionar o seguinte código ao seu web.xml, antes de

servlet>
    <servlet-name>MinhaServlet</servlet-name>
    <servlet-class>controller.MinhaServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>MinhaServlet</servlet-name>
    <url-pattern>sevlets/MinhaServlet</url-pattern>
  </servlet-mapping>