JSP - Java Server Page

 user.jsp sehifesi

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>User</title>
</head>
<body>
<form action="UserController" method="post">
<input type="text" name="alma" value="Parvin">
<input type="text" name="armud" value="Etibarli">
<input type="submit" name="heyva" value="SAVE">
</form>
</body>
</html>
UserController.java sehifesi
package com.controller;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "UserController", urlPatterns = "/UserController")
public class UserController extends HttpServlet {

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println(req.getParameter("alma"));
System.out.println(req.getParameter("armud"));
System.out.println(req.getParameter("heyva"));
}
}

    Ilk once user.jsp sehifesinden bashlayaq. <form> taqi mushterinin informasiya daxil etmek 
ucun yardim edir. Action "UserController" o demekdirki sorgu UserController sehifesine gedecek.
Metod "post" o demekdirki post sorgusu gedecek.
<input> taqi mushterinin informasiya daxil etmek ucun i/o. type "text" yeni metn formatindadir.
name "alma" istediyimiz kimi qoya bilerik, lakin adeten daxil edilecek deyere uygun qoyulur.
value "" adeten bosh buraxilir ki, mushteri ozu daxil etsin.
type "submit" tesdiqlemek ucundur.
    Indi ise UserController.java sehifesini analiz edek. 10-cu setirde eses element 
urlPatterndir hem user.jsp fayli bu url taniyur hemde mushteri brauserden bu url daxil ede biler.
15, 16 ve 17 setirlerde req.getParameter goruruk, bu ise mushteri user.jsp sehifesinde 
save duymesini basdiqdan sonra UserController sehifesine sorgu yonelir. Ve hemin sorgunun 
parametrini adina uygun olaraq qebul edib cap edir.


Indi ise birazda kompleks koda baxaq.
<%@ page import="com.inter.UserDao" %>
<%@ page import="com.config.Context" %>
<%@ page import="com.model.User" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>User</title>
</head>
<body>
<%
UserDao dao = Context.userDaoInstance();
List<User> users = dao.findAll();
%>

<form action="UserController" method="post">
<input type="text" name="name" value="">
<input type="text" name="surname" value="">
<input type="submit" name="action" value="SAVE">
</form>

<%
for (User u : users) {
out.println(u.getName() + " " + u.getSurname());
out.println("<br>");
}
%>
</body>
</html>
package com.controller;

import com.config.Context;
import com.inter.UserDao;
import com.model.User;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "UserController", urlPatterns = "/UserController")
public class UserController extends HttpServlet {

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String action = req.getParameter("action");
if (action.equals("SAVE")) {
UserDao dao = Context.userDaoInstance();
User u = new User();
u.setName(req.getParameter("name"));
u.setSurname(req.getParameter("surname"));
dao.save(u);
}
resp.sendRedirect("user.jsp");
}
}
UserController.java sehifesinde goruruk ki, resp.rendRedirect("user.jsp); kodu yazilib.
Bu kod artiq sorgunu yeniden yoneldir user.jsp sehifesine ve JVM user.jsp sehifesini bashdan
yeniden oxumaga bashlayir.


Davam edirik:
package com.controller;

import com.config.Context;
import com.inter.UserDao;
import com.model.User;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

@WebServlet(name = "UsersController", urlPatterns = "/users")
public class UsersController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
UserDao dao = Context.userDaoInstance();
List<User> users = dao.findAll();
req.setAttribute("alma", users);
req.getRequestDispatcher("users.jsp").forward(req, resp);
}
}
<%@ page import="com.config.Context" %>
<%@ page import="com.inter.UserDao" %>
<%@ page import="com.model.User" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js"
integrity="sha384-b5kHyXgcpbZJO/tY9Ul7kGkf1S0CWuKcCD38l8YkeH8z8QjE0GmW1gYU5S9FOnJ0"
crossorigin="anonymous"></script>
</head>
<body>
<%
List<User> users = (List<User>) request.getAttribute("alma");
%>

