Рубрики
Без рубрики

Неявные объекты JSP

Неявные объекты JSP. Неявные объекты в JSP – out, запрос, ответ, конфигурация, приложение, сеанс, контекст страницы, исключение пример неявного объекта jsp.

Автор оригинала: Pankaj Kumar.

Неявные объекты JSP очень полезны для разработчиков. Это второй пост в серии учебных пособий по JSP, возможно, вам захочется ознакомиться с более ранним постом о руководстве по JSP для начинающих .

Неявные объекты JSP

Неявные объекты JSP создаются контейнером сервлетов при переводе страницы JSP в исходный код сервлета, чтобы помочь разработчикам. Мы можем использовать неявные объекты в JSP непосредственно в скриптлетах , которые входят в метод обслуживания. Однако мы не можем использовать неявные объекты jsp в объявлении JSP, потому что этот код будет выполняться на уровне класса.

У нас есть 9 неявных объектов jsp, которые мы можем напрямую использовать на странице JSP. Семь из них объявлены как локальная переменная в начале метода _jspService () , тогда как два из них являются частью аргумента _jsp Service() метода, который мы можем использовать.

  1. Неявные объекты JSP – Объект out
  2. Неявные объекты JSP – объект запроса
  3. Неявные объекты JSP – объект ответа
  4. Неявные объекты JSP – Объект конфигурации
  5. Неявные объекты JSP – Объект приложения
  6. Неявные объекты JSP – объект сеанса
  7. Неявные объекты JSP – Объект PageContext
  8. Неявные объекты JSP – Объект страницы
  9. Неявные объекты JSP – объект исключения
  10. Пример неявных объектов JSP

Неявные объекты в JSP

Давайте рассмотрим каждый из неявных объектов на странице JSP один за другим. Затем мы рассмотрим пример неявных объектов JSP.

  1. Неявные объекты JSP – Объект out

    Неявный объект JSP out является экземпляром реализации javax.servlet.jsp.JspWriter и используется для вывода содержимого, отправляемого в ответе клиента. Это один из наиболее часто используемых неявных объектов JSP, и именно поэтому у нас есть выражение JSP для простого вызова метода out.print () .

  2. Неявные объекты JSP – объект запроса

    Неявный объект запроса JSP является экземпляром javax.servlet.http.Реализация HttpServletRequest и это один из аргументов метода службы JSP. Мы можем использовать объект запроса для получения параметров запроса, файлов cookie, атрибутов запроса, сеанса, информации о заголовке и других сведений о запросе клиента.

  3. Неявные объекты JSP – объект ответа

    Неявный объект ответа JSP является экземпляром javax.servlet.http.HttpServletResponse реализация и поставляется в качестве аргумента метода службы. Мы можем ответить объекту, чтобы задать тип контента, кодировку символов, информацию заголовка в ответе, добавить файлы cookie в ответ и перенаправить запрос на другой ресурс.

  4. Неявные объекты JSP – Объект конфигурации

    Неявный объект конфигурации JSP является экземпляром javax.servlet.ServletConfig реализация и используется для настройки параметров инициализации JSP в дескрипторе развертывания.

  5. Неявные объекты JSP – Объект приложения

    Неявный объект приложения JSP является экземпляром javax.servlet.Реализация ServletContext и используется для получения контекстной информации и атрибутов в JSP. Мы можем использовать его для получения объекта RequestDispatcher в JSP для пересылки запроса на другой ресурс или для включения ответа от другого ресурса в JSP.

  6. Неявные объекты JSP – объект сеанса

    Неявный объект сеанса JSP является экземпляром javax.servlet.http.HttpSession реализация. Всякий раз, когда мы запрашиваем страницу JSP, контейнер автоматически создает сеанс для JSP в методе службы.

    Поскольку управление сеансами-это сложный процесс, поэтому, если мы не хотим, чтобы сеанс создавался для JSP, мы можем использовать директиву страницы, чтобы не создавать сеанс для JSP с помощью . Это очень полезно, когда наша страница входа в систему или страница индекса является страницей JSP, и нам не нужен никакой сеанс пользователя там.

  7. Неявные объекты JSP – Объект PageContext

    Неявный объект JSP PageContext является экземпляром javax.servlet.jsp.PageContext | абстрактный класс реализация. Мы можем использовать PageContext для получения и установки атрибутов с различными областями действия, а также для пересылки запроса на другие ресурсы. Объект PageContext также содержит ссылку на другой неявный объект. Неявные объекты JSP – Объект страницы

  8. Неявный объект страницы JSP-это instanceof

    java.lang.Объект класс и представляет текущую страницу JSP. объект страницы содержит ссылку на созданный класс сервлета. Этот объект используется очень редко. Неявные объекты JSP – объект исключения

  9. Исключение JSP неявный объект isinstanceof

    java.lang.Выбрасываемый класс и используется для предоставления сведений об исключениях на страницах ошибок JSP. Мы не можем использовать этот объект на обычных страницах JSP, и он доступен только на страницах ошибок JSP.

