Mehmet Ethem SULAN :: Servlet ve JSP(Java Server Pages) :: JSP’de Tanımlanan Formun Bilgisini Alan Servlet Örneği

Servlet koplex hesap ve mantık içeren kodları servlet içinde genelde tanımlanır.Bununla web sayfasındaki görsel özellikleri oluşturan kodlardan yanı jsp içinde dinamik kodlardan soyutlama tercih edilir.Kısaca dinamik web çıktısı oluşturmakta jsp kullanıp karmaşık java kodlarını gerektiren yerlerde de bu jsp içindeki html kodlarından ayırmak ve yönetim kolaylığı açısından servlet seçilir.

package www.ethemsulan.com;
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 FormBilgAlServletim extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//dikkat doGet() ya da doPost() metodunu cagirmak istiyorsanız
//bu iki metodun govdesinde default olarak processRequeste yönlendiren
// processRequest(request, response); kodu silin
response.setContentType("text/html;charset=UTF-8");
//Kullanıcı tarayıcısına html içeriğini gönderir.
PrintWriter out = response.getWriter();
//jspdeki kul adinin name="ad" ismiyle çağırırlır ve
//parolada name="sifreniz" alana girilen parola değeri getirilir.
String adiniz=request.getParameter("ad").trim();
String parolaniz=request.getParameter("sifreniz").trim();
//Eğer forma bir şey girilmezse tekrar aynı sayfaya(index.jsp) yönlendiriyor
if("".equals(adiniz) | "".equals(parolaniz)){
response.sendRedirect("index.jsp");
}
try {
out.println("");
out.println("");
out.println("Servlet FormBilgAlServletim");
out.println("");
out.println("");
out.println("Kullanıcı ad-->"+adiniz+"
"+
"Kullanıcı parola-->"+parolaniz);
out.println("");
out.println("");
} finally {
out.close();
}

} 
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//doPost() metodun govdesi.Genelde doGet() yerine bu kullanılır
}
@Override
public String getServletInfo() {
return "Short description";
}  }

Orj Kod:http://www.ethemsulan.pastebin.com/f747cc4c

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
JSP Page 
<form  action="http://localhost:8084/FormBilgAlServletim/FormBilgAlServletim"
method="GET">
Kul Ad:<input type="text" name="ad">

Parola :<input type="password" name="sifreniz">

<input type="submit" value="Gonder">
 

Orj Kod:http://www.ethemsulan.pastebin.com/f6bc9c392

actiona servletin tam adresini yazmanız gerekir.

Bunu servleti sağ tıklayıp Run File ya da shift+f6 ya

servletteyken basın o zaman servlet derlenirken bir uyarı veriri ok tıklayın.

servlet çalışınca tarayıcı çubuğundaki adresi alıp yapıştırın. method=”get” ise kullanıcı ve

parola tarayıcınızda görünür.Onun için genelde get değilde psot seçilir.kul ad=mehmet ve parolada ethem girdim

http://localhost:8084/FormBilgAlServletim/FormBilgAlServletim?ad=mehmet&sifreniz=ethem

method eğer post seçilirse o zaman girilen bilgiler tarayıcıda görünmez.

Write a Comment

Let me know what you think?