Javax.servlet paketi içerisinde bulunan RequestDispatcher kullanarak bir sayfayı başka bir sayfaya yönlendirebiliriz. Bu yazacağımız örnekte iş ve görüntü kısmını servlet ve jsp kullanarak nasıl ayrı şekil yapabileceğimizi göreceğiz.
Servlet içerisinde iş tarafı yapılacak, bunlar database işlemleri veya business logic olabilir. Jsp tarafında ise sadece servlet tarafından gönderilen obje sayesinde görüntüleme işlemi yapılacak.\r\nRequestDispatcher sınıfının forward methodunu kullanacağız.
void forward(ServletRequest request, ServletResponse response);
Servlet kodumuz
public class MyServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String a = request.getParameter("a");
String b = request.getParameter("b");
int firstNumber = Integer.parseInt(a);
int secondNumber = Integer.parseInt(b);
request.setAttribute("sonuc", firstNumber*secondNumber);
RequestDispatcher dispatcher ;
dispatcher = getServletContext().getRequestDispatcher("sonuc.jsp");
dispatcher.forward(request, response);
}
}
Bu servletimizde bize parametre olarak gönderilen iki değişken çarpılarak sonuc.jsp sayfasına yönlendiriliyor. Burada önemli olan iki sayının çarpımının request objesinin setAttribute methodunu kullanarak diğer sayfaya iletmemiz.
Jsp kodumuz
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<%
int sonuc= (Integer)request.getAttribute("sonuc");
%>
Sonuç = <%=sonuc%>
Böylece Servlet tarafında yaptığımız işlemi Jsp tarafında kullanıcıya göstermiş olduk.

Son Yorumlar