Estou desenvolvendo um projeto web gostaria de saber como faço para ligar a minha as minhas telas .jsp com as servlets
além disso gostaria de saber onde entra a servlet padrao nessa historia!!!
Servlet
6 Respostas
Estou desenvolvendo um projeto web gostaria de saber como faço para ligar a minha as minhas telas .jsp com as servlets
além disso gostaria de saber onde entra a servlet padrao nessa historia!!!
ligar seus jsp ao servlets ? os servlets sao “acionados” (chamados) qnd algum jsp seu faz algum tipo de requisicao para ele…essa tal ligacao q vc esta falando ai seria “aonde eu configura para o meu jsp chamar meu servlet?” - se for, vc “configurar” (o certo é mapear
) dentro do seu arquivo de mapeamento (xml) dos seus servlets…
servlet padrao? nao entendi
la vai um modelo de servlet padrao pra todo o Brasil ver:
package pos.projeto.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.Method;
import java.util.Enumeration;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletPadrao extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=windows-1252";
public static final String ACAO_SERVLET = "ACAO_SERVLET";
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
this.processarRequisicao(request, response);
}
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
this.processarRequisicao(request, response);
}
public void doPut(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
this.processarRequisicao(request, response);
}
public void doDelete(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
this.processarRequisicao(request, response);
}
protected void processarRequisicao(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
Method method = null;
Method[] declaredMethods = this.getClass().getMethods();
Method declaredMethod = null;
String name = request.getParameter(this.ACAO_SERVLET);
Enumeration enun = request.getParameterNames();
while(enun.hasMoreElements()){
System.out.println(enun.nextElement());
}
if (name == null){
this.redirectErrorPage(request,response, "A ação não foi encontrada na requisição!");
return;
}
Object[] args = new Object[2];
for (int i = 0; i < declaredMethods.length; i++) {
declaredMethod = declaredMethods[i];
if (name.equals(declaredMethod.getName())) {
method = declaredMethod;
break;
}
}
if (method == null){
this.redirectErrorPage(request,response, "A ação "+ name + " não foi encontrada no controlador de requisição");
return;
}
args[0] = request;
args[1] = response;
try {
method.invoke(this, args);
} catch (Exception e) {
e.printStackTrace();
this.redirectErrorPage(request,response, "Ocorreu um erro de aplicação no redirecionamento para a regra de negócio ");
return;
}
}
protected void redirectErrorPage(HttpServletRequest request,HttpServletResponse response, String messageError) throws IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Erro de Aplicação</title></head>");
out.println("<body>");
out.println("<p>Ocorreu um erro grave durante a execuçao da requisiçao.</p>");
out.println("<p><b>Erro:</b>" + messageError + "</p>");
out.println("</body></html>");
out.close();
}
}
A servlet padrao server como um controle de exeção
me ajudem!!!
primeiro:
com o que você quer ajuda?
segundo:
no lugar de ficar sobre escrevendo todos esses metodos doSeiLaOque por que você não usa o service?
terceiro:
por que ao inves da ação do seu servlet ser um paramenter não é algo na url como “http://meuhost:8080/minhapp/cliente.editar”, ai você pega o editar da url
quarto
da uma olhada nesse link http://www.tatanka.com.br/palestras/cj2005-Web+MVC+IoC+Reflection/
quinto:
acho que você podia estudar um pouco de front controller que acho que é o que você quer
O que vc quis dizer com isso?