Пример неявных объектов JSP

Вот простая страница JSP, на которой показано использование неявных объектов JSP. Я не предоставляю пример объекта исключения, который будет рассмотрен в сообщении об обработке исключений JSP.

Вот простая страница JSP, на которой показано использование неявных объектов JSP. Я не предоставляю пример объекта исключения, который будет рассмотрен в сообщении об обработке исключений JSP.

<%@ page language="java" contentType="text/html; charset=US-ASCII"
    pageEncoding="US-ASCII"%>
<%@ page import="java.util.Date" %>





Index JSP Page


<%-- out object example --%>

Hi There

Current Time is: <% out.print(new Date()); %>

<%-- request object example --%> Request User-Agent: <%=request.getHeader("User-Agent") %>

<%-- response object example --%> <%response.addCookie(new Cookie("Test","Value")); %> <%-- config object example --%> User init param value:<%=config.getInitParameter("User") %>

<%-- application object example --%> User context param value:<%=application.getInitParameter("User") %>

<%-- session object example --%> User Session ID:<%=session.getId() %>

<%-- pageContext object example --%> <% pageContext.setAttribute("Test", "Test Value"); %> PageContext attribute: {Name="Test",Value="<%=pageContext.getAttribute("Test") %>"}

<%-- page object example --%> Generated Servlet Name:<%=page.getClass().getName() %>

Дескриптор развертывания для динамического веб-проекта является:

Дескриптор развертывания для динамического веб-проекта является:



  JSPImplicitObjects
  
    index.jsp
  
  
  
  User
  Admin
  
  
  
  home
  /index.jsp
  
  	User
  	Pankaj
  
  
  
  home
  /home.do
  /home.jsp
  

Когда я получаю доступ к JSP выше в браузере, я получаю ответ, как показано на рисунке ниже.

Давайте посмотрим на сгенерированный код класса сервлета, чтобы лучше понять эти объекты.

Давайте посмотрим на сгенерированный код класса сервлета, чтобы лучше понять эти объекты.

/*
 * Generated by the Jasper component of Apache Tomcat
 * Version: Apache Tomcat/7.0.32
 * Generated at: 2013-08-22 00:42:24 UTC
 * Note: The last modified time of this file was set to
 *       the last modified time of the source file after
 *       generation to assist with modification tracking.
 */
package org.apache.jsp;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import java.util.Date;

public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent {

  private static final javax.servlet.jsp.JspFactory _jspxFactory =
          javax.servlet.jsp.JspFactory.getDefaultFactory();

  private static java.util.Map _jspx_dependants;

  private javax.el.ExpressionFactory _el_expressionfactory;
  private org.apache.tomcat.InstanceManager _jsp_instancemanager;

  public java.util.Map getDependants() {
    return _jspx_dependants;
  }

  public void _jspInit() {
    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
    _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
  }

  public void _jspDestroy() {
  }

  public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
        throws java.io.IOException, javax.servlet.ServletException {

    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;


    try {
      response.setContentType("text/html; charset=US-ASCII");
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\n");
      out.write("\n");
      out.write("
\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("Index JSP Page\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("

Hi There

\n"); out.write("Current Time is: "); out.print(new Date()); out.write("

\n"); out.write("\n"); out.write("\n"); out.write("Request User-Agent: "); out.print(request.getHeader("User-Agent") ); out.write("

\n"); out.write("\n"); out.write('\n'); response.addCookie(new Cookie("Test","Value")); out.write('\n'); out.write('\n'); out.write("\n"); out.write("User init param value:"); out.print(config.getInitParameter("User") ); out.write("

\n"); out.write("\n"); out.write("\n"); out.write("User context param value:"); out.print(application.getInitParameter("User") ); out.write("

\n"); out.write("\n"); out.write("\n"); out.write("User Session ID:"); out.print(session.getId() ); out.write("

\n"); out.write("\n"); out.write('\n'); pageContext.setAttribute("Test", "Test Value"); out.write("\n"); out.write("PageContext attribute: {Name=\"Test\",Value=\""); out.print(pageContext.getAttribute("Test") ); out.write("\"}

\n"); out.write("\n"); out.write("\n"); out.write("Generated Servlet Name:"); out.print(page.getClass().getName() ); out.write("\n"); out.write("\n"); out.write("\n"); out.write("\n"); out.write(""); } catch (java.lang.Throwable t) { if (!(t instanceof javax.servlet.jsp.SkipPageException)){ out = _jspx_out; if (out != null && out.getBufferSize() != 0) try { out.clearBuffer(); } catch (java.io.IOException e) {} if (_jspx_page_context != null) _jspx_page_context.handlePageException(t); else throw new ServletException(t); } } finally { _jspxFactory.releasePageContext(_jspx_page_context); } } }

Это все для неявных объектов JSP, в будущих сообщениях вы увидите множество примеров, где они будут использоваться.