java jsp学习指南_JSP教程–最终指南

java jsp学习指南

编者注: JavaServer Pages(JSP)技术使您可以轻松创建同时包含静态和动态组件的Web内容。 JSP技术提供了Java Servlet技术的所有动态功能,但提供了一种更自然的方法来创建静态内容。

JSP技术的主要功能包括用于开发JSP页面的语言,该语言是描述如何处理请求和构造响应的基于文本的文档,用于访问服务器端对象的表达语言以及用于定义JSP语言扩展的机制。

这是一篇独立的参考文章,提供了有关如何使用JSP的框架,并帮助您快速启动自己的应用程序。 请享用!

1.简介

Java Server Pages(JSP)用于创建动态网页。 可以使用JSP标记将Java代码插入HTML页面。 这些标记用于从数据库中检索信息,在页面之间共享信息等。通常用于运行JSP页面的IDE是NetBeansIDE和EclipseIDE。

为什么JSP比Servlet更受青睐?

  • JSP提供了一种创建和管理动态网页的简便方法。
  • 它不需要其他文件,例如java类文件和web.xml
  • 由于JSP由Web容器处理以对其代码进行任何更新,因此不需要像servlet一样进行重新编译。
  • 可以直接访问JSP页面,而Servlet需要使用web.xml进行映射。

2.生命周期

JSP生命周期与Servlet生命周期相同,但有一个额外的步骤。 在此步骤中,将JSP编译到servlet中。 生命周期如下图所示:

image001

翻译

在第一阶段,Web容器将JSP文档转换为等效的Java代码。 此Java代码是一个Servlet。 转换由Web服务器自动完成,该Web服务器定位,验证正确性并为JSP页面编写servlet。

汇编

在此阶段,JSP容器编译Java源代码,以创建相应的servlet和生成的类文件。

加载和初始化

在第三阶段,JSP容器加载在前两个阶段中生成的servlet。 正确加载后,JSP容器将创建servlet类的实例。 在这里,它使用无参数构造函数。

现在,JSP容器通过调用init方法初始化实例化的对象。 这是由容器通过调用jspInit()方法实现的。

public void jspInit() {
  // Initialization code...
}

执行

在此步骤中,JSP引擎调用_jspService()方法。 该方法具有两个参数,即HttpServletRequest和HttpServletResponse,每个请求调用一次。 它还负责为该请求生成响应。

void _jspService(HttpServletRequest request, HttpServletResponse response)
{
}

毁灭

最后一步完成了生命周期。 在这种情况下,容器使用jspDestroy()方法删除了JSP。

public void jspDestroy()
{
   // any cleanup code
}

3.演示:首先

这是JSP使用的示例。 请遵循以下步骤,使用Eclipse IDE从第一个JSP应用程序开始。 使用的技术如下:

  • Java 1.8
  • Eclipse IDE:适用于Web开发人员的Eclipse Java EE IDE 4.4.1
  • JSP
  • Apache Tomcat 8

图1:让我们开始创建一个新的Dynamic Web Project:

创建一个新的动态Web项目

图2:将项目名称添加为RankWebApplication ,然后单击Next

image003

跳过此步骤以配置项目,然后单击下一步,因为我们专注于一个简单的演示项目。

图3:配置项目:

image004

图4:配置Web模块设置; 避免生成web.xml文件,因为此演示项目不需要该文件。

image005

单击完成后 ,将创建动态Web项目。 该项目的目录在“ Package Explorer”下的左面板上可见:

图5:项目目录结构:

图片006

右键单击WebContent目录,然后将新的JSP文件添加到项目中。

图6:现在,在动态Web项目中添加JSP文件:

image007

图7:从向导添加新的JSP文件:

image008

单击上面的Next之后,将新文件命名为NewRankFile.jsp并单击Next

图8:添加了NewRankFile.jsp:

image009

图9:设置JSP模板:

image010

单击上方的完成将创建新文件。 现在,在清单1中添加以下给定的代码,该代码显示板球队的排名。

清单1:NewRankFile.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>ICC Ranking</title>
</head>
<body>
<h1>ICC ODI Ranking</h1>
  <table>
    <tr>
       <th>Rank</th><th>Country</th>
    </tr>
    <tr>
       <td>1</td><td>Australia</td>
    </tr>
    <tr>
       <td>2</td><td>India</td>
    </tr>
    <tr>
       <td>3</td><td>South Africa</td>
    </tr>
  </table>
  <!--  JSP Expression is used here for getting system date -->
  <b>Note:</b> Website updated on: <%= (new java.util.Date()).toLocaleString()%>
  	
