Шпаргалка по сервлетам JAVA

Пример JAVA сервлета с использованием основных функций.

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 javax.servlet.http.HttpSession;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

/**
 * Created by artem on 4/22/2017.
 */
@WebServlet("/SampleServlet")

public class SampleServlet extends HttpServlet {

    /*
        Обработка GET запросов сервлетом
        HttpServletReuest req - запрос, который пришел к сервлету
        HttpServletResponse resp - ответ, который даст сервлет
    */
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {


        HttpSession session = req.getSession();
        /*
            Для того, чтобы передать данные на JSP, нужно в сервлете в request добавить атрибут
            Для этого необходимо вызвать метод setAttribute(String key, Object value), где:
            key - это ключ по которому можно получить доступ к данным на JSP.
            Например: ${header}

         */
        
        // Спустя 30 минут сессия обнулится
        session.setMaxInactiveInterval(30*60);

        req.setAttribute("header", "<h1>Главная страница VIRAND</h1>" );

        // Получение значения параметра из текущей сессии
        session.getAttribute("login");

        // Получение параметра, который пришел в запросе к сервлету
        String findText = req.getParameter("find");

        // Получение пути к файлу из сервлета
        // Директория files располагается в папке webapp
        String path=getServletContext().getRealPath( "files/sample.html" );

        // Обнуление сессии
        if (session != null) {
            session.invalidate();
        }

        // Вызов JSP страницы index.jsp
        req.getRequestDispatcher("index.jsp").forward(req,resp);
    }
}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *