Jsp'de Önceki Sayfanın İsmini Alma, Kendi Bulunduğun Sayfanın Url'ini Alma ve Başka Sayfaya Yönlendirme (Jsp Factory)
Jsp'de Önceki Sayfanın İsmini Alma
Merhaba arkadaşlar bu yazımda Jsp'de bir önceki sayfanın url'ini almayı anlatacağım. Aslında aşağıdaki algoritma bana ait çok fazla araştırma fırsatı bulamadım belki de java'nın aşağıdaki işlemi yapan kodu vardır. Şimdi Çalıştığım şirkette kullanılan bir yapı hakkında bilgi vermek istiyorum. Bu yapı factory yapısı aslında aşağıda anlatıklarım tam olarak bu işi yapma amacıyla yazılmıştır. Uzatmadan anlatmaya başlıyayım. Bir ana class'ımız olsun ve her sayfa bu ana class'a yönlendiriliyor. Ana class amacı ilgili sayfaya yönlendirme yapılabilmesidir. Bunun için gelen sayfa url'ini almamız ve sonra bu url'i sayfa yönlendirme ile ilgili sayfaya yönlendirmemizdir. Aslında factory bu. Umarım işinize yarar.
String OncekiUrl= request.getHeader("Referer");
int sayac = 0;
for (int i = 0; i < OncekiUrl.length(); i++) {
if(OncekiUrl.charAt(i)=='/'){
sayac=i;
}
}
out.print(OncekiUrl.substring(sayac+1, OncekiUrl.length()-4));
Kendi Bulunduğun Sayfanın Url'ini Alma
String getURL=request.getRequestURL().toString();
Sayfa Yönlendirme İşlemi
response.sendRedirect("sayfa.jsp");
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/*Algoritmamızın başlangıç noktası*/
String GetUrl = request.getHeader("Referer");
int sayac = 0;
for (int i = 0; i < GetUrl.length(); i++) {
if (GetUrl.charAt(i) == '/') {
sayac = i;
}
}
String Url = GetUrl.substring(sayac + 1, GetUrl.length() - 4);
if (Url.equals("Login")) {
response.sendRedirect("MainPage.jsp");
} else {
response.sendRedirect("SRM.jsp");
}
}
}
/*Algoritmamızın bittiği yer*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}
}
JSP FACTORY
public class DenemeFactory extends HttpServlet {protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/*Algoritmamızın başlangıç noktası*/
String GetUrl = request.getHeader("Referer");
int sayac = 0;
for (int i = 0; i < GetUrl.length(); i++) {
if (GetUrl.charAt(i) == '/') {
sayac = i;
}
}
String Url = GetUrl.substring(sayac + 1, GetUrl.length() - 4);
if (Url.equals("Login")) {
response.sendRedirect("MainPage.jsp");
} else {
response.sendRedirect("SRM.jsp");
}
}
}
/*Algoritmamızın bittiği yer*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}
}
Yorumlar
Yorum Gönder