</body>
</html>

右键单击并选择Run As运行项目。

图10:从选项中单击在服务器上运行

image011

选择“在服务器上运行”,然后在EclipseIDE中运行第一个项目时, 手动定义新服务器“ Tomcat” 。 选中“在运行该项目时始终使用此服务器”,以避免重复此选择:

图11:选择服务器:

image012

在这里,输出显示使用JSP表达式生成的ICC排名和网站更新时间。 输出链接:http:// localhost:8080 / RankWebApplication / NewRankFile.jsp

图12:显示ICC ODI排名和网站更新时间的输出:

image013

4.指令

指令标签用于提供在JSP生命周期的翻译阶段使用的指导和说明。

句法

<%@ directive attribute="value" %>

这里的指令可以具有许多属性。

种类

图13:指令标记的类型:

image014

4.2.1。 页面指​​令

页面指​​令标记提供了在JSP生命周期的转换阶段翻译人员使用的指令。 它可以包含在任何位置,但是根据惯例,它被认为是一种在顶部包含它的良好编程风格。 语法如下:

<%@page attribute ="value" %>

XML等效项如下所示:

<jsp:directive.page attribute="value" />

让我们以在页面顶部包含属性导入的示例为例。

<%@ page import="java.util.Date" %>

页面指​​令标记中使用的属性如下:

属性
自动冲洗 它有两个值– true和false,默认值为true。 它指定在缓冲区已满时是否自动刷新输出。
缓冲 它以缓冲区大小(以千字节为单位)指定缓冲模型。
内容类型 它指定字符编码方案,默认为text / html。
延伸 它采用由Servlet等效类扩展的合格类名。
errorPage 它指定另一个页面的URL路径,将请求发送到该页面以处理当前JSP页面引发的运行时异常。
进口 该值是用逗号分隔的Java类列表,
信息 它指定可由getServletInfo()方法访问的字符串。
isErrorPage 它指定当前页面是否是具有两个值true和false的错误页面。 默认值为false。
pageEncoding 它指定编码类型。
4.2.2包含指令

在JSP生命周期的转换阶段使用此标记来包含文件。 它合并了另外两个文件的内容。 包含指令可以包含在页面中的任何位置。 语法如下:

<%@ include file="path/url" >

让我们以文件newFile.jsp为例,该文件可以放在需要的地方。

<%@ include file="newFile.jsp" %>
4.2.3标签库

它用于在JSP页面中定义定制标记库。 这样做是为了使相关标签可以在同一页面中使用。 语法如下:

<%@ taglib uri="URI" prefix="TagPrefix" %>

5.脚本标记

JSP脚本标记允许将脚本代码添加到生成的JSP页面的Java代码中。 该页面由JSP转换器生成。

种类

三种类型的Scriptlet标签或Scriptlet元素如下所示:

5.1.1。 脚本标签

Scriptlet标记通过编写脚本/ Java代码来实现_jspService方法功能。 它用于在JSP页面中编写Java代码。 语法如下:

<% Java code %>

等效的XML:

script code

示例如下:

<% out.println(value); %>
5.1.2。 声明性标签

声明标签被用来声明类变量和实现类方法jspIntjspDestroy。 语法如下:

<%!
   Declaration 
%>

等效的XML:

<jsp:declaration>
     script code
</jsp:declaration>

示例如下:

<%!
   int value = 25;
%>
5.1.3。 表达标签

Expression Tag用于编写Java表达式。 切勿在表达式标记内使用分号(;)结束表达式。 语法如下:

<%= Java Expression %>

等效的XML:

<jsp:expression>
     script code
</jsp:expression>

示例如下:

<%= --value %>
<%= (3*9) %>

这是显示三种脚本标记类型的示例。 请遵循“演示”部分中给出的步骤,以便在EclipseIDE中创建一个项目。 使用的技术是相同的。

让我们从在Eclipse IDE中创建Dynamic Web Project ExampleApplication开始:

图14:创建示例应用程序:

image015

图15:创建exampleCalculation.jsp:

image016

