📜  JSP |隐式对象——请求和响应

📅  最后修改于: 2022-05-13 01:55:07.282000             🧑  作者: Mango

JSP |隐式对象——请求和响应

必备: JSP 简介
JSP 代表Java Server Pages,它是一种服务器端技术。它用于创建 Web 应用程序和动态 Web 内容。 JSP 的主要属性是我们可以使用 JSP 标签将我们的Java代码插入到我们的 HTML 页面中。 JSP 为您提供与平台无关的页面。

html
<%@ page language = "java" contentType = "text/html; charset = UTF-8"
    pageEncoding = "UTF-8"%>




Insert title here


 

 
<% Geeks saying hello to JSP %>



html

 



Insert title here


   
 


html
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


<%  
String name=request.getParameter("username"); 
out.print("Welcome "+ name); 
%>   



html




GeeksforGeeks


<%  
//below line in JSP redirect you to geeksforgeeks page
response.sendRedirect("geeksforgeeks.org");
%>



隐式对象是 JSP 容器在每个页面上向开发人员提供的一组Java对象。这些对象可以通过脚本元素作为内置变量访问,也可以通过 JavaBeans 和 Servlets 以编程方式访问。JSP 为您提供总共 9 个隐式对象,如下所示

  1. request :这是与请求关联的HttpServletRequest类的对象。
  2. response :这是与对客户端的响应相关联的HttpServletResponse类的对象。
  3. config :这是与页面关联的ServletConfig类的对象。
  4. application :这是与应用程序上下文关联的ServletContext类的对象。
  5. session :这是与请求关联的HttpSession类的对象。
  6. 页面上下文:这是PageContext类的对象,它封装了服务器特定功能的使用。此对象可用于查找、获取或删除属性。
  7. page object :我们使用关键字this表示当前对象的方式,page object 用于引用当前翻译的 servlet 类。
  8. exception :异常对象表示由相应 jsp 访问的所有错误和异常。异常隐式对象的类型为Java.lang.Throwable
  9. out:这是PrintWriter对象,其中 print 和 println 等方法有助于向客户端显示内容。

在本文中,讨论了请求和响应这两个主要对象

请求对象
JSP 请求是由 HttpServletRequest 提供的隐式对象。在 servlet 中,我们必须首先导入 javax.servlet.http.HttpServletRequest 然后我们必须创建它的对象,以便从任何 HTML 表单中获取输入。
句法 :

import javax.servlet.http.HttpServletRequest;

public class LoginServlet extends HttpServlet 
{  
    protected void doPost(HttpServletRequest request, HttpServletResponse response)  
                    throws ServletException, IOException 
          { 
              HttpSession session = request.getSession()
          }
}

在 JSP 中,请求对象是隐式定义的,因此您不必创建对象。 JSP 请求对象由 Web 容器为客户端的每个请求创建。用于获取参数值、服务器名称、服务器端口等。
在下面的示例中,我们使用请求对象来显示用户名。

html


 



Insert title here


   
 

输出

响应对象

这是与对客户端的响应相关联的 HttpServletResponse 对象。响应对象还定义了处理创建新 HTTP 标头的接口。通过这个对象,JSP 程序员可以添加新的 cookie 或日期戳、HTTP 状态代码等。

html

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


<%  
String name=request.getParameter("username"); 
out.print("Welcome "+ name); 
%>   


输出

在 JSP 中,响应对象是隐式定义的,因此您不必创建对象。 JSP 响应对象由 Web 容器为客户端的每个请求创建。它基本上用于重定向到任何其他资源。
在下面的示例中,我们使用响应对象在 Geeksforgeeks 主页上发送用户。

html





GeeksforGeeks


<%  
//below line in JSP redirect you to geeksforgeeks page
response.sendRedirect("geeksforgeeks.org");
%>


输出

JSP 相对于 servlet 的优势:

  • Servlet 比 JSP 更难编码。换句话说,我们可以说,JSP 是 Servlet 的替代品。
  • 在 Servlet 中,静态代码和动态代码放在一起。在 JSP 中,它们是分开的。
  • PrintWriter、ServletConfig、ServletContext、HttpSession、RequestDispatcher等对象由程序员在Servlets中创建。但是在 JSP 中,它们是内置的,被称为隐式对象。

坏处 :

  • JSP 页面需要更多内存来保存页面。
  • 输出是 HTML 格式,对于观众来说并不丰富。