<div class="container">
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">ID</th>
<th scope="col">Name</th>
<th scope="col">Surname</th>
</tr>
</thead>
<tbody>
<%
for (int i = 0; i < users.size(); i++) {
User u = users.get(i);
%>
<tr>
<th scope="row"><%=(i + 1)%></th>
<td><%=u.getUserId()%></td>
<td><%=u.getName()%></td>
<td><%=u.getSurname()%></td>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</body>
</html>
Burada UsersController bazadan butun userleri cekib users deyishenine atib. 
req.setAttribute("alma", users); "alma" attributu altinda hemid users-leri gonderirik users.jsp-ye
gonderme ise req.getRequestDispatcher("users.jsp").forward(req, resp);
Artiq request ve responslara users.jsp baxir. users.jsp-de gonderilmish requesti menimsedirik
List<User> users = (List<User>) request.getAttribute("alma);
Ele zenn etmek olarki "alma" yazili mektubu users.jsp qebul etdi.


Davam edek:

package com.controller;

import com.config.Context;
import com.inter.UserDao;
import com.model.User;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

@WebServlet(name = "UsersController", urlPatterns = "/users")
public class UsersController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String name = req.getParameter("name");
String surname = req.getParameter("surname");

UserDao dao = Context.userDaoInstance();
List<User> users = dao.findAll(name, surname);
req.setAttribute("alma", users);
req.getRequestDispatcher("users.jsp").forward(req, resp);
}
}
<%@ page import="com.config.Context" %>
<%@ page import="com.inter.UserDao" %>
<%@ page import="com.model.User" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js"
integrity="sha384-b5kHyXgcpbZJO/tY9Ul7kGkf1S0CWuKcCD38l8YkeH8z8QjE0GmW1gYU5S9FOnJ0"
crossorigin="anonymous"></script>
</head>
<body>
<%
List<User> users = (List<User>) request.getAttribute("alma");
%>

<div class="container">
<form action="users" method="get">
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">Name</label>
<input type="text" class="form-control" id="exampleInputEmail1" name="name">
</div>
<div class="mb-3">
<label for="exampleInputPassword1" class="form-label">Surname</label>
<input type="text" class="form-control" id="exampleInputPassword1" name="surname">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">ID</th>
<th scope="col">Name</th>
<th scope="col">Surname</th>
</tr>
</thead>
<tbody>
<%
for (int i = 0; i < users.size(); i++) {
User u = users.get(i);
%>
<tr>
<th scope="row"><%=(i + 1)%></th>
<td><%=u.getUserId()%></td>
<td><%=u.getName()%></td>
<td><%=u.getSurname()%></td>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</body>
</html>


package com.controller;

import com.config.Context;
import com.inter.UserDao;
import com.model.User;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "UserSaveController", urlPatterns = "/UserSave")
public class UserSaveController extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.getRequestDispatcher("userSave.jsp").forward(req, resp);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
UserDao dao = Context.userDaoInstance();
User u = new User();
u.setName(req.getParameter("name"));
u.setSurname(req.getParameter("surname"));
dao.save(u);
resp.sendRedirect("userSave.jsp");
}
}
<%@ page import="com.inter.UserDao" %>
<%@ page import="com.config.Context" %>
<%@ page import="com.model.User" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>User add</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js"
integrity="sha384-b5kHyXgcpbZJO/tY9Ul7kGkf1S0CWuKcCD38l8YkeH8z8QjE0GmW1gYU5S9FOnJ0"
crossorigin="anonymous"></script>
</head>
<body>
<%
UserDao dao = Context.userDaoInstance();
List<User> users = dao.showAll();
%>
<div class="container">
<form action="UserSave" method="post">
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">Name</label>
<input type="text" class="form-control" id="exampleInputEmail1" name="name">
</div>
<div class="mb-3">
<label for="exampleInputPassword1" class="form-label">Surname</label>
<input type="text" class="form-control" id="exampleInputPassword1" name="surname">
</div>
<button type="submit" class="btn btn-primary">save</button>
</form>
</div>
<div class="container">
<%
for (User u : users) {
out.println(u.getName() + " " + u.getSurname());
out.println("<br>");
}
%>
</div>
</body>
</html>


package com.controller;

import com.config.Context;
import com.inter.UserDao;
import com.model.User;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "UserSaveController", urlPatterns = "/UserSave")
public class UserSaveController extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.getRequestDispatcher("userSave.jsp").forward(req, resp);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
UserDao dao = Context.userDaoInstance();
User u = new User();
u.setName(req.getParameter("name"));
u.setSurname(req.getParameter("surname"));
dao.save(u);
resp.sendRedirect("users");
}
}
package com.controller;

import com.config.Context;
import com.inter.UserDao;
import com.model.User;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

@WebServlet(name = "UsersController", urlPatterns = "/users")
public class UsersController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String name = req.getParameter("name");
String surname = req.getParameter("surname");

UserDao dao = Context.userDaoInstance();
List<User> users = dao.findAll(name, surname);
req.setAttribute("alma", users);
req.getRequestDispatcher("users.jsp").forward(req, resp);
}
}
<%@ page import="com.inter.UserDao" %>
<%@ page import="com.config.Context" %>
<%@ page import="com.model.User" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>User add</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js"
integrity="sha384-b5kHyXgcpbZJO/tY9Ul7kGkf1S0CWuKcCD38l8YkeH8z8QjE0GmW1gYU5S9FOnJ0"
crossorigin="anonymous"></script>
</head>
<body>
<%
UserDao dao = Context.userDaoInstance();
List<User> users = dao.showAll();
%>
<div class="container">
<form action="UserSave" method="post">
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">Name</label>
<input type="text" class="form-control" id="exampleInputEmail1" name="name">
</div>
<div class="mb-3">
<label for="exampleInputPassword1" class="form-label">Surname</label>
<input type="text" class="form-control" id="exampleInputPassword1" name="surname">
</div>
<button type="submit" class="btn btn-primary">save</button>
</form>
</div>
<div class="container">
<%
for (User u : users) {
out.println(u.getName() + " " + u.getSurname());
out.println("<br>");
}
%>
</div>
</body>
</html>
<%@ page import="com.config.Context" %>
<%@ page import="com.inter.UserDao" %>
<%@ page import="com.model.User" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js"
integrity="sha384-b5kHyXgcpbZJO/tY9Ul7kGkf1S0CWuKcCD38l8YkeH8z8QjE0GmW1gYU5S9FOnJ0"
crossorigin="anonymous"></script>
</head>
<body>
<%
List<User> users = (List<User>) request.getAttribute("alma");
%>

<div class="container">
<form action="users" method="get">
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">Name</label>
<input type="text" class="form-control" id="exampleInputEmail1" name="name">
</div>
<div class="mb-3">
<label for="exampleInputPassword1" class="form-label">Surname</label>
<input type="text" class="form-control" id="exampleInputPassword1" name="surname">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">ID</th>
<th scope="col">Name</th>
<th scope="col">Surname</th>
</tr>
</thead>
<tbody>
<%
for (int i = 0; i < users.size(); i++) {
User u = users.get(i);
%>
<tr>
<th scope="row"><%=(i + 1)%></th>
<td><%=u.getUserId()%></td>
<td><%=u.getName()%></td>
<td><%=u.getSurname()%></td>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</body>
</html>
resp - brauzere oturulen bir deyerdir. 302 - server brauzere redirect emri vermesidir.
Get sorgusunda body hissesi olmur.

Комментарии

Популярные сообщения из этого блога

Lesson1: JDK, JVM, JRE

SE_21_Lesson_11: Inheritance, Polymorphism

SE_21_Lesson_9: Initialization Blocks, Wrapper types, String class