清单2:example.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Scriptlet Tag Example</title>
</head>
<h1>Example to print k iterations</h1>
  <%!
       int k;
   %>
  <body>
  <%
         for(k=1;k<=10;++k) {
           out.println(k);
         }
%>
<br>
<%
  out.println("The value of --k is:");
  %>
  <%= --k %>
  <br>
  Updated on: <%= (new java.util.Date()).toLocaleString() %>
</body>
</html>

图16:输出打印k次迭代和网站更新日期:

image017

6.表达语言

一种使JSP开发人员能够访问存储在JavaBeans组件中的应用程序数据的语言。 它是在JSP2.0中引入的

EL表达式包含在“ $”和“}”字符之间。

经营者

6.1.1。 算术运算符

这些算术运算符可用于EL表达式:_,-,/,*,%

6.1.2。 关系运算符

EL表达式中使用的关系运算符可用以下给定符号和短文本形式表示:

经营者 短文本形式 内容描述
> gt 比...更棒 $ {150> 5}
< lt 少于 $ {15 <65}
> = ge 大于等于 $ {20> = 20}
<= 小于等于 $ {15 <= 15}
== 当量 等于 $ {5 == 5}
!= NE 不等于 $ {15!= 65}
6.1.3。 逻辑运算符

逻辑运算符是&&(AND运算符),|| (或运算符)和! (非运营商)

隐式对象

隐式对象可以直接在EL表达式中使用。 用户可以使用这些对象从不同的作用域和参数值获取属性。 下面给出一些隐式对象的类型:

目的 描述
pageContext 它操纵页面属性。
pageScope 它将页面范围的属性名称映射到它们的值。
requestScope 它将请求范围的属性名称映射到它们的值。
sessionScope 它将会话范围的属性名称映射到它们的值。
应用范围 它将应用程序范围的属性名称映射到它们的值。
参数 它将参数名称映射到单个String参数值。
参数值 它将参数名称映射到String []。
标头 它将标头名称映射到单个String标头值。
headerValues 它将标头名称映射到String []。
6.2.1。

这是显示隐式对象参数的示例。 请按照“演示”部分中给出的步骤在EclipseIDE中创建项目。 使用的技术是相同的。

让我们从在Eclipse IDE中创建动态Web项目UserApplication开始:

图17:创建UserApplication

image018

图18:创建新的jsp文件home.jsp

图18

清单3:home.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Welcome</title>
</head>
<body>
<h1>Fill the form given below:</h1>
<form method="post" action="success.jsp">
User : <input type="text" name="userName"><br>
Email: <input type="email" name="emailID">
<input type="submit" value="submit">
</form>

</body>
</html>

图19:创建新的jsp文件success.jsp

image016

清单4:success.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Email Successfully sent</title>
</head>
<body>
<h1>Success</h1>
<br>
<p>Hi ${param.userName}, thanks for giving the details.</p>
<p>Your unique password has been sent to you on <b>${param.emailID}</b></p>
</body>
</html>

现在,我们将在EclipseIDE中运行UserApplication 。 本地主机地址为:http:// localhost:8080 / UserApplication / home.jsp

图20:运行应用程序后的home.jsp

image019

在这里,您可以添加自己的电子邮件。 我已经考虑过电子邮件,demo @ email.com

图21:添加用户名和电子邮件:

image020

图22:单击“提交”按钮后,输出显示在此处:

image021

7.异常处理

介绍

异常是程序的正常执行流程中的异常/不可预见的情况。 这些异常可能是由于无效输入,访问磁盘上不可用的文件等导致的。

在运行时处理这些异常称为异常处理。 用户在JSP代码中可能会遇到以下类型的错误:

7.1.1。 失误

这些是用户无法控制的问题。 例如,堆栈溢出将导致错误。

7.1.2。 检查异常

这些是编译时不能忽略的异常,被视为用户错误。 例如,IOException

7.1.3。 运行时异常/未经检查的异常

在运行时可以忽略这些异常。 例如,NullPointerException

方法

这是Throwable类中可用的重要方法的列表。 您可以从oracle官方文档中参考完整列表。

方法 描述
公共Throwable getCause() 返回此throwable的原因。 如果原因未知,则返回null。
公共字符串getMessage() 返回此throwable的消息字符串。
公共字符串toString() 返回对此throwable的描述。
公共无效printStackTrace() 它打印堆栈跟踪。
公共Throwable fillInStackTrace() 它填充了执行堆栈跟踪。

ErrorPage和isErrorPage

页面指​​令的ErrorPage属性用于设置错误页面。 为此,请使用以下给定的指令。 任何jsp页面都可以设置为错误页面,这里是“ DisplayError.jsp ”:

<%@ page errorPage="DisplayError.jsp" %>

isErrorPage属性用于通过包含以下指令来生成异常实例变量。 您还必须编写DisplayError.jsp:

<%@ page DisplayError="true">
7.3.1。

这是显示上面讨论的两个指令的用法的示例。 请按照“演示”部分中给出的步骤在EclipseIDE中创建项目。 使用的技术是相同的。

让我们从在Eclipse IDE中创建动态Web项目ErrorHandlingApplication开始:

图23:创建ErrorHandlingApplication:

image022

图24:创建jsp文件conditionChecker.jsp:

image023

在这里,将errorPage设置为DisplayError.jsp:

清单5:conditionChecker.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page errorPage="DisplayError.jsp" %>

<html>
<head>
   <title>Error Handling Example</title>
</head>
<body>
<%
   // Throw an exception to invoke the error page
   int s = 10;
   if (s < 5) {
      out.println("Bingo!!well done!! You're right");
   }
   else {
	  throw new RuntimeException("Error found - "); 
   }
%>
</body>
</html>

图25:创建错误文件DisplayError.jsp:

image024

在这里,属性isErrorPage设置为true:

清单6:DisplayError.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page isErrorPage="true" %>
<html>
<head>
<title>Error Page</title>
</head>
<body>
<h1>Sorry :Error occurred</h1>
<b>Stack trace:</b>
<pre>
<% exception.printStackTrace(response.getWriter()); %>
</pre>
</body>
</html>

在web.xml中

<Error-page>可以包含在部署描述符中,即web.xml。 通过此功能,用户还可以为不同的异常类型甚至HTTP错误代码配置不同的错误页面。

当出现状态码为404的错误时,将调用jsp文件anyErrorPage.jsp,如下所示:

清单7:错误代码404

<error-page>
  <error-code>404</error-code>
  <location>/anyErrorPage.jsp</location>
</error-page>

如果应用程序引发IOException,则将调用anyErrorPage.jsp:

清单8:对于Exception-TypeIOException

<error-page>
  <exception-type>java.io.IOException</exception-type >
  <location>/HandlerClass</location>
</error-page>

如果要避免添加单独的元素的开销,请使用java.lang.Throwable作为异常类型:

清单9:对于所有异常,请提及java.lang.Throwable:

<error-page>
  <exception-type>java.lang.Throwable</exception-type >
  <location>/HandlerClass</location>
</error-page>

8.国际化

Web应用程序被全世界的人们访问; 这引起了国际化的需求。 国际化使Web应用程序可以在不同的国家和地区工作,而无需进行更改和重新编译代码。

区域设置类

国际Java应用程序使用java.util.Locale类。 语言环境定义语言和地理区域。

8.1.1。 语言环境类的构造函数

它具有三个构造函数,可通过这些构造函数构造一个语言环境对象:

建设者 描述
语言环境(字符串lang) 它使用语言代码构造一个Locale对象
语言环境(字符串lang,字符串国家/地区) 它使用语言代码和国家/地区代码构造一个Locale对象。
语言环境(字符串lang,字符串国家/地区,字符串变体) 它使用语言代码,国家/地区代码和变体构造一个Locale对象。

这是国际化的一个例子。 请按照“演示”部分中给出的步骤在EclipseIDE中创建项目。 使用的技术是相同的。

让我们开始在Eclipse IDE中创建Dynamic Web Project LocaleApplication。

图26:动态Web项目LocaleApplication

image025

图27:创建新的jsp文件LocaleFile.jsp

image026

清单10:LocaleFile.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="java.io.*,java.util.Locale" %>
<%@ page import="javax.servlet.*,javax.servlet.http.* "%>
<%
   // get the user's Locale
   Locale userLocale = request.getLocale();
   String userCountry = userLocale.getCountry();
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Finding the Locale of user</title>
</head>
<body>
<% 
   out.println("Your Country  : " + userCountry);
%>

</body>
</html>

图28:输出如http:// localhost:8080 / LocaleApplication / LocaleFile.jsp所示

image027

9.会议

会话是客户端和服务器之间的HTTP请求的集合。 这3种方式用于维护服务器和客户端之间的会话,即cookie,URL重写和隐藏的表单字段。 JSP还利用servlet提供的HttpSession接口。 下面列出了一些方法及其说明:

方法

会话对象中的一些重要方法:

方法 描述
公共对象getAttribute(字符串名称)

返回在此会话中绑定了指定名称的对象,如果该名称下未绑定任何对象,则返回null。

公共字符串getId() 返回一个字符串,其中包含分配给该会话的唯一标识符。
公共长getLastAccessedTime() 返回客户最后一次发送与此会话相关的请求的时间,以格林尼治标准时间1970年1月1日午夜以来的毫秒数为单位。
公共无效invalidate() 使该会话无效,并取消绑定到该会话的任何对象。
公共无效removeAttribute(字符串名称) 从此会话中删除与指定名称绑定的对象。
公共无效setAttribute(字符串名称,对象值) 使用指定的名称将对象绑定到该会话。
公共无效setMaxInactiveInterval(int间隔) 指定客户端请求之间的时间间隔(以秒为单位),该时间间隔表示servlet容器使该会话无效。

这是jsp中会话处理的示例。 请按照“演示”部分中给出的步骤在EclipseIDE中创建项目。 使用的技术是相同的。

使用jsp文件SessionHandling.jsp创建项目“ SessionApplication”

清单11:SessionHandling.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@ page import="java.io.*,java.util.*" %>
<%
   // creation time of session
   Date create = new Date(session.getCreationTime());

   Integer visitCount = new Integer(0);
   String key = new String("visitCount");
   
   // for new visitor
   if (session.isNew()){
      session.setAttribute(key, visitCount);
   } 
   visitCount = (Integer)session.getAttribute(key);
   visitCount = visitCount + 1;
   session.setAttribute(key,  visitCount);
%>
<html>
<head>
<title>Session Tracking</title>
</head>
<body>
<h1>Session Tracking</h1>
<table border="1"> 
<tr>
   <th>Session Information</th>
   <th>Value</th>
</tr> 
<tr>
   <td>id</td>
   <td><% out.print(session.getId()); %></td>
</tr> 
<tr>
   <td>Creation Time</td>
   <td><% out.print(create); %></td>
</tr> 

<tr>
   <td>Number of visits</td>
   <td><% out.print(visitCount); %></td>
</tr> 
</table> 
</body>
</html>

图29:显示会话信息的输出– visit1:

image028

图30:显示会话信息的输出– visit2:

image028

图31:显示会话信息的输出– visit3:

image029

10. JavaBean

JavaBeans是用Java编写的Java类,用于开发动态内容。 它将业务逻辑与表示逻辑分开。

表示代码和业务逻辑可以分开管理。 JavaBeans还确保它们之间的通信。

JavaBean属性

JavaBean属性是一个命名属性,可以是任何数据类型。 可以通过以下给定方法访问这些属性:

  • setPropertyName():仅写属性将仅具有setPropertyName()方法。
  • getPropertyName():只读属性将具有getPropertyName()方法。

useBean标签

<jsp:useBean>语法为:

<jsp:useBean attributes>
      <!--  content -->
</jsp:useBean>

属性如下:

标签的属性

10.3.1。 ID

这表示分配给的id属性的变量名,用于定位现有的bean实例。

10.3.2。 范围

此属性表示Bean实例必须位于的范围。 范围在下面列出,此处默认为页面范围:

  • 页面范围
  • 请求范围
  • 会话范围
  • 适用范围
10.3.3。

它是用于创建bean实例的类名,但该类不应是抽象类。

10.3.4。 bean名称

它采用合格的类名称或表达式。

10.3.5。 类型

它采用合格的类名或接口。

这是jsp中bean处理的示例,其中包括用于bean创建和访问的代码段。

10.4.1。 豆类创作

清单12:EmployeeClass.java

在这里,EmployeeClass显示了Bean的创建,该Bean具有一些用于员工姓名和工作点的属性。

import java.io.Serializable;

public class EmployeeClass implements Serializable
{
   private int points = 0;
   private String name = null;
    
   public EmployeeClass() {
   }
   public String getName(){
      return name;
   }
   public int getPoints(){
      return points;
   }
   public void setName(String firstName){
      this.name = name;
   }
   public void setPoints(Integer points){
      this.points = points;
   }
}
10.4.2。 访问豆

action用于访问get方法,而action用于访问set方法。 这些可以与动作配合使用。

清单13:BeansApplication.jsp

一个示例,说明如何访问JavaBeans属性。

<html>
<head>
<title>Employee Work Report</title>
</head>
<body>

<!-- setProperty -->
<!-- name attribute under setProperty references the id of beans in useBean action -->
<jsp:useBean id="emp" class="com.new.EmployeeClass"> 
   <jsp:setProperty name="emp" property="name" value="Mahendra"/>
   <jsp:setProperty name="emp" property="points" value="50"/>
</jsp:useBean>

<!-- getProperty -->
<!-- name attribute under getProperty references the id of beans in useBean action -->
<p>Name of the Employee: 
<jsp:getProperty name="emp" property="name"/>
</p>
<p>Work Performance Points: 
<jsp:getProperty name="emp" property="points"/>
</p>

</body>
</html>

清单13:显示bean实现的输出

Name of the Employee: Mahendra
Work Performance Points: 50

11.请求和响应对象

请求

Web浏览器请求Web页将信息发送到Web服务器。 该头信息包括以下内容:

接受 接受字符集
接受编码 接受语言
授权书 连接
内容长度 曲奇饼
主办 用户代理

HttpServletRequest

它是javax.servlet.http.HttpServletRequest对象的实例。 这些方法可用于HttpServletRequest对象,并用于在JSP程序中获取HTTP标头信息。 下面给出其中一些描述:

方法 描述
Cookie [] getCookies() 返回一个包含客户端与此请求发送的所有Cookie对象的数组。

枚举getHeaderNames() 返回此请求包含的所有标头名称的枚举。

枚举getParameterNames() 返回包含此请求中包含的参数名称的String对象的Enumeration。

对象getAttribute(字符串名称) 将命名属性的值作为Object返回;如果不存在给定名称的属性,则返回null。

字符串getCharacterEncoding() 返回此请求正文中使用的字符编码的名称。

字符串getMethod() 返回发出此请求的HTTP方法的名称,例如GET,POST或PUT。

字符串getPathInfo() 返回与客户端发出此请求时发送的URL关联的所有其他路径信息。

字符串getQueryString() 返回路径后面的请求URL中包含的查询字符串。

字符串getRemoteAddr() 返回发送请求的客户端的Internet协议(IP)地址。

字符串getRequestedSessionId() 返回客户端指定的会话ID。

HttpServletResponse

它是javax.servlet.http.HttpServletResponse对象的实例。 这些方法可用于HttpServletResponse对象,并用于在Servlet程序中设置HTTP响应标头。

方法 描述
布尔containsHeader(字符串名称) 通过在其中包含会话ID对指定的URL进行编码,或者,如果不需要编码,则返回不变的URL。

布尔containsHeader(字符串名称) 返回一个布尔值,指示是否已设置命名响应头。

无效addCookie(Cookie cookie) 将指定的cookie添加到响应中。

void addHeader(字符串名称,字符串值) 添加具有给定名称和值的响应头。

void setContentLength(int len) 设置响应中内容主体的长度在HTTP servlet中,此方法设置HTTP Content-Length标头。

void setContentType(String type) 如果尚未提交响应,则设置发送给客户端的响应的内容类型。

void setHeader(字符串名称,字符串值) 使用给定的名称和值设置响应头。

setLocale(Locale loc)无效 设置响应的语言环境(如果尚未提交响应)。

setIntHeader(字符串名称,整数值) 用给定的名称和整数值设置响应头。

12.参考

网站

  • 首要的Servlet和JSP:通过Sun认证的Web组件开发人员考试,作者Bryan Basham,Kathy Sierra和Bert Bates
  • Jdbc,Servlet和Jsp黑皮书,新版平装本-2008,Santosh Kumar

13.总结

Java Server Pages(JSP)用于创建动态网页。 通过本指南,您可以轻松学习与JSP相关的概念。 项目代码是在EclipseIDE下开发的,因此您还将对它的一些惊人的用户友好功能有所了解。

14.下载

这是有关JavaServer Pages(JSP)的教程。

下载
您可以在这里下载本教程的完整源代码: jsp_tutorial

翻译自: https://www.javacodegeeks.com/2015/06/jsp-tutorial.html

java jsp学习指